Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Higgins2Ant
{{#eclipseproject:technology.higgins}}
Contents
Introduction
higgins2ant is an Eclipse plug-in that the Higgins project uses to generate Ant build files which can be used either for developer builds or Automated Builds running on Eclipse build server.
Prerequisites
A number of prerequisites need to be installed on the build machine, as follows:
- J2SE 1.4.2
- Eclipse version 3.2 of higher
- Ant version 1.6.5 or higher
General Information
Higgins2ant plug-in generates following build files:
-
Higgins2Ant#build.xml build.xml
(can be running under the ant) -
dependencies.xml
-
project.psf
andprojectWithDeps.psf
This plug-in supported following types of projects:
- java project
- plug-in project
- feature project
build.xml
The build.xml file is an Ant script that is created by the higgins2ant to take your java project/plug-in/feature components and combine them into a deployable format. This file compiles and archives your plug-in source code into a single JAR file.
When ant file is created the directory is scaned to find other xml-files. And, if in any of these files the xml processing instrucion <?eclipse.ant.import?>
was found, the targets of that xml-file will included into the ant build file.
Java project targets
There are targets in java project build.xml file:
-
build
(default) builds the source code of the project with subprojects. Targets, which depends on this target, will createbuild
,build/bin
(for class files),build/lib
(for lib files) andbuild/doc
(for javadoc files) directories. To these directories the files of subprojects will copied, because Eclipse's IDE targets replaces ant build files (in subprojects) onto Eclipse's IDE build files. -
jar
jars a set of project's files. It creates inbuild/lib
folder jar file withprojectName_version.jar
file name. -
javadoc
creates javadoc for the project. It generates inbuild/bin
folder code documentation using the javadoc tool. -
clean
cleans build folder of the project. This target deletes all files and subdirectories ofbuild
folder, includingbuild
itself. -
copy.libs
copies all project required libraries to user defined dir -
copy.all.jars
copies all JARs to user defined dir -
cleanall
cleans build folders of dependency projects -
fetch.dependencies
fetches the dependencies of projects and subprojects
Also there is a target -save.build.properties
which saves information about all subprojects and features of current project. It give possibility to avoid duplicated builds and not to spend time for its.
Plug-in project targets
Into the plug-in project build.xml file following targets were added:
-
plugin
builds the plug-in. Createsbuild/plugins
(for jar-files of plug-ins),build/temp.dir
(for copying temporary files to),build/temp.dir/builder
(the Eclipse's IDE plug-ins are copying here, also here build.properties file is generated),build/temp.dir/plugins
(for temporary building plug-ins) andbuild/temp.dir/features
(for included features) directories
Feature project targets
There are targets in feature project build.xml file:
-
feature
(default) builds feature project with features and projects which it includes. Createsbuild
(for results of building),build/features
,build/temp.dir
,build/temp.dir/builder
,build/temp.dir/plugins
,build/temp.dir/features
,build/temp.dir/build
,build/temp.dir/tmp
. As java project, to these directories the files of subprojects will copied, because Eclipse's IDE targets replaces ant build files (in subprojects) onto Eclipse's IDE build files. -
fetch.dependencies
fetches the dependencies of projects and subprojects
project.psf and projectWithDeps.psf
These files are created if you have installed the Subclipse plug-in.
Team Project Sets that are stored in the workspace can now be imported directly using the Import Project Set operation available in the context menu of any *.psf file. Higgins2ant automatically generates project.psf and projectWithDeps.psf files.
Build scripts use project.xml file with the structure below as generated by Eclipse IDE.
<?xml version="1.0" encoding="UTF-8"?> <psf version="2.0"> <provider id="org.tigris.subversion.subclipse.core.svnnature"> <project reference="0.9.3,https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/plugins/org.eclipse.higgins.cache.api,org.eclipse.higgins.cache.api"/> </provider> </psf>
dependencies.xml
dependencies.xml provides the build process with information on required projects and/or libraries.
Build scripts use dependencies.xml file with the structure below as generated by Eclipse IDE.
<?xml version="1.0" encoding="UTF-8"?> <dependencies id="org.eclipse.higgins.icard.provider.cardspace.common"> <!-- list of projects that are required --> <higginsProjects> <project id="org.eclipse.higgins.registry"/> <project id="org.eclipse.higgins.icard"/> </higginsProjects> <!-- libs that should be downloaded to the project. can be multiple for different locations --> <remoteLibs location="lib"> <library id="commons-logging-1.1.jar"/> <library id="serializer.jar"/> <library id="xalan.jar"/> <library id="xercesImpl.jar"/> <library id="xmlsec-1.4.0.jar"/> </remoteLibs> </dependencies>
Install information
With the prerequisites installed, follow these steps to setup your environment:
- Add the jre/bin directory of the installed JDK to your PATH environment variable.
- Add the ant/bin directory of the installed Ant to your PATH environment variable.
One cans install the plug-in by 2 ways:
- setup locally
- setup on-line
Install locally
Before setup locally, you must download higgins2ant.update.zip on local machine.
To Setup locally, follow the instructions below:
- select (in main menu) Help -> Software Updates -> Find and Install...
- in window "Install/Update" select Search for new features to install -> Next
- select New Local Site... (New Archived Site... if site archived) and choose folder (.zip or .jar file), where your local site places
- OK
- Finish
- in window "Updates" select Higgins Ant Files Generator Feature {installed version} in the treeview of features
- Next
- read license, if you accept the terms in the license agreements, select Next
- Finish
- in window "Verification" select Install or Install All
- Yes
Install on-line
To Setup on-line, follow the instructions below:
- select (in main menu) Help -> Software Updates -> Find and Install...
- in window "Install/Update" select Search for new features to install -> Next
- select New Remote Site... and input Name (ex. "Higgins2ant Update Site") and URL (must be http://download.eclipse.org/technology/higgins/higgins2ant/)
- OK
- Finish
- in window "Updates" select Higgins Ant Files Generator Feature {installed version} in the treeview of features
- Next
- read license, if you accept the terms in the license agreements, select Next
- Finish
- in window "Verification" select Install or Install All
- Yes
Generate files
To generate, Select (from menu) Export -> (General) Higgins Buildfiles -> check projects (for which you wish to create the dependencies file and verify that name of dependencies XML document is dependencies.xml) -> Finish.
Run build files
With the prerequisites installed, follow these steps to setup your environment:
- Add the jre/bin directory of the installed JDK to your PATH environment variable.
- Add the ant/bin directory of the installed Ant to your PATH environment variable.
To build any project with build.xml, follow the instructions below:
-
cd yourproject
-
ant [params]
Where params can use for following types of projects:
- for java/feature project (default):
ant
- for plugin project (must have parameter 'plugin'):
ant plugin
Also one allows for following parameter:
-
-D<property>=<value>
uses value for given property; usage:-DECLIPSE_HOME=C:/Eclise
Uninstall
To uninstall the Higgins2Ant plug-in, follow the instructions below:
- select (in main menu) Help -> Software Updates -> Manager Configuration
- in window "Product Configuration" select Higgins Ant Files Generator Feature {installed version} in the treeview of features
- right click -> Uninstall
- OK
- Yes