zc.buildout recipe for building ant (java) projects
Project description
=============================
collective.recipe.ant package
=============================
.. contents::
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
==============
>>> import os.path
In the simplest form we can download a simple package and have it
extracted in the parts directory.
>>> 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)
While:
Installing.
Getting section javaproject.
Initializing part javaproject.
Error: Classpath .../__bogus__dir__ does not exist.
<BLANKLINE>
Changelog
*********
0.1 (2008-01-20)
================
- Initial release.
Contributors
***********************
Kai Lautaportti (dokai), Author - kai.lautaportti@hexagonit.fi
Tom Gross - tom@toms-projekte.de
Download
***********************
collective.recipe.ant package
=============================
.. contents::
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
==============
>>> import os.path
In the simplest form we can download a simple package and have it
extracted in the parts directory.
>>> 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)
While:
Installing.
Getting section javaproject.
Initializing part javaproject.
Error: Classpath .../__bogus__dir__ does not exist.
<BLANKLINE>
Changelog
*********
0.1 (2008-01-20)
================
- Initial release.
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
File details
Details for the file collective.recipe.ant-0.1dev-r57213.tar.gz
.
File metadata
- Download URL: collective.recipe.ant-0.1dev-r57213.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f32762ae5dab67bd146a405196e3a822eeb1074b5ac9a1d148ecd372d0f6052f |
|
MD5 | 08e8f27abad2b29107fffafb9b653e47 |
|
BLAKE2b-256 | 380209752b4ee28b29ea6ed60c4a26d32b3391ac2980fbd79dfbda62dde7f87e |