ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hane <>
Subject Re: Generic build system?
Date Tue, 08 Jul 2008 20:00:51 GMT
You might look at:

It's based on groovy and looks very easy to create build scripts.


Jean Louis BOUDART wrote:
> Hi All,
> I've seen a few time ago on this mailing list a thread about "easy ant", 
> but actually there is no implementation of.
> I'm currently working on a generic build-system for my  company, and i  
> want to share my experience.
> History :
> Each time we create a new project we have to write a specific build 
> script. One of the main issue could be dependencies of the project. 
> That's why we use a dependency manager :). Looking for that kind of 
> stuff on
> the web you can find Maven and  Ivy.
> What i like in maven is "conventions" of commands, every projects you'll 
> find that use maven uses the same "conventions", so you're never lost.
> But what i dislike in maven is that every time you want to do "complex" 
> things you have to create "ant" hooks. Maven repository are as cleaner 
> as my bedroom :), and quite all the time asking a repository is long 
> especially when you consider you are downloading two thousand millions 
> of plug ins that you even don't know any existence of.
> Hum maybe maven is not the solution that i'm looking for.
> That's why I chose to use ivy which is really more powerful and 
> flexible. But the main problem is that when one is using  Ant + Ivy 
> there is no "conventions",  maybe  i'll name a target called build and 
> my neighborhood  will call this target "compile".
> I don't want to loose time on writing a new build.xml that use my repo 
> on every new project of my company.
> That's why i've made a generic build.xml that have all the common task 
> we use in "standard" project.
> By "common task" i mean :
>   - clean
>   - build
>   - resolve
>   - dist (making jar / war / ear)
>   - lauch tests
>   - generate javadoc
>   - jetty-run "a la maven"
>   - have dependencies report
>   - have a way to add artifiact on my repo
>   - generate javadoc
>   - generate a skeleton of project (build.xml + + 
> ivy.xml + empty src directory)
>   - etc... :p
> Every project import the common-build system and can use or override 
> properties or targets
> Exemple: on every web project i can run "ant jetty-run" that 
> automatically :
>    - resolve dependencies
>    - build the application
>    - make war
>    - download jetty (if it wasn't downloaded before)
>    - deploy the war in jetty
> And wow miracle i can access my webapp quickly with my favorite webbrowser.
> Exemple2: I want to build an signed applet , i'll can override the 
> "dist" target to use sign-jar which is specific to "my-applet" project
> Exemple3: I have a strange project that use a "non official" repo, maybe 
> i'll want to use "common repo" (given by my build-system) and add the 
> specific repo only on my project.
> The code is still in early beta but you can find it here : 
> For the moment the code is rather specific my company but can be quickly 
> opened and become a really open source project, i'm writing the 
> documentation (actually only in french).
> So if you're interested by this project, or if you want to give your 
> point of view or advices feel free to contact me.
> Cheers

View raw message