On 9 fev, 02:13, Brendan Kenny <bcke...@gmail.com> wrote:
> On Feb 8, 10:04 pm, Brendan Kenny <bcke...@gmail.com> wrote:
>
>
>
>
>
> > On Feb 8, 6:34 pm, Luiz Mineo <luiz.mi...@gmail.com> wrote:
>
> > > On 8 fev, 13:23, John Tamplin <j...@google.com> wrote:
> > > > On Mon, Feb 8, 2010 at 6:04 AM, Luiz Mineo <luiz.mi...@gmail.com> wrote:
> > > > > I'm dedicating some of my time to develop a small framework, to help
> > > > > me create and maintain big GWT apps. I'm already doing some really
> > > > > useful things with generators, but one of my objectives is offer the
> > > > > option to create a lot of modules, without the need to maintain a lot
> > > > > of *.gwt.xml files, and let the developer choose what modules will go
> > > > > to the final build, and what won't. For now, I'm trying to achieve
> > > > > this with an standalone app that is executed before the compiler or
> > > > > devmode, but I'm looking for a better solution.
>
> > > > > Is there any way to create or alter a module (like adding new source
> > > > > paths) during compile time, using something like generators? Also, is
> > > > > it possible to retrieve informations about the current module (name,
> > > > > path...) in a generator? From what I could get from the GWT source,
> > > > > it's not possible, but any idea would be appreciated =]
>
> > > > It is not possible currently to modify or create modules, and there is 
> > > > no
> > > > API for accessing module-level info from a generator.  As a 
> > > > philosophical
> > > > point, we want to keep the generator API constrained so that we can make
> > > > improvements to it -- for example, we are looking at adding generator
> > > > dependency checking so generators can avoid being run if nothing they 
> > > > depend
> > > > on has changed.
>
> > > > What exactly would be accomplished by having a generator create a new
> > > > module?  The programmer will still have to specify to include it, and 
> > > > that
> > > > might as well be in a module file with inherits.  The generator can then
> > > > create whatever types it needs based on generate-with rules in that 
> > > > module.
>
> > > > --
> > > > John A. Tamplin
> > > > Software Engineer (GWT), Google
>
> > > Thanks a lot for the answers.
>
> > > My idea is create a framework that improves the reusability of code
> > > between GWT apps. Each app will be made up by several small modules,
> > > wich will be able to be shared. There will be basically three kinds of
> > > modules: Controllers, Presenters and Definitions (the public
> > > interfaces implemented by the other two modules). The dependencies and
> > > communication between modules will be specified with annotations, and
> > > the framework will be responsible to control them.
>
> > > To avoid the need to maintain a *.gwt.xml for each module, I have
> > > looking for a way to let the programmer specify what modules will be
> > > included in the app with a single *.xml file. My current solution is:
> > > - The programmer writes a main *.xml file, that is a normal *.gwt.xml
> > > file plus some tags to specify what modules will be included
> > > - The programmer executes a simple java app (included in the
> > > framework) that copy the *.xml file to a new *.gwt.xml file, changing
> > > each module's tag to one or more <source path="..."/> tag. The app
> > > also generates other *.properties files, that will be consulted by
> > > generators during compile time. The final *.gwt.xml file is what will
> > > be read by the GWT compiler.
>
> > > So, what I'm looking for is a way to "plug" that program in the GWT
> > > compiler, but I have no idea of what would be the best way to do this.
>
> > Hi Luiz,
>
> > I've mucked around in ModuleDef, 
> > personally:http://code.google.com/p/google-web-toolkit/source/browse/trunk/dev/c...
> > but it won't really do what you seem to want to, and as John noted
> > above, a solution based on it will in all likelihood break (possibly
> > subtly) in the future.
>
> > If I'm correctly understanding what you're trying to do, just be aware
> > that there are other approaches. If you absolutely need a large set of
> > small modules, it seems like a module file + generator would function
> > as a full equivalent to a module created dynamically based on a set of
> > parameters (this is John's point too). If not, a more monolithic
> > module that contains a large group of generators seems like it would
> > function just as well--there's no penalty for unused code (well, at
> > runtime), definitely no penalty for unused generate-with statements,
> > and the GWT compiler is already optimized for this kind of use case.
>
> > It seems a little bit like you're trying to create a meta-object-
> > hierarchy via a build system, when that's already one of the big gains
> > of being able to use java and deferred binding in the first place. It
> > might in fact lead to development regressions, for instance in the
> > division of how a user would have to define a project: a bunch of
> > inherit (and whatever else) statements in the module file don't get
> > the multiple benefits of code completion/type checking that e.g.
> > annotations do...which already have built-in generator support.
>
> > However, all of that certainly doesn't mean that generators+linkers
> > can already meet all needs. And just because something shouldn't be
> > done doesn't mean it can't be done (you just have to fix if yourself
> > if it breaks). I'm happy to share what knowledge I have if you have
> > more questions.
>
> Actually, rereading your last post, have you looked into using 
> GIN?http://code.google.com/p/google-gin/
> It seems like what you're trying to accomplish is largely independent
> of module definitions and is more about smart dependency injection.

Hi Brendan,

Thanks for the explanation. Now I understand that the best way would
be using a single gwt module, and let the compiler try to discard the
unused code. There is no need for a framework's module to be a gwt's
module.

You are right about GIN too. I didn't know about this project, and it
really seems to be what I need.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to