You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@multitask.com.au on 2003/01/26 15:31:37 UTC

[jelly] Re: Inheriting Dependencies

I'll test this and the reactor, as it means we can do away with:
1) The included entity in all project.xmls
2) The ant build-all file
 
and have an easy way to do things to all taglibs at once, e.g.
- Regen gump descriptor
- Regen ant build file
- Build jars etc
--
dIon Gillard, Multitask Consulting
Blog:      http://www.freeroller.net/page/dion/Weblog
Work:      http://www.multitask.com.au


Jason van Zyl <ja...@zenplex.com> wrote on 25/01/2003 02:09:55 AM:

> Hi,
> 
> As a result of splitting up the Jelly tag libraries the folks doing the
> split (Dion and others) discovered a need to share a set of common
> dependencies so as a result I've tentatively added the ability for a
> child to take it's parent's dependencies. The dependencies are the only
> place where this aggregation is happening as opposed to overriding
> inheritance.
> 
> For me I know this will help in situations that involve building a set
> of components. Currently in Plexus there is a build and test for each
> component. There are JARs that are required for the tests to run, and
> prior to this change I had to declare the test time JARs in each of the
> components. So now I can define them in the parent and everything works
> just fine.
> 
> This may bring up other problems during the copying of dependencies and
> I'm not sure what else, but it's in HEAD now so if it causes untold
> grief I'll back it out.
> 
> -- 
> jvz.
> 
> Jason van Zyl
> jason@zenplex.com
> http://tambora.zenplex.org
> 
> In short, man creates for himself a new religion of a rational
> and technical order to justify his work and to be justified in it.
> 
>   -- Jacques Ellul, The Technological Society
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:turbine-maven-user-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:turbine-maven-user-
> help@jakarta.apache.org>
> 

> ForwardSourceID:NT000A809E 

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [jelly] Re: Inheriting Dependencies

Posted by Morgan Delagrange <md...@yahoo.com>.
--- dion@multitask.com.au wrote:
> Morgan Delagrange <md...@yahoo.com> wrote on
> 27/01/2003 12:06:49 PM:
> 
> > 
> > --- dion@multitask.com.au wrote:
> > > Morgan Delagrange <md...@yahoo.com> wrote on
> > > 27/01/2003 04:35:21 AM:
> > > 
> > > > I don't think Maven is a replacement for the
> > > build-all
> > > > script when it comes to thorough regression
> > > testing. 
> > > > The build-all script is much closer to the
> GUMP
> > > > environment, so it's a good script to check
> when
> > > Maven
> > > > is building fine but GUMP is puking. 
> Especially
> > > > problematic is the fact that Maven uses Jelly
> > > > internally; I'm not sure the classpath
> isolation
> > > is
> > > > all there yet.  Also, the build-all script is
> set
> > > up
> > > 
> > > This can be solved by using jar:install-snapshot
> in
> > > the builds and 
> > > building Jelly core first. After the jelly
> build,
> > > copying the jelly 
> > > snapshot to $MAVEN_HOME/lib will force the
> latest
> > > version.
> > > 
> > 
> > Not entirely.  Many of the tags have
> interdependencies
> > on one another (some build time, some test time),
> and
> > unless you're very careful about your build order,
> > Maven will cheat and use the repo veresion.  Also,
> 
> I've changed the tags-build goal in my copy of
> project.xml to use 
> jar:install-snapshot.
> 
> That means that as a tag lib gets built by the
> reactor, it gets copied to 
> the repo.
> 
> The reactor builds them in dependency order, so
> thats working fine.

Automagically, huh?  That's kinda cool.  If you keep
educating me, maybe there's hope for Maven and I after
all.

> The only issue I've found is if the SNAPSHOT is used
> by maven and there's 
> a copy in MAVEN_HOME/lib. That's jelly core and a
> couple of taglibs. And I 
> think I could work a way around that one too as part
> of install-snapshot 
> (copy to /lib).

Ewww....

> > once the 1.0 release happens, many if not all of
> the
> > tags will point to Jelly 1.0, so you won't be able
> to
> > do the install-snapshot trick anymore to build
> against
> > HEAD.
> 
> You're gonna stop me editing the files?
> 
> :)

Go for it!  My thirty-some project.xml are going to
stay nice and pristine.

The Maven scripts have some nice featueres, but I
don't think they're a replacement for the Ant scripts
yet.  Replicating GUMP errors is cake with the Ant
script; you just grab the nightly ant build, replace
the jars in the target/lib directory with the
nightlies, and voila.  No editing scripts, no
directory surfing, no tracking down duplicates in the
Maven lib.  I'm not saying I don't use Maven for Jelly
builds sometimes, but I think the Ant scripts have
their own conveniences.

- Morgan

P.S. Thanks for fixing those problems with test tags
that were still throwing exceptions.  Both Ant and
Maven were ignoring the signature of the Tag class,
but as soon as I switched back to JDK 1.3.1 the
problem went away for both.  Go figure.  I'm weeding
out some more of those bad test tags now.

> --
> dIon Gillard, Multitask Consulting
> Blog:     
> http://www.freeroller.net/page/dion/Weblog
> Work:      http://www.multitask.com.au
> 
> 
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> 


=====
Morgan Delagrange
http://jakarta.apache.org/taglibs
http://jakarta.apache.org/commons
http://axion.tigris.org
http://jakarta.apache.org/watchdog

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [jelly] Re: Inheriting Dependencies

Posted by di...@multitask.com.au.
Morgan Delagrange <md...@yahoo.com> wrote on 27/01/2003 12:06:49 PM:

> 
> --- dion@multitask.com.au wrote:
> > Morgan Delagrange <md...@yahoo.com> wrote on
> > 27/01/2003 04:35:21 AM:
> > 
> > > I don't think Maven is a replacement for the
> > build-all
> > > script when it comes to thorough regression
> > testing. 
> > > The build-all script is much closer to the GUMP
> > > environment, so it's a good script to check when
> > Maven
> > > is building fine but GUMP is puking.  Especially
> > > problematic is the fact that Maven uses Jelly
> > > internally; I'm not sure the classpath isolation
> > is
> > > all there yet.  Also, the build-all script is set
> > up
> > 
> > This can be solved by using jar:install-snapshot in
> > the builds and 
> > building Jelly core first. After the jelly build,
> > copying the jelly 
> > snapshot to $MAVEN_HOME/lib will force the latest
> > version.
> > 
> 
> Not entirely.  Many of the tags have interdependencies
> on one another (some build time, some test time), and
> unless you're very careful about your build order,
> Maven will cheat and use the repo veresion.  Also,

I've changed the tags-build goal in my copy of project.xml to use 
jar:install-snapshot.

That means that as a tag lib gets built by the reactor, it gets copied to 
the repo.

The reactor builds them in dependency order, so thats working fine.

The only issue I've found is if the SNAPSHOT is used by maven and there's 
a copy in MAVEN_HOME/lib. That's jelly core and a couple of taglibs. And I 
think I could work a way around that one too as part of install-snapshot 
(copy to /lib).

> once the 1.0 release happens, many if not all of the
> tags will point to Jelly 1.0, so you won't be able to
> do the install-snapshot trick anymore to build against
> HEAD.

You're gonna stop me editing the files?

:)
--
dIon Gillard, Multitask Consulting
Blog:      http://www.freeroller.net/page/dion/Weblog
Work:      http://www.multitask.com.au



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [jelly] Re: Inheriting Dependencies

Posted by Morgan Delagrange <md...@yahoo.com>.
--- dion@multitask.com.au wrote:
> Morgan Delagrange <md...@yahoo.com> wrote on
> 27/01/2003 04:35:21 AM:
> 
> > I don't think Maven is a replacement for the
> build-all
> > script when it comes to thorough regression
> testing. 
> > The build-all script is much closer to the GUMP
> > environment, so it's a good script to check when
> Maven
> > is building fine but GUMP is puking.  Especially
> > problematic is the fact that Maven uses Jelly
> > internally; I'm not sure the classpath isolation
> is
> > all there yet.  Also, the build-all script is set
> up
> 
> This can be solved by using jar:install-snapshot in
> the builds and 
> building Jelly core first. After the jelly build,
> copying the jelly 
> snapshot to $MAVEN_HOME/lib will force the latest
> version.
> 

Not entirely.  Many of the tags have interdependencies
on one another (some build time, some test time), and
unless you're very careful about your build order,
Maven will cheat and use the repo veresion.  Also,
once the 1.0 release happens, many if not all of the
tags will point to Jelly 1.0, so you won't be able to
do the install-snapshot trick anymore to build against
HEAD.

- Morgan

=====
Morgan Delagrange
http://jakarta.apache.org/taglibs
http://jakarta.apache.org/commons
http://axion.tigris.org
http://jakarta.apache.org/watchdog

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [jelly] Re: Inheriting Dependencies

Posted by di...@multitask.com.au.
Morgan Delagrange <md...@yahoo.com> wrote on 27/01/2003 04:35:21 AM:

> I don't think Maven is a replacement for the build-all
> script when it comes to thorough regression testing. 
> The build-all script is much closer to the GUMP
> environment, so it's a good script to check when Maven
> is building fine but GUMP is puking.  Especially
> problematic is the fact that Maven uses Jelly
> internally; I'm not sure the classpath isolation is
> all there yet.  Also, the build-all script is set up

This can be solved by using jar:install-snapshot in the builds and 
building Jelly core first. After the jelly build, copying the jelly 
snapshot to $MAVEN_HOME/lib will force the latest version.

I'm struggling with compile errors at the moment :)
--
dIon Gillard, Multitask Consulting
Blog:      http://www.freeroller.net/page/dion/Weblog
Work:      http://www.multitask.com.au


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [jelly] Re: Inheriting Dependencies

Posted by Morgan Delagrange <md...@yahoo.com>.
--- dion@multitask.com.au wrote:
> I'll test this and the reactor, as it means we can
> do away with:
> 1) The included entity in all project.xmls

Yup.  I'd still like to keep using an entity, but it
looks like our pesky XML parsers are not going to
cooperate.  At least we'll only have two build files
to keep in sync, rather than thirty-two.

> 2) The ant build-all file

Still need that, I think.

> and have an easy way to do things to all taglibs at
> once, e.g.
> - Regen gump descriptor

Yup.

> - Regen ant build file

Yup.

> - Build jars etc

I don't think Maven is a replacement for the build-all
script when it comes to thorough regression testing. 
The build-all script is much closer to the GUMP
environment, so it's a good script to check when Maven
is building fine but GUMP is puking.  Especially
problematic is the fact that Maven uses Jelly
internally; I'm not sure the classpath isolation is
all there yet.  Also, the build-all script is set up
to do some tedious tasks very quickly; for example:

    ant -f build-all.xml clean-skiplibs jar-jsl

will rebuild the JSL taglib and all its Jelly
dependencies (core, xml taglib, ant taglib, log
taglib, junit taglib) from scratch in about a minute
or so.

- Morgan

> --
> dIon Gillard, Multitask Consulting
> Blog:     
> http://www.freeroller.net/page/dion/Weblog
> Work:      http://www.multitask.com.au
> 
> 
> Jason van Zyl <ja...@zenplex.com> wrote on
> 25/01/2003 02:09:55 AM:
> 
> > Hi,
> > 
> > As a result of splitting up the Jelly tag
> libraries the folks doing the
> > split (Dion and others) discovered a need to share
> a set of common
> > dependencies so as a result I've tentatively added
> the ability for a
> > child to take it's parent's dependencies. The
> dependencies are the only
> > place where this aggregation is happening as
> opposed to overriding
> > inheritance.
> > 
> > For me I know this will help in situations that
> involve building a set
> > of components. Currently in Plexus there is a
> build and test for each
> > component. There are JARs that are required for
> the tests to run, and
> > prior to this change I had to declare the test
> time JARs in each of the
> > components. So now I can define them in the parent
> and everything works
> > just fine.
> > 
> > This may bring up other problems during the
> copying of dependencies and
> > I'm not sure what else, but it's in HEAD now so if
> it causes untold
> > grief I'll back it out.
> > 
> > -- 
> > jvz.
> > 
> > Jason van Zyl
> > jason@zenplex.com
> > http://tambora.zenplex.org
> > 
> > In short, man creates for himself a new religion
> of a rational
> > and technical order to justify his work and to be
> justified in it.
> > 
> >   -- Jacques Ellul, The Technological Society
> > 
> > 
> > --
> > To unsubscribe, e-mail:  
> <mailto:turbine-maven-user-
> > unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail:
> <mailto:turbine-maven-user-
> > help@jakarta.apache.org>
> > 
> 
> > ForwardSourceID:NT000A809E 
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> 


=====
Morgan Delagrange
http://jakarta.apache.org/taglibs
http://jakarta.apache.org/commons
http://axion.tigris.org
http://jakarta.apache.org/watchdog

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>