zc.buildout recipe for building ant (java) projects
Project description
What is collective.recipe.ant ?
Collective.recipie.ant executes an ant build. It assumes java, and and ant is installed on the system.
Supported options:
- ant
Specify the location of the ant application. This option is optional. If not used the application is looked up in the default path.
- ant-home
If ant is not located in your default PATH -environment variable you can specify the location here.
- ant-options
Specify the options ant should be called with. You may change the buildfile with the -buildfile option for example.
- classpath
Give some extra location for including java libraries. I.e. junit, …
You can debug the ant output by increasing the verbosity of buildout.
Simple example
>>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = javaproject ... ... [javaproject] ... recipe = collective.recipe.ant ... """)
Ok, let’s run the buildout:
>>> print system(buildout) Installing javaproject. Build failed While: Installing javaproject. Error: System error: Buildfile: build.xml does not exist! <BLANKLINE> <BLANKLINE>
This one failed. We didn’t specify any options. Let’s do that.
>>> from os.path import join, dirname >>> buildfile = join(dirname(__file__), 'testdata', 'echo.xml') >>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = javaproject ... ... [javaproject] ... recipe = collective.recipe.ant ... ant-options = ... echo ... -buildfile %s ... ... """ % buildfile)
Fetch the output of the ant process, when being extra verbose
>>> print system(buildout + ' -v') Installing ... <BLANKLINE> echo: [echo] Foo Bar <BLANKLINE> BUILD SUCCESSFUL Total time: 0 seconds <BLANKLINE> javaproject: Build successful <BLANKLINE>
Let’s see if the classpath verification works
>>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = javaproject ... ... [javaproject] ... recipe = collective.recipe.ant ... classpath = %s %s ... ant-options = ... echo ... -buildfile %s ... ... """ % (join(dirname(__file__), 'testdata'), ... tmpdir('foo'), ... buildfile))>>> print system(buildout) Uninstalling javaproject. Installing javaproject. javaproject: Build successful <BLANKLINE>
Now we try to reference a (hopefully) nonexisting directory
>>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = javaproject ... ... [javaproject] ... recipe = collective.recipe.ant ... classpath = %s ... ant-options = ... echo ... -buildfile %s ... ... """ % (join(dirname(__file__), '__bogus__dir__'), ... buildfile))>>> print system(buildout) Uninstalling javaproject. Installing javaproject. While: Installing javaproject. Error: Classpath .../__bogus__dir__ does not exist. <BLANKLINE>
Changelog
0.1 (xxxx-xx-xx)
Removed path checks from __init__() since the required paths may not be available at that time. [dokai]
Contributors
Kai Lautaportti (dokai), Author - kai.lautaportti@hexagonit.fi
Tom Gross - tom@toms-projekte.de
Download
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.recipe.ant-0.1dev-r57229.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 342290b1657644dc1fc49d3e58f9c61b2d6ae9dd7c728c0e081a2a5f87e885e7 |
|
MD5 | 74c48a706df7ff2a42d8ba3a5855b2fb |
|
BLAKE2b-256 | 29cf0197ac99a5a736d57dfa02b37c886b5fb09ffa50276d0a031668803f1804 |