|This plugin comes is not maintained by its owner for Hudson and is made available under the Install-Tested plugin category as described here. If you have any issues with this plugin please mail the Hudson user list and not the owner|
This plugin automatically configures a build to trigger other builds based on dependency configuration via Apache Ivy.
The plug-in is being maintained by its owner/maintainers from a new home. Check the Tier info for details of compatibility
Since Version 1.20 this Plugin uses Ivy 2.2.0 internally (but it should still work with Ivy 2.0 and 2.1 projects)
Since Version 1.0 this Plugin uses ivy 2.1.0 internally (but it will still work with ivy 2.0.0 projects).
Since Version 0.2 this Plugin supports ivy 2.0.0.
Creating An Ivy Project (added in version 1.0 of this plugin)
By using an Ivy project instead of a Freestyle project Hudson can simplify the job configuration. It will auto-detect all the ivy modules you checked out, create builds for them, and automatically generate the upstream/downstream build triggers based on your Ivy dependencies.
- Click on the "New Job" link
- Enter a project name and choose "Build an Ivy project"
- Fill in your SCM details (you can choose to check out a single ivy module, or an entire branch of ivy modules)
- Choose the Ant version to build with and enter the targets you want run. Most of the options have sensible defaults so you only need to fill them in if your modules are set up differently than the default values expect. If you want to build each module as a separate job, expand the "Advanced" section and check "Build modules as separate jobs". If you are polling for changes from your SCM, you can also optionally choose to only build changed modules.
- Now on your Hudson job page you will see a "Modules" link
- This will give you a view of all the discovered ivy modules you checked out (Note: you will need to build the project once before the modules show up)
- The upstream/downstream project build triggers will be automatically generated from the dependencies in your ivy files.
- If you chose to build the modules as separate jobs, then you can click on a module in the module view to see all the individual builds, SCM changes, artifacts, etc.
- If you want to run different targets on a certain module then you can override the default targets in the module configuration.
Build Trigger Configuration (for Freestyle Projects)
Upon building, it scans the ivy.xml and fills in the 'build other projects' setting, which results in output on the project page of which projects are upstream (depends on) and which are downstream (is a dependency).
Version 1.15 (UNRELEASED)
Version 1.14 (Nov 16, 2010)
HUDSON-8012 - Ivy plugin now bundles jsch and commons-vfs since those classes may have to be loaded when parsing the Ivy settings file. Referencing a settings file with sftp/ssh/vfs resolvers should work now.
Version 1.13 (Nov 1, 2010)
- Added support for using build wrappers when building modules as separate jobs. (patch supplied by Jesse Bexten)
- Now build wrappers like locks and latches and the version number plugin can be configured for an Ivy Project that's configured to build its modules as separate jobs. In this case the build wrappers will be applied to each module individually.
- Fixed several oversights in the Ivy module build logic. Logic now more closely resembles that in the standard Build$RunnerImpl. The BuildWrappers are now torn down properly, and return values from post build actions are checked.
Version 1.12 (Oct 22, 2010)
- Fixed a bug whereby any build triggers manually configured for individual Ivy modules were ignored.
- This only affected Ivy Projects using the "Build modules as separate jobs" option and the "Build other projects" option for individual Ivy modules.
Version 1.11 (Oct 14, 2010)
- Added ability to optionally use Parameters from upstream jobs triggered by their Ivy dependencies (patch supplied by Jesse Bexten)
- This applies to Ivy Projects triggering other Ivy Projects, Ivy Projects triggering their own modules to build when they have been configured to build their modules as separate jobs, and also Freestyle jobs using the Ivy Build Trigger to trigger other Freestyle jobs.
- In all cases, an additional checkbox is provided that will cause the builds to use the same parameters as the jobs that triggered them.
Version 1.10 (Sep 30, 2010)
- Added ability to disable the automatic triggering of downstream Ivy dependencies in other Hudson projects.
HUDSON-7602 - Incremental Ivy builds work on Windows now.
Version 1.9 (Jul 29, 2010)
- Fixed spammy exception logging on startup if the NAnt plugin wasn't installed. The NAnt builder extension is now marked as optional.
- Exposed a couple of environment variables in multi-module Ivy builds. Now when building a multi-module Ivy project as separate builds, IVY_MODULE_NAME and IVY_MODULE_ORGANISATION are available. This is leading up to better integration with the Hudson Sonar plugin.
HUDSON-7085 - Ivy Projects using multi-module, non-aggregated, incremental build will now always build their modules in the correct order
- Note: requires Hudson 1.358 or newer
Version 1.8 (Jul 21, 2010)
- Added workaround for issue introduced in Hudson v1.363 where a self-referential build trigger gets created causing a project to trigger itself endlessly HUDSON-6819.
HUDSON-6802 - Refactored project builder logic to allow Ivy Project builders to be pluggable. Implemented the Ant (default) and NAnt builder types.
- Applied a patch from the JFrog guys to support integration with the next release of their Artifactory Plugin.
HUDSON-6884 - Added ability to specify property files that need to get loaded before parsing the Ivy settings and Ivy module descriptors. This allows Ivy Projects to work properly when using ant property references in the Ivy settings file or module descriptors.
Version 1.7 (May 13, 2010)
HUDSON-6468 - Added an option to specify an ivy settings file for Ivy Projects.
Version 1.6 (Apr 27, 2010)
HUDSON-6308 - Ivy Project global ANT_OPTS are now saved properly.
Version 1.5 (Apr 1, 2010)
- Fixed several issues with Ivy Project build dependencies for projects configured to build their modules as separate jobs.
- a project can no longer run again until all its module builds have finished (otherwise the svn changes get out of sync between module builds)
- a project will no longer allow downstream projects of its modules to build when their "Block build when upstream project is building" option is selected. This is done by adding a virtual dependency between the parent project and the downstream project that never actually triggers a build, but makes the project show up in the transitive upstream dependencies
- a project will now correctly set up its own modules' build dependencies when "Build whenever an Ivy dependency is built" is unchecked
Version 1.4 (Mar 22, 2010)
- Fixed regression in 1.3 where the specified ant version is not selected when job configuration page is opened.
Version 1.3 (Mar 19, 2010)
HUDSON-5961 - Relative paths to ant build files actually work now.
- Removed the need to have a specific Ant installation configured. If none is now configured, no select box will be shown on the job configuration page and Hudson will just use the "ant" command on your PATH (just like Freestyle projects do). Mentioned in
Version 1.2 (Mar 16, 2010)
HUDSON-5823 - Ivy plugin will no longer throw a NullPointerException if you leave the targets field blank.
Version 1.1 (Feb 26, 2010)
- Made sure Ivy Modules can't be built when their parent is disabled
- Implemented incremental build functionality for aggregated builds
- Added option to disable ivy build triggers between Ivy Project jobs.
- Note: requires Hudson 1.347 or newer
Version 1.0 (Feb 18, 2010)
- Added support for creating Ivy Projects - see Adding Ivy Project Support for information on the development of this feature.
- Note: requires Hudson 1.346 or newer
Version 0.6 (Jan 19, 2010)
HUDSON-4069 - Downstream builds will no longer be triggered when the current build has failed.
- Note: requires Hudson 1.341 or newer
Version 0.5 (Jan 18, 2010)
- Fixed NullPointerException introduced in 0.4 when no build with a workspace can be found for an ivy-enabled project
- Fixed issue introduced in 0.4 where the ivy.xml backup file was copied into the build directory instead of the project directory
Version 0.4 (Dec 29, 2009)
- Ivy setting on job config page always came up with first entry instead of saved value
- Update uses of deprecated APIs
- now version 2.0.0 of ivy is supported
- the ivy plugin can now handle builds run on a slave