Recent posts

Website is moving, please update your bookmark

The website is moving to http://www.easyant.org/. We will use [Redmine http://www.redmine.org/] instead of [trac http://trac.edgewall.org/] for project management.

In the meanwhile, the blog will also move to http://www.easyant.org/blogs/

  • Posted: 2010-04-13 03:19 (Updated: 2010-04-13 03:24)
  • Author: jboudart
  • Categories: (none)
  • Comments (2)

EasyAnt presentation at Poitou Charentes JUG

For our French readers, here you can find slides and a video of the EasyAnt presentation at Poitou Charentes JUG

Slides and video

Speakers :

  • Jérôme Benois
  • Jean-Louis Boudart
  • Xavier Hanin

Dans cette présentation consacrée à EasyAnt et Ivy, nous introduisons les principales problématiques liées :

  • à la gestion de dépendances dans les projets
  • et au processus de construction d'application

Nous présentons la solution EasyAnt basée sur les standards Ant et Ivy afin de répondre aux questions suivantes :

  • Qu'attend-t-on d'un outil de build ?
  • La gestion de dépendances logicielles à quoi ça sert ?
  • Est-ce que ça peut vraiment me faire gagner du temps sur mes projets ?
  • Et quelle est la réponse apportée par EasyAnt dans ce contexte ?
  • Est-ce difficile à mettre en oeuvre ?
  • Comment cela s'intègre t'il dans les outils (IDE, outil d'intégration continue ...)
  • Quid du débat EasyAnt vs Maven ?

C'est autant de questions auxquelles nous essayons de répondre à travers un panel de démonstrations et de retours d'expérience, en s'attardant sur le fonctionnement d'EasyAnt et d'Ivy, leurs forces et faiblesses, mais aussi en donnant des indications pratiques et pragmatiques sur leurs mise en oeuvre.

  • Posted: 2010-03-27 10:42 (Updated: 2010-03-27 10:43)
  • Author: jboudart
  • Categories: JUG
  • Comments (1)

EasyAnt Team

Considering his investment and that we 're sharing the same vision of Easyant future, i'm pleased to promote Jason Trump as project manager.

We are now both leading easyant core.

EasyAnt 0.7 released !

The EasyAnt project is pleased to announce its 0.7 version.

Easyant is a build system, that is based on Apache Ant and Apache Ivy.

Our goals are :

  • to leverage popularity and flexibility of Ant.
  • to integrate Apache Ivy, such that the build system combines a ready-to-use dependency manager.
  • to simplify standard build types, such as building web applications, JARs etc, by providing ready to use builds.
  • to provide conventions and guidelines.
  • to make plugging-in of fresh functionalities easy as writing simple Ant scripts as Easyant plugins.

To still remain adaptable,

  • Though Easyant comes with a lot of conventions, we never lock you in.
  • Easyant allows you to easily extend existing modules or create and use your own modules.
  • Easyant makes migration from Ant very simple. Your legacy Ant scripts could still be leveraged with Easyant.

What's new in 0.7?

  • use latest official ant (no more a patched version)
  • refactor antcontrib usage, antcontrib is now considered as a dependency of easyant-core
  • add the capabilty to override target/phases defined in module.ivy (override.module.ant)
  • enhanced multimodule support
    • full support for all standard build phases
    • full support for Ivy descriptor "extends"
    • build-scoped repository should allow overwrites (#74)
    • meta-build: better support for custom ivysettings.xml (#75)
  • use two cache instance (one for easyant plugins/buildtypes, one for project)
  • use cache by default instead of retrieving in lib directory
  • simplify version management : uses revision attribute in module.ivy instead of a specific property (#81)
  • simplify syntax of easyant tags, plugins/buildtypes now support two ways to be imported (#84):
    • using mrid
                  <plugin mrid="org.apache.easyant.plugins#run-java;0.1"/>
      
    • using exploded style
                  <plugin org="org.apache.easyant.plugins" module="run-java" revision="0.1"/>
      
  • support Shortcut on buildtypes / plugins / skeletons in mrid style (#73)
  • make the help more helpful (#13) introduce new useful command line lines switches (listTargets, listPlugins, listPhases, listProps, describe)
  • add validation on easyant config files
  • refactor the repository structure : default plugins/buildtypes are now shipped in easyant-core.jar, additional plugins are now shipped in easyant-extra-plugins.jar (#80)
  • add support for provided artifacts (#83)
  • performance improvement
  • javadoc/scaladoc are no more imported in default buildtypes
  • enhanced clean cache mechanism (can now clean easyant-cache or project cache) (#79, #80)
  • add default skeleton for :
    • standard java application
    • standard java webapplication
  • add new plugins
    • a small webstart plugins (Thanks to Nicolas Gapaillard for the contrib !)
    • docbook plugin (#62)
    • cobertura coverage plugin / "abstract-coverage" support (#67)
    • a new build type for easyant plugin (simplify easyant plugin development) #85
  • improve skeleton plugin (#86)
  • add support for LICENSE/NOTICE files in package-jar / package-war plugins (#87)
  • support executable jar attributes in manifest plugin (#76)
  • several bugfix on
    • emma
    • cobertura
    • junit (#78)
    • javadoc (#77)
    • xooki / eadoc

The plugin code has become stable, but you can still expect changes before the final release.

Issues should be reported to: http://www.easyant.org/trac/

Retrieve sources from the 0.7 release files at: http://svn.easyant.org/tags/0.7/

Or download the 0.7 release files at: http://www.easyant.org/trac/downloads

Online documentation is now accessible through : http://www.easyant.org/doc/

More information can be found on the Easyant website: http://www.easyant.org/

Regards, Jean Louis Boudart

Builders Battle !

Hi there,

On tuesday 20 October, i will co-animate a builders conference at NormandyJUG. I'll try to defend and promote our solution in this short battle.

During this conference a few tools will be presented :

We will try to highlight all the specificities, advandages and drawback of each product.

Don't forget to register if you want to assist at this conference.

http://blog.aheritier.net/wp-content/uploads/2009/10/affiche-200910201.png

Article on Build Configurations

You can find an article describing Build Configurations in Easyant - a feature introduced in the recent 0.6 release here - http://www.cmcrossroads.com/content/view/13068/

Thanks to CM Crossroads for publishing this.

EasyAnt on Ohloh

EasyAnt is now referenced on Ohloh (https://www.ohloh.net/p/easyant)

Here is the stats generated by Ohloh about EasyAnt

Here is the factoids generated by Ohloh about EasyAnt

You can register yourself as a user of EasyAnt by clicking on the above image

EasyAnt 0.6 released !

The EasyAnt project is pleased to announce its 0.6 version.

Easyant is a build system, that is based on Apache Ant and Apache Ivy.

Our goals are :

  • to leverage popularity and flexibility of Ant.
  • to integrate Apache Ivy, such that the build system combines a ready-to-use dependency manager.
  • to simplify standard build types, such as building web applications, JARs etc, by providing ready to use builds.
  • to provide conventions and guidelines.
  • to make plugging-in of fresh functionalities easy as writing simple Ant scripts as Easyant plugins.

To still remain adaptable,

  • Though Easyant comes with a lot of conventions, we never lock you in.
  • Easyant allows you to easily extend existing modules or create and use your own modules.
  • Easyant makes migration from Ant very simple. Your legacy Ant scripts could still be leveraged with Easyant.

This version focus on :

  • a better support for multi module projects
  • adding support to build configurations (similar to profile in maven world see http://easyant.org/doc/howto/BuildConfigurations.html for more details)
  • a new core offering api that can work in embebbed mode
  • a cleaner repository structure used to store easyant plugins / build types
  • introducing a way to skip an entire module
  • adding support for variables replacements inside module.ivy
  • a module for antunit test
  • a module to generate plugin documentation
  • documentation / javadoc
  • a few tests to enhance easyant-core stability
  • several bug fixes on plugins

For recall, as the project is still in an early phase, easyant plugins are still unstable and can move on next releases.

Issues should be reported to: http://www.easyant.org/trac/

Retrieve sources from the 0.6 release files at: http://svn.easyant.org/tags/0.6/

Or download the 0.6 release files at: http://www.easyant.org/trac/downloads

Online documentation is now accessible through : http://www.easyant.org/doc/

More information can be found on the Easyant website: http://www.easyant.org/

Regards, Jean Louis Boudart

Build Configurations in Easyant

Jean-Louis had been working on implementing configurations in Easyant. In more common parlance, this is Easyant's equivalent to build profiles. Common usage patterns supported in an Easyant build.

I tried out the writing down a simple easyant build, and using different plugins for different configurations (or environments if you would prefer :)).

We will soon document and put it up on the documentation section to show Easyant's approach to build configurations or profiles.

We hope to get this out with our 0.6 release.

EasyAnt's team growing again

We're glad to accept Jason Trump as a new commiter.

Welcome on board :)

EasyAnt's Team is growing

We're glad to accept Jérôme Benois as new commiter.

Jérôme Benois is currently working on easyant4e (an easyant plugin for eclipse) .

Congratulations to him, keep up your good work.
Jean Louis Boudart

EasyAnt local repo will be refactored on 0.6

In order to get a more structured repo, we will refactor the local easyant repo on 0.6.

The repo will be splited in three sections :
org.apache.easyant.buildtypes > will contains only build types modules
org.apache.easyant.plugins > will contains our plugins
org.apache.easyant.skeletons > will contains only skeletons

EasyAnt Tutorial

We have our first tutorial available here - http://www.cmcrossroads.com/content/view/12784/745/

This is a very basic guide to easyant concepts, and walks you through setting up a basic java web application project.

It should help you start on easyant real quick!

EasyAnt plug-in for Hudson

I started to develop a new plug-in for hudson that allow you to easily invoke EasyAnt build scripts.

Hudson is a very good Continuous Integration (CI) tool. Though such tools are not new, it clearly sets a higher standard in terms of quality and extensibility compared to first generation CI tools like Cruise-Control. And it’s open-source. (If you are reading this and you don’t know what Continuous Integration is, read this paper written by Martin Fowler for more information).

A 1.0 version of this plugin is available.

More informations can be found on http://hudson.gotdns.com/wiki/display/HUDSON/EasyAnt+Plugin

EasyAnt 0.5-beta1 released !!

The EasyAnt project is pleased to announce its 0.5-beta-1 version.

Easyant is a build system, that is based on Apache Ant and Apache Ivy.

Our goals are :

  • to leverage popularity and flexibility of Ant.
  • to integrate Apache Ivy, such that the build system combines a ready-to-use dependency manager.
  • to simplify standard build types, such as building web applications, JARs etc, by providing ready to use builds.
  • to provide conventions and guidelines.
  • to make plugging-in of fresh functionalities easy as writing simple Ant scripts as Easyant plugins.

To still remain adaptable,

  • Though Easyant comes with a lot of conventions, we never lock you in.
  • Easyant allows you to easily extend existing modules or create and use your own modules.
  • Easyant makes migration from Ant very simple. Your legacy Ant scripts could still be leveraged with Easyant.

This version focus on :

  • a module for jetty-deployement
  • a module for documentation (based on Xooki)
  • a module for repository management (ie. Install new artifacts / copy artifacts from other repo)
  • a module allowing a user to create / retrieve skeleton of project
  • a module and a associated build-type for OSGI bundle creation.
  • a module providing SVN features (not yet implemented)
  • a module providing Groovy features (not yet implemented)
  • documentation / javadoc
  • a new ant tasks that allow a "plugin writer" to document with compatible core version for a given plugin
  • Few enhancement:

o A few pattern properties (with default values) to tune what should be included/excluded during Compilation/Packaging etc... o Each modules have a dynamic classpath based on what is included in the plugin <dependencies>

For recall, as the project is still in an early phase, easyant plugins are still unstable and can move on next releases.

Issues should be reported to: http://www.easyant.org/trac/

Retrieve sources from the 0.5-beta-1 release files at: http://svn.easyant.org/tags/0.5-beta-1/

Or download the 0.5-beta-1 release files at: http://www.easyant.org/trac/downloads

Online documentation is now accessible through : http://www.easyant.org/doc/

More information can be found on the Easyant website: http://www.easyant.org/

Regards, Jean Louis Boudart

Welcome to EasyAnt!

Easyant is a simple build toolbox that intends to simplify the regular task of setting up builds. Based on Ant and Ivy, Easyant leverages the ubiquitous familiarty & great flexibility of Ant, and also provides a ready Dependency manager in the form of Ivy.

Like Maven, Easyant comes bundled with a set of ready-to-use build scripts. For example, building a War, or a Jar is a trivial import of a pre-defined build type. Each such build type is merely an Ant script. As such, writing a fresh build type is merely a matter of writing an Ant script. What's more - since Easyant is built on top of Ant - you could retain and still make good use of your existing Ant scripts!

Easyant also allows smaller components to be plugged into your Easyant-build. For example - if you have a web application - you can declare a set of plugins in your Easyant specifications whose functionalities would be made available to you in the form of Ant targets defined in those plugins (Yes - plugins are Ant scripts too!)

We are in the process of building a bigger repository of plugins, and incorporating newer features into Easyant. You could try going through the wiki to find more information. Shortly, you shall find our wiki richer.

We shall shortly update instructions on trying out Easyant. In the mean time, you could also go through Xavier's post on Easyant - http://xhab.blogspot.com/2008/01/easyant-ant-based-pre-packaged-build.html