incubator-easyant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée <nicolas.lale...@hibnet.org>
Subject Re: Easyant bootstrap doesn't build
Date Sat, 12 Nov 2011 14:36:47 GMT
I have fixed the bootstrap build. Unless somebody objects, I'll setup a build job on the Jenkins
hosted at the ASF and get build failure sent to easyant-notification@.

So for the bootstrap build, there is a specific ivysettings because we need to compute a classpath
to compile and just that. We cannot have an ivysettings which is referencing some repository
in easyant's classpath, since easyant isn't yet build. Once compiled and jared, easyant is
launched and then the ivysettings used is the nominal one. Note that there is an ivysettings-bootstrap.xml
just because we're using Ivy trunk. Once Ivy 2.3 will be released, it could just rely on Ivy's
default settings which is just referencing maven central.

Nicolas

Le 27 sept. 2011 à 11:49, Jean-Louis Boudart a écrit :

> Hum good catch, commons-cli was retrieved from my cache.
> 
> This raise the question : Should we have two different ivysettings, one for
> easyant boostrap / build, and a second one shipped in easyant distribution
> and used end user ?
> 
> Supposing we have the following chain of resollution in ivysettings.xml :
> 
>   - a localrepository (~/.easyant/repository by default)
>   - an embedded resolver (using the new implementation of jar resolver)
>   - an online repository accessible through http accessible at
>   repository.easyant.org
>   - an http resolver using maven central repository (if we decide to not
>   use repository.easyant.org as a proxy of other online maven repository)
> 
> We'll probably use artifactory as a repository manager on
> repository.easyant.org to host all our stuff (plugins, buildtypes, tasks,
> skeletons). Artifactory can acts as a proxy of other online repository see
> http://wiki.jfrog.org/confluence/display/RTF/Understanding+Repositories for
> further details.
> 
> Here is how i imagine things :
> 
>   - Plugins, buildtypes, and additionnal tasks are published on
>   repository.easyant.org. This includes both Apache and non Apache plugins
>   (i guess those not compatible with Apache policy such as checkstyle, sonar
>   etc....)
>   - Easyant is built with easyant. When building easyant itself we use the
>   *same* ivysettings as the one used by default by end users (the one
>   described above).
>   - Nothing will be found in local repository
>      - embedded resolver will probably be empty as were in bootstrap mode
>      - it will fetch plugins from our online repository
>      repository.easyant.org
>   - How could we build the embedded repository ? We will probably ship one
>   or many version of "core plugins" in easyant distribution as plugins can be
>   updated but still be compatible with easyant-core. How could we maintain
>   this ?
>      - We could use <ivy:install> ant task to copy explicit version of core
>      plugins from our official repository (repository.easyant.org) to a
>      filesystem structure  that will be shipped in the jar. This can
> be done as
>      an intial step when creating easyant distribution.
> 
> If we use this flow we could use the same ivysettings as the one shipped by
> default in easyant distribution and leverage maintenance of this file.
> 
> Any feedback would be really appreciated.
> 
> 
> Le 26 septembre 2011 10:12, Nicolas Lalevée <nicolas.lalevee@hibnet.org> a
> écrit :
> 
>> 
>> Le 25 sept. 2011 à 22:41, Jean-Louis Boudart a écrit :
>> 
>>> On my computer, commons-cli is retrived from maven central repo. When you
>>> tried the bootstrap build did you have access to internet ?
>> 
>> In the bootstrap build (with ant, with the build.xml), it is hard coded to
>> use repository/third-party-lib/third-party-ivysettings.xml. And it doesn't
>> reference maven. So I guess it is wrong ?
>> 
>> Nicolas
>> 
>> 
> 
> 
> -- 
> Jean Louis Boudart
> Independent consultant
> Apache EasyAnt commiter http://incubator.apache.org/easyant/


Mime
View raw message