ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen McConnell" <mcconn...@apache.org>
Subject RE: Ant should have an ext directory
Date Wed, 05 Jan 2005 15:50:40 GMT


> -----Original Message-----
> From: Erskine, Chris [mailto:chris.erskine@eds.com]
> Sent: 05 January 2005 15:20
> To: Ant Users List
> Subject: RE: Ant should have an ext directory
> 
> I do not think that we are saying to use Maven.  I am asking for a way
to
> support different versions of third party jars from the same instance
of
> ant.  Maven is being used as an example of one way to do it.  I do not
> need
> the auto-download functionality of Maven or the automatic repository.
I
> would like to see a way to define in the build file, the list of
dependent
> jars with versions or a relative path to the a needed jar file so I do
not
> have to update the functionality of 30 projects at one time to support
the
> update of a single support jar.

Chris:

You may want to consider something like the Magic antlib [1].

It includes a plugin task that enables the dynamic loading of antlibs
using a versioned plugin descriptor.  The descriptor contains logical
identifiers [2] of the complete set of versioned jar files that are
required for tasks and types packaged with the plugin.

For example - the following project definition used the magic antlib
(installed in .ant/lib) polugin task to load a plugin defined by the
artifact uri "artifact:meta:aaa/bbb/my-special-plugin#1.6".  This uri
references a plugin descriptor which includes information about all
plugin dependencies, the antlib definition, and namespace binding.  A
component helper handles late binding of task classes which ensures that
you can easily reference custom task as shown in the line following the
plugin statement.

  <project name="demo" xmlns:magic="antlib:net.dpml.magic">
    <magic:plugin uri="artifact:meta:aaa/bbb/my-special-plugin#1.6"/>
    <demo xmlns="plugin:aaa/bbb/my-special-plugin"/>
  </project>

Task and type dependencies are declared under the plugin descriptor
using artifact uris.  Each artifact uri describes a group, name,
artifact type and version.  The underlying Transit system [3] provides
support for the automatic retrieval of these jars from local file and/or
remote http or https repositories and the maintenance of a local cache.
The Transit system can be configured with multiple repositories with
different characteristics and the repository configuration can be
maintained locally or centralized.

In addition to the above project based handling of plugins, Magic [4]
also provides a framework for centralized resource management using
module definitions.  Each module definition (also referencable as an
artifact) contains the declaration of available resources and the group,
name and version information.  This allows the coordination of large
numbers of jar files across complex projects.  In addition the resource
declarations include information about build, test and runtime
dependencies (and full support for transitive dependency handling).

Cheers, Stephen.

[1] Magic Antlib
    http://www.dpml.net/central/products/magic/antlib/index.html
[2] Artifact URI
    http://www.dpml.net/central/products/transit/protocol/index.html
[3] Transit Overview
    http://www.dpml.net/central/products/transit/index.html
[4] Magic Overview
    http://www.dpml.net/central/products/magic/index.html


> 
> Chris Erskine
> 
> EDS Consulting Services
> F5-EDS-001
> 2424 Garden of the Gods Rd
> Colorado Springs, CO  80919
> 
> Phone: 719-265-5962
> 
> 
> > -----Original Message-----
> > From: Stephen McConnell [mailto:mcconnell@apache.org]
> > Sent: Tuesday, January 04, 2005 7:16 AM
> > To: 'Ant Users List'
> > Subject: RE: Ant should have an ext directory
> >
> >
> >
> > > -----Original Message-----
> > > From: galenboyerdev@hotpop.com [mailto:galenboyerdev@hotpop.com]
> > > Sent: 04 January 2005 23:26
> > > To: Ant Users List
> > > Subject: Re: Ant should have an ext directory
> > >
> > > "Robert r. Sanders" <robert.sanders@ipov.net> writes:
> > >
> > >   > Yeah, but I don't think this is what the question was about.
> > >
> > > I understood that.
> > >
> > >   > It would be nice to have a place to put the (global) ant
> > extensions
> > >   > you are using to keep them separate from the main/default ant
> > >   > libraries to help with file management, etc... The best I can
> > think
> > >   > of: Create an ext directory in a central location, then use a
> > build
> > >   > process to merge it with a base ANT install; then copy the
results
> > >   > out to everyone in your department.  Not as nice as if ANT
> > supported
> > >   > this directly, but it might help.
> > >
> > > This is seemingly what Maven offers, was my point.  I guess one
could
> > > say ant should offer it, but the impetus of the Maven project is
ant.
> > > Maven (from what I've read and talked to others about) offers a
way to
> > > have a server host all of a project's libraries, with different
> > > versions, and then an xml file describes what libraries they want.
No
> > > sticking the libs in source control for checkout, no shared
folders of
> > > libraries without control over their sources.  No worrys of which
> > > versions you might have.  Instead, describe your needs in an xml
file
> > > ant let Maven take care of putting them where they should be.
> >
> > However - the maven support for ant is not so up-to-date.  From what
I
> > understand Maven does not support the 1.6 series.
> >
> > Stephen.
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message