I agree with your sentiments here, basically. The problem is, the number of
things done to a build cannot always decrease. If you need to generate code,
compile it, and then use that code to generate and compile more, well, you
cannot avoid the fact that 4 steps are involved. At this point it becomes a
question of what is the easiest way to represent these steps into an easily
understandable sequence? (Or even a sequence at all, because that particular
case sounds more like a graph).

To me, I'd rather see the steps labeled into descreet units (ala
consolidated goal or inter-phase-ordering) to give a clearer big-picture
view. For example:

generate-resources:
1. generate ANLTR
2. compile grammer
3. generate java code from it
compile:
1. compile java code

Or in graph form?
generate-resources:
  generate ANLTR
compile:
  compile grammer
generate-resources:
  generate java code from it
compile:
  compile java code

Rather than:
generate-resources (pre):
  generate ANLTR
generate-resources:
  compile grammer
generate-resources (post):
  generate java code from it
compile:
  compile java code



On 2/17/06, Jesse McConnell <[EMAIL PROTECTED]> wrote:
>
> I really wonder about adding in more complexity into the pom with things
> like ordering...
>
> one of the attractions of maven imo is that it facilitates making the
> build
> a simple thing, small easily digestable chunks of build process,
> leveraging
> the dependency mechanism to weave it all together.  Adding in more phases,
> or ordering within a phase just makes the pom get more and more complex
> which (in my mind) defeats one of the goals of maven...
>
> sure it is technically possible to glom as much as you can into a pom, but
> understandability goes down quickly and we are left with a process that
> isn't a scads better then the others, like maven is right now IMO. :)
>
> I understand people are really used to combining as much as they can into
> one building entity, but it that going to be our best practice?
>
> jesse
>
>
> On 2/17/06, John Casey <[EMAIL PROTECTED]> wrote:
> >
> > IMO a consolidation goal is another workaround. It's definitely possible
> > now, but if we had phase-ordering, we wouldn't need it, right?
> >
> > -j
> >
> > Eric Redmond wrote:
> > > +0 to the pre/post phase. As it has been mentioned a million times
> > before,
> > > what's the difference between the post of one phase, and the pre of
> the
> > > next.
> > >
> > > However, I am seeing a need for more than a single execution per
> stage.
> > I
> > > like John's suggesting alot. It makes sense. Within a particular
> phase,
> > I
> > > have a list of goals that need met. With the pre/post thing, it is
> > > effectively saying "You can have at most three goals met per phase".
> > Another
> > > option is to have some sort of consolidation goal that would then be
> > called
> > > on a phase, whose definition is an ordered list of goals, I kind of
> like
> > > this better, as it will keep the syntax cleaner, and honestly, how
> often
> > do
> > > you need to cram multiple goals into a phase? One or two at most?
> > >
> > > Eric
> > >
> > > On 2/17/06, John Casey <[EMAIL PROTECTED]> wrote:
> > >> I understand that this is sort of a slippery slope WRT when we stop
> > >> adding new phases. While there are major categories for the phases of
> a
> > >> build, things like the following could occur:
> > >>
> > >> I generate a model using Modello, and would like to use my own custom
> > >> Antlr grammar to create instances of that model.
> > >>
> > >> Both should fit in generate-sources, but there's a definite order
> here.
> > >> Maybe the solution is to split the project in two, one -model, and
> > >> another -parser or something. Still, it seems like we're putting a
> > >> band-aid on the problem by adding more phases. Would it be better to
> > add
> > >>   control over ordering within a phase? How would that even look in
> > >> syntax?
> > >>
> > >> What do you all think?
> > >>
> > >> -j
> > >>
> > >> John Casey wrote:
> > >>> Hi,
> > >>>
> > >>> I'd like to add pre/post phases for all of the major lifecycle
> phases
> > >>> that don't already have it. I'm starting to see cases where a
> > particular
> > >>> packaging maps multiple mojos to the same lifecycle phase, and this
> > >>> means we cannot control that phase through the old
> > suppress-and-augment
> > >>> approach anymore. I'll give you an example:
> > >>>
> > >>> Say I have two mojos bound to the package phase, for lack of a
> better
> > >>> place. The first takes the tested code, and assembles the directory
> > >>> structure for the archive. The second creates the archive. If I want
> > to
> > >>> replace the first step, I can add a 'skip' flag to it, but I
> *cannot*
> > >>> bind a new mojo in its place; any new binding will be added after
> the
> > >>> second step. Obviously, it makes no sense to prepare an archive
> > >>> directory structure *after* the archive is created.
> > >>>
> > >>> This is not the first time we've discussed this sort of thing. We
> have
> > >>> pre/post phases for setup and tear-down of integration tests, and
> > should
> > >>> probably have something similar for unit tests...not to mention,
> > >>> install, deploy...
> > >>>
> > >>> It doesn't seem like a good idea to continue addressing this problem
> > an
> > >>> issue at a time in successive Maven releases. Why not make a
> > reasonable
> > >>> concession to these use cases, and add pre/post phases to each major
> > >>> lifecycle phase (those which are themselves pre/post phases are not
> > what
> > >>> I consider major).
> > >>>
> > >>> I'd like to get this into 2.0.3, since it affects some work I'm
> doing
> > >>> for a client.
> > >>>
> > >>> What do you all think?
> > >>>
> > >>> -john
> > >>>
> > >>>
> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >>> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>>
> > >>>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> jesse mcconnell
> jesseDOTmcconnellATgmailDOTcom
>
>

Reply via email to