Peter Donald wrote:
> At 04:35 12/4/01 -0700, Nael Mohammad wrote:
>
>> Can you elaborate on CJAN?
>
>
> It was an idea originally brought up by Jon to implement a system similar
> to CPAN but for java not perl. So you would basically have a global
> repository where you could download binary snapshots (ie .jar/.war/.ear
> files) of products.
Cool. Let's do it!
>
> Associated with each product has a list of jars each with a name (and
> optionally a flavour) and a version. So you could have
> turbine-debug-1.2.3.jar, avalon-4.5.6.jar, log4j-7.8.jar etc
>
OK
> When doing a build you can choose to update your local jars so that the
> required versions are stored in a system wide, workspace wide or project
> wide repository.
OK
>
> For instance in the Avalon projects I currently have a temporary hack till
> CJAN arrives that installs the jars into a location specified by cjan.home.
> So I set cjan.home in "${user.home}/.ant.properties". The binaries are
> installed into systemwide /opt/apps/cjan in my case and other projects
> directly reference it from there.
>
> When full CJAN comes about the system will look something like this
>
> <target name="cjan-update">
>
> <cjan-get category="xml/parser" name="xerces" version="1.2"/>
>
> </target>
Cool.
>
> This will first check your local repositories for appropriate jar. In my
> case it would check the following locations
>
> /opt/apps/cjan/xml/parser/xerces-1.2[.*].jar
> /opt/Repositories/avalon/lib/xml/parser/xerces-1.2[.*].jar
> /opt/Repositories/avalon/jakarta-avalon/lib/xml/parser/xerces-1.2[.*].jar
>
> (or you could elide category directories - xml/parser - if it looked better).
>
> It would detect that I don't have xerces around with correct version and
> download the appropriate jar from CJAN repository
>
> ie http://www.cjan.org/directory/xml/parser/xerces-1.2[.*].jar
>
> It would then install it into a local system specific place dependening on
> permissions and settings. I would choose for it to be installed at
> workspace level - namely
>
> /opt/Repositories/avalon/lib/xml/parser/xerces-1.2[.*].jar
>
> It would then set the property xerces.jar to the location of the jar.
>
> A bit further on you go
>
> <classpath id="project.class.path">
> <pathelement location="${xerces.jar}" />
> ...
> </classpath>
>
> Subsequent runs would not need to download jar but instead could use this
> one directly.
>
Great.
> This would allow each project to depend on particular versions, be easy for
> end user and remove need for binaries in CVS.
Since I understand the commons sandbox to be just the sort of thing for
this, and I also understand that every jakarta committer has access to
the sandbox, I am going to start the code part of CJAN. I see it as an
optional ant task with some repository configuration information.
See you all in the sandbox.
Scott Sanders
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]