[Gambas-devel] User components in Gambas 3

Ron_1st ronstk at ...124...
Wed Apr 21 11:54:52 CEST 2010


On Tuesday 20 April 2010, David Villalobos Cambronero wrote:
> 2010/4/20 Benoît Minisini <gambas at ...1...>
> 
> > Hi,
> >
> > I post this mail on both mailing-lists: please answer on the developer
> > mailing-list if possible, as this is related to the development version!
> >
> > I'm currently thinking about how user components should work in Gambas 3,
> > as I
> > dislike the way it was designed in Gambas 2.
> >
> > In Gambas 2, user components work the same way as normal components made
> > with
> > Gambas, except that they are symbolic located in the home directory that
> > point
> > at the real executables.
> >
> > That design lead to many problems: you can't make packages of user
> > components
> > easily, and if the real executable moves, the symbolic link is broken while
> > the IDE think the component is there.
> >
> > So, for Gambas 3, I propose a different design:
> >
> > - There are no "user" components anymore.
> >
> > - Instead, a project will be able to depend on other projects.
> >
> > - The list of associated projects will be defined in the IDE project option
> > dialog.
> >
> > - That list will be just a list of project *names*.
> >
> > - At design time, these project will be search inside one or more
> > directories
> > that will be defined as a IDE global option.
> >
> > - At run time, the associated projects will be searched by using the $PATH
> > environmental variable, as any other executables.
> >
> > Consequently:
> >
> > - The IDE global option will tell where you store the projects you want to
> > use
> > as components.
> >
> > - These projects will be packaged separately and installed like any other
> > Gambas projects.
> >
> > - They should have a special name, because they are not real executables,
> > but
> > some sort of "Gambas" libraries instead.
> >
> > - So the project executables should be in the $PATH. And so the main
> > project
> > will find them easily.
> >
> > - When creating the main project packages, it will be easy to add a
> > dependency
> > on the associated project packages.
> >
> > I need to find a good term for these "associated" projects. I'd like to
> > find
> > something different than "component".
> >
> > Even if internally the interpreter will use the same code to load them, I
> > want
> > the user to understand easily that they do not work the same way.
> >
> > Maybe "library" would be a good term...
> >
> > What do you think about the new design?
> >
> > --
> > Benoît Minisini
> >

why not use the /opt way?

/opt/gambas3/

/opt/gambas3/comp
/opt/gambas3/etc
/opt/gambas3/bin
/opt/gambas3/lib
/opt/gambas3/help
/opt/gambas3/share/project1
/opt/gambas3/share/project2
/opt/gambas3/tmp
/opt/gambas3/var
(just a example dir list)

this way it would/could be for everyone(distibution) the same.

Best regards,

Ron_1st

-- 




More information about the Devel mailing list