VAJLoad |
loads specified versions into the workspace |
VAJExport |
exports specified packages into the file system |
VAJImport |
imports specified files into the workspace |
Loads a specified VAJ project version into the workspace.
none
Attribute | Description | Required |
name | name of the VAJ project to load into the workspace | yes |
version | name of the requested version | yes |
<vajload> <vajproject name="My Testcases" version="1.7beta" /> <vajproject name="JUnit" version="3.2" /> </vajload>
Exports Java source files, class files and/or resources from the workspace to the file system. Exports can be specified by giving the VAJ project name and package name(s). This works very similar to FileSets.
Attribute | Description | Required |
destdir | location to store the exported files | yes |
exportSources | export source files (default: "yes") | no |
exportResources | export resource files (default: "yes") | no |
exportClasses | export class files (default: "no") | no |
exportDebugInfo | include debug info in exported class files (default: "no") | no |
defaultexcludes | use default excludes when exporting (default: "yes") | no |
Attribute | Description | Required |
name | name of the VAJ project and package to export. The first element of the name must be the project name, then the package name elements separated by '/'. |
yes |
Attribute | Description | Required |
name | name of the VAJ project/package not to export | yes |
<vajexport destdir="${src.dir}" exportResources="no"> <include name="MyProject/**"/> <exclude name="MyProject/test/**"/> </vajexport>This example exports all packages in the VAJ project 'MyProject', except packages starting with 'test'.
Imports Java source files, class files and/or resources from the file system into VAJ. These imports can be specified with a fileset.
Attribute | Description | Required |
vajProject | imported files are added to this VAJ project | yes |
importSources | export source files (default: "yes") | no |
importResources | export resource files (default: "yes") | no |
importClasses | export class files (default: "no") | no |
<vajimport project="Test" importClasses="true"> <fileset dir="${import.dir}"> <include name="com/sample/**/*.class"/> <exclude name="com/sample/test/**"/> </fileset> </vajimport>This example imports all class files in the directory ${import.dir}/com/sample excluding those in the subdirectory test
<?xml version="1.0"?> <!-- ======================================================================= --> <!-- Builds a binary distribution of the VAJ Ant Plugin --> <!-- ======================================================================= --> <project name="anttool" default="buildall" basedir="c:\temp\anttool"> <property name="src.dir" value="${basedir}/src"/> <property name="zip.dir" value="${basedir}/dist"/> <property name="build.classes" value="${basedir}/classes"/> <!-- location of the unzipped Ant source distribution --> <property name="antdistribution.dir" value="u:\ant-1.3beta1"/> <!-- VAJ install dir --> <property name="vaj.dir" value="C:\IBMVJava2"/> <path id="classpath"> <pathelement location="${src.dir}"/> <pathelement location="${vaj.dir}\IDE\project_resources\IBM IDE Utility class libraries" /> <pathelement location="${build.classes}"/> </path> <!-- =================================================================== --> <!-- Load Projects into Workspace --> <!-- =================================================================== --> <target name="load" description="load projects"> <vajload> <project name="Ant" version="1.3"/> <project name="Apache Oro RegExp" version="2.0.1"/> </vajload> </target> <!-- =================================================================== --> <!-- Creates the build dirs --> <!-- =================================================================== --> <target name="preparedirs"> <mkdir dir="${basedir}"/> <mkdir dir="${src.dir}"/> <mkdir dir="${zip.dir}"/> <mkdir dir="${build.classes}"/> </target> <!-- =================================================================== --> <!-- Export from VA --> <!-- =================================================================== --> <target name="export" depends="preparedirs" description="export projects"> <mkdir dir="${src.dir}"/> <!-- Export all Ant sources except optional tasks and the Oro sources --> <vajexport destdir="${src.dir}"> <include name="Ant/**"/> <exclude name="Ant/**/optional/**"/> <exclude name="Ant/org/apache/tools/ant/gui/**"/> <include name="Apache Oro*/**"/> </vajexport> <!-- Export selected optional tasks --> <vajexport destdir="${src.dir}"> <include name="Ant/org/apache/tools/ant/taskdefs/optional/ide/**"/> </vajexport> </target> <!-- =================================================================== --> <!-- Unzip necessary libraries --> <!-- =================================================================== --> <target name="expand"> <mkdir dir="${build.classes}"/> <unzip src="${antdistribution.dir}\lib\parser.jar" dest="${build.classes}" /> <unzip src="${antdistribution.dir}\lib\jaxp.jar" dest="${build.classes}" /> <delete dir="${build.classes}\META-INF" /> </target> <!-- =================================================================== --> <!-- Compile the source code --> <!-- =================================================================== --> <target name="compile" depends="expand" description="compile java sources"> <mkdir dir="${build.classes}"/> <javac srcdir="${src.dir}" destdir="${build.classes}" debug="on" deprecation="off" optimize="on" > <classpath refid="classpath" /> <include name="org/apache/**"/> <exclude name="**/JakartaRegexpMatcher.java"/> </javac> </target> <!-- =================================================================== --> <!-- Copy resources and zip everything together --> <!-- =================================================================== --> <target name="zip" depends="compile" description="creates zip distribution"> <copy todir="${build.classes}"> <fileset dir="${src.dir}"> <include name="org/apache/**"/> <exclude name="**/*.java"/> </fileset> </copy> <mkdir dir="${build.classes}/doc"/> <copy todir="${build.classes}/doc" overwrite="yes"> <fileset dir="${antdistribution.dir}/docs"> <include name="VAJAnttool.html, toolmenu.gif, anttool1.gif"/> </fileset> </copy> <copy file="${antdistribution.dir}/src/main/org/apache/tools/ant/taskdefs/optional/ide/default.ini" todir="${build.classes}" overwrite="yes"/> <mkdir dir="${zip.dir}"/> <zip basedir="${build.classes}" zipfile="${zip.dir}/anttool.zip" /> </target> <!-- =================================================================== --> <!-- Cleans source and class dirs --> <!-- =================================================================== --> <target name="clean" depends="preparedirs" description="removes all files from src and build tree"> <delete> <fileset dir="${src.dir}"/> </delete> <delete> <fileset dir="${build.classes}"/> </delete> <delete> <fileset dir="${zip.dir}"/> </delete> </target> <!-- =================================================================== --> <!-- Cleans the build dir, loads required project versions, exports, --> <!-- compiles and zips the Plugin --> <!-- =================================================================== --> <target name="buildall" depends="clean, load, export, zip" description="build all"> </target> </project>
Q: I want to load, export and build more then one Visual Age project
to one jar! How to?
A: The VA tasks are able to load and export several Projects all
at once. You can choose whatever project you like for storing the tool
information, it doesn't really matter
Q: When I load my build file, the list of targets is empty. Why?
A: You need to add the optional "description" parameter to the targets You
want to come up in the list. Then reload the build file in the "ant build"
tool. We chose to display only targets with description to allow the build
file developer to distinguish between targets for end users and helper targets.
Q: Is there a sample build file available?
A: Now You can find an example in this manual
Q: Why does it export my entire workspace when I've already implicitly
selected a project when starting the Tool?
A: This selection does not carry into the buildfile you are using. Set the
Project name at the beginning of the "includes" parameter.
Q: When I import Ant into my Workspace, I get Problems reported. Can I
ignore them?
A: It depends on the problems reported, and what you want to do with Ant.
Problems you can't ignore:
Q: Why is the task name vajload when the class is called VAJLoadProjects?
A: At the moment this task can load only project versions. This is reflected
by the class name. It may be extended to load package and class versions,
too, and we didn't want to let these extensions affect the build files. Therefore
we chose the more general name vajload as task name.
Q: I want to use the same buildfile both within Visual Age and from the
command line using my regular Ant environment. What do I need to be aware
of?
A: The three Visual Age Tasks won't work when executing Ant from the command
line.
Q: How do I control the import/export of sourcefiles, compiled files and
project resources explicity?
A: Via the Boolean values exportClasses (default false) exportSources (default
true) and exportResources (default true). In some situations, Resources are
not exported correctly without this being explicity set.
1.0 | 2000/09/11 | Initial Version |
1.1 | 2001/02/14 | Added Task documentation and more FAQs (thanks to Richard Bourke for the FAQ additions) |