You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

VAJAntTool.html 25 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <meta http-equiv="Content-Language" content="en-us">
  6. <title>Visual Age for Java Tasks and Plugin User Manual</title>
  7. </head>
  8. <body>
  9. <h1>Visual Age for Java Tasks and Plugin User Manual</h1>
  10. <a name="authors"></a>by<ul>
  11. <li>Wolf Siberski
  12. (<a href="mailto:wolf.siberski@tui.de"> wolf.siberski@tui.de</a> )</li>
  13. <li>Christoph Wilhelms
  14. (<a href="mailto:christoph.wilhelms@tui.de"> christoph.wilhelms@tui.de</a>)</li>
  15. </ul>
  16. Version 1.1 - 2001/02/14<br>
  17. <hr>
  18. <h2>Table of Contents</h2>
  19. <ul>
  20. <li><a href="#introduction">Introduction</a></li>
  21. <li><a href="#tasks">The Tasks</a><a href="#introduction"></a>
  22. <ul>
  23. <li><a href="#vajload">VAJLoad</a></li>
  24. <li><a href="#vajexport">VAJExport</a></li>
  25. <li><a href="#vajimport">VAJImport</a></li>
  26. </ul>
  27. </li>
  28. <li><a href="#sample_buildfile">A sample build file</a><br></li>
  29. <li><a href="#plugin">The Plugin</a>
  30. <ul>
  31. <li><a href="#installation">Installation</a></li>
  32. <li><a href="#usage">Usage</a></li>
  33. </ul>
  34. </li>
  35. <li><a href="#faq">Frequently Asked Questions</a></li>
  36. <li><a href="#va_versions">Visual Age Versions</a></li>
  37. <li><a href="#history">History</a><a href="#history"></a></li>
  38. </ul>
  39. <hr>
  40. <h2><a name="introduction"></a>Introduction</h2>
  41. Visual Age for Java is a great Java IDE, but it lacks decent
  42. build support; for creating deliveries. On the other hand,
  43. Ant supports the build process very good, but is
  44. (at least at the moment) command line based. So we decided
  45. to write some tasks to access the VAJ repository and
  46. a small visual Ant frontend to make running Ant from VAJ possible.
  47. We use the Tool API to integrate Ant in VisualAge for Java.
  48. In combination with the VAJ tasks (vajload, vajexport, vajimport)
  49. you can load defined defined versions of projects into your workspace,
  50. export the source code, compile it with an external compiler
  51. and build a jar without leaving the IDE. Of course compile
  52. messages are viewed in a logging window. Concluding: This
  53. tool provides decent deployment support VAJ has not (out of the box).<br>
  54. <h2><a name="tasks"></a>The Tasks</h2>
  55. At the moment there are three tasks which help integrating the VAJ repository
  56. contents into an external build process:
  57. <table cellpadding="2" cellspacing="2" border="0" width="500">
  58. <tbody>
  59. <tr valign="Top">
  60. <td valign="Top"><a href="#vajload">VAJLoad</a><br>
  61. </td>
  62. <td valign="Top"> loads specified versions into the workspace<br>
  63. </td>
  64. </tr>
  65. <tr valign="Top">
  66. <td valign="Top"><a href="#vajexport">VAJExport</a><br>
  67. </td>
  68. <td valign="Top"> exports specified packages into the file system<br>
  69. </td>
  70. </tr>
  71. <tr valign="Top">
  72. <td valign="Top"><a href="#vajimport">VAJImport</a><br>
  73. </td>
  74. <td valign="Top"> imports specified files into the workspace<br>
  75. </td>
  76. </tr>
  77. </tbody>
  78. </table>
  79. These tasks are described in detail below.
  80. <hr>
  81. <h2><a name="vajload"></a>VAJLoad</h2>
  82. <h3>Description:</h3>
  83. <p>Loads a specified VAJ project version into the workspace.</p>
  84. <h3>Parameters</h3>
  85. <p>none</p>
  86. <h3>Parameters specified as nested elements</h3>
  87. <h4>vajproject</h4>
  88. <table border="1" cellpadding="2" cellspacing="0">
  89. <tbody>
  90. <tr>
  91. <td valign="Top"><b>Attribute</b></td>
  92. <td valign="Top"><b>Description</b></td>
  93. <td align="Center" valign="Top"><b>Required</b></td>
  94. </tr>
  95. <tr>
  96. <td valign="Top">name</td>
  97. <td valign="Top">name of the VAJ project to load into the workspace</td>
  98. <td valign="Top" align="Center">yes</td>
  99. </tr>
  100. <tr>
  101. <td valign="Top">version</td>
  102. <td valign="Top">name of the requested version</td>
  103. <td valign="Top" align="Center">yes</td>
  104. </tr>
  105. </tbody>
  106. </table>
  107. <h3>Example</h3>
  108. <pre>
  109. &lt;vajload&gt;
  110. &lt;vajproject name=&quot;My Testcases&quot; version=&quot;1.7beta&quot; /&gt;
  111. &lt;vajproject name=&quot;JUnit&quot; version=&quot;3.2&quot; /&gt;
  112. &lt;/vajload&gt;
  113. </pre>
  114. <hr>
  115. <h2><a name="vajexport"></a>VAJExport</h2>
  116. <h3>Description:</h3>
  117. <p>Exports Java source files, class files and/or resources from the workspace
  118. to the file system. Exports can be specified by giving the VAJ project
  119. name and package name(s). This works very similar to <a href="../CoreTypes/fileset.html">
  120. FileSets</a>. </p>
  121. <h3>Parameters</h3>
  122. <table border="1" cellpadding="2" cellspacing="0">
  123. <tbody>
  124. <tr>
  125. <td valign="Top"><b>Attribute</b></td>
  126. <td valign="Top"><b>Description</b></td>
  127. <td align="Center" valign="Top"><b>Required</b></td>
  128. </tr>
  129. <tr>
  130. <td valign="Top">destdir</td>
  131. <td valign="Top">location to store the exported files</td>
  132. <td valign="Top" align="Center">yes</td>
  133. </tr>
  134. <tr>
  135. <td valign="Top">exportSources</td>
  136. <td valign="Top">export source files (default: &quot;yes&quot;)</td>
  137. <td valign="Top" align="Center">no</td>
  138. </tr>
  139. <tr valign="Top">
  140. <td valign="Top">exportResources</td>
  141. <td valign="Top">export resource files (default: &quot;yes&quot;)</td>
  142. <td valign="Top" align="Center">no</td>
  143. </tr>
  144. <tr valign="Top">
  145. <td valign="Top">exportClasses</td>
  146. <td valign="Top">export class files (default: &quot;no&quot;)</td>
  147. <td valign="Top" align="Center">no</td>
  148. </tr>
  149. <tr valign="Top">
  150. <td valign="Top">exportDebugInfo</td>
  151. <td valign="Top">include debug info in exported
  152. class files (default: &quot;no&quot;)</td>
  153. <td valign="Top" align="Center">no</td>
  154. </tr>
  155. <tr valign="Top">
  156. <td valign="Top">defaultexcludes </td>
  157. <td valign="Top">use default excludes when exporting (default: &quot;yes&quot;)</td>
  158. <td valign="Top" align="Center">no</td>
  159. </tr>
  160. </tbody>
  161. </table>
  162. <h3>Parameters specified as nested elements</h3>
  163. <h4>include</h4>
  164. specifies the packages to include into the export
  165. <table border="1" cellpadding="2" cellspacing="0">
  166. <tbody>
  167. <tr>
  168. <td valign="Top"><b>Attribute</b></td>
  169. <td valign="Top"><b>Description</b></td>
  170. <td align="Center" valign="Top"><b>Required</b></td>
  171. </tr>
  172. <tr>
  173. <td valign="Top">name</td>
  174. <td valign="Top">name of the VAJ project and package to export.<br>
  175. The first element of the name must be the project name, <br>
  176. then the package name elements separated by '/'.</td>
  177. <td valign="Top">yes</td>
  178. </tr>
  179. </tbody>
  180. </table>
  181. <h4>exclude</h4>
  182. specifies the packages to exclude from the export<br>
  183. <table border="1" cellpadding="2" cellspacing="0">
  184. <tbody>
  185. <tr>
  186. <td valign="Top"><b>Attribute</b></td>
  187. <td valign="Top"><b>Description</b></td>
  188. <td align="Center" valign="Top"><b>Required</b></td>
  189. </tr>
  190. <tr>
  191. <td valign="Top">name</td>
  192. <td valign="Top">name of the VAJ project/package not to export</td>
  193. <td valign="Top" align="Center">yes</td>
  194. </tr>
  195. </tbody>
  196. </table>
  197. <h3>Example</h3>
  198. <pre>
  199. &lt;vajexport destdir=&quot;${src.dir}&quot; exportResources=&quot;no&quot;&gt;
  200. &lt;include name=&quot;MyProject/**&quot;/&gt;
  201. &lt;exclude name=&quot;MyProject/test/**&quot;/&gt;
  202. &lt;/vajexport&gt;
  203. </pre>
  204. This example exports all packages in the VAJ project 'MyProject', except
  205. packages starting with 'test'.
  206. <h3>Default Excludes</h3>
  207. The default excludes are:<br>
  208. <pre>
  209. IBM*/**
  210. Java class libraries/**
  211. Sun class libraries*/**
  212. JSP Page Compile Generated Code/**
  213. VisualAge*/**
  214. </pre>
  215. <hr>
  216. <h2><a name="vajimport"></a>VAJImport</h2>
  217. <h3>Description:</h3>
  218. <p>Imports Java source files, class files and/or resources from the file
  219. system into VAJ. These imports can be specified with a fileset. </p>
  220. <h3>Parameters</h3>
  221. <table border="1" cellpadding="2" cellspacing="0">
  222. <tbody>
  223. <tr>
  224. <td valign="Top"><b>Attribute</b></td>
  225. <td valign="Top"><b>Description</b></td>
  226. <td align="Center" valign="Top"><b>Required</b></td>
  227. </tr>
  228. <tr>
  229. <td valign="Top">vajProject</td>
  230. <td valign="Top">imported files are added to this VAJ project</td>
  231. <td valign="Top" align="Center">yes</td>
  232. </tr>
  233. <tr>
  234. <td valign="Top">importSources</td>
  235. <td valign="Top">export source files (default: "yes")</td>
  236. <td valign="Top" align="Center">no</td>
  237. </tr>
  238. <tr valign="Top">
  239. <td valign="Top">importResources</td>
  240. <td valign="Top">export resource files (default: "yes")</td>
  241. <td valign="Top" align="Center">no</td>
  242. </tr>
  243. <tr valign="Top">
  244. <td valign="Top">importClasses</td>
  245. <td valign="Top">export class files (default: "no")</td>
  246. <td valign="Top" align="Center">no</td>
  247. </tr>
  248. </tbody>
  249. </table>
  250. <h3>Parameters specified as nested elements</h3>
  251. <h4>fileset</h4>
  252. A <a href="../CoreTypes/fileset.html">FileSet</a> specifies the files to import.
  253. <h3>Example</h3>
  254. <pre>
  255. &lt;vajimport project="Test" importClasses="true"&gt;
  256. &lt;fileset dir="${import.dir}"&gt;
  257. &lt;include name="com/sample/**/*.class"/&gt;
  258. &lt;exclude name="com/sample/test/**"/&gt
  259. &lt;/fileset&gt;
  260. &lt;/vajimport&gt;
  261. </pre>
  262. This example imports all class files in the directory ${import.dir}/com/sample
  263. excluding those in the subdirectory test<br>
  264. <hr>
  265. <h2><a name="sample_buildfile"></a>A sample build file</h2>
  266. This is a sample build file which builds a zip file useful for distribution
  267. of the VAJ plugin. The build file exports a specific version of Ant, compiles
  268. it, extracts necessary helper classes and zips everything together. This
  269. is useful as complete example as well as to deploy Ant in a team where all
  270. developers use VAJ. The resulting zip file must be unzipped in
  271. <tt>&lt;VAJInstallDir&gt;\ide\tools\org-apache-tools-ant</tt>.
  272. For more information see the <a href="#installation">installation</a> section.<br>
  273. <br>
  274. <pre>
  275. &lt;?xml version="1.0"?&gt;
  276. &lt;!-- ======================================================================= --&gt;
  277. &lt;!-- Builds a binary distribution of the VAJ Ant Plugin --&gt;
  278. &lt;!-- ======================================================================= --&gt;
  279. &lt;project name="anttool" default="buildall" basedir="c:\temp\anttool"&gt;
  280. &lt;property name="src.dir" value="${basedir}/src"/&gt;
  281. &lt;property name="zip.dir" value="${basedir}/dist"/&gt;
  282. &lt;property name="build.classes" value="${basedir}/classes"/&gt;
  283. &lt;!-- location of the unzipped Ant source distribution --&gt;
  284. &lt;property name="antdistribution.dir" value="u:\ant-1.3beta1"/&gt;
  285. &lt;!-- VAJ install dir --&gt;
  286. &lt;property name="vaj.dir" value="C:\IBMVJava2"/&gt;
  287. &lt;path id="classpath"&gt;
  288. &lt;pathelement location="${src.dir}"/&gt;
  289. &lt;pathelement location="${vaj.dir}\IDE\project_resources\IBM IDE Utility class libraries" /&gt;
  290. &lt;pathelement location="${build.classes}"/&gt;
  291. &lt;/path&gt;
  292. &lt;!-- =================================================================== --&gt;
  293. &lt;!-- Load Projects into Workspace --&gt;
  294. &lt;!-- =================================================================== --&gt;
  295. &lt;target name="load" description="load projects"&gt;
  296. &lt;vajload&gt;
  297. &lt;project name="Ant" version="1.3"/&gt;
  298. &lt;project name="Apache Oro RegExp" version="2.0.1"/&gt;
  299. &lt;/vajload&gt;
  300. &lt;/target&gt;
  301. &lt;!-- =================================================================== --&gt;
  302. &lt;!-- Creates the build dirs --&gt;
  303. &lt;!-- =================================================================== --&gt;
  304. &lt;target name="preparedirs"&gt;
  305. &lt;mkdir dir="${basedir}"/&gt;
  306. &lt;mkdir dir="${src.dir}"/&gt;
  307. &lt;mkdir dir="${zip.dir}"/&gt;
  308. &lt;mkdir dir="${build.classes}"/&gt;
  309. &lt;/target&gt;
  310. &lt;!-- =================================================================== --&gt;
  311. &lt;!-- Export from VA --&gt;
  312. &lt;!-- =================================================================== --&gt;
  313. &lt;target name="export" depends="preparedirs" description="export projects"&gt;
  314. &lt;mkdir dir="${src.dir}"/&gt;
  315. &lt;!-- Export all Ant sources except optional tasks and the Oro sources --&gt;
  316. &lt;vajexport destdir="${src.dir}"&gt;
  317. &lt;include name="Ant/**"/&gt;
  318. &lt;exclude name="Ant/**/optional/**"/&gt;
  319. &lt;exclude name="Ant/org/apache/tools/ant/gui/**"/&gt;
  320. &lt;include name="Apache Oro*/**"/&gt;
  321. &lt;/vajexport&gt;
  322. &lt;!-- Export selected optional tasks --&gt;
  323. &lt;vajexport destdir="${src.dir}"&gt;
  324. &lt;include name="Ant/org/apache/tools/ant/taskdefs/optional/ide/**"/&gt;
  325. &lt;/vajexport&gt;
  326. &lt;/target&gt;
  327. &lt;!-- =================================================================== --&gt;
  328. &lt;!-- Unzip necessary libraries --&gt;
  329. &lt;!-- =================================================================== --&gt;
  330. &lt;target name="expand"&gt;
  331. &lt;mkdir dir="${build.classes}"/&gt;
  332. &lt;unzip src="${antdistribution.dir}\lib\crimson.jar"
  333. dest="${build.classes}"
  334. /&gt;
  335. &lt;unzip src="${antdistribution.dir}\lib\jaxp.jar"
  336. dest="${build.classes}"
  337. /&gt;
  338. &lt;delete dir="${build.classes}\META-INF" /&gt;
  339. &lt;/target&gt;
  340. &lt;!-- =================================================================== --&gt;
  341. &lt;!-- Compile the source code --&gt;
  342. &lt;!-- =================================================================== --&gt;
  343. &lt;target name="compile" depends="expand" description="compile java sources"&gt;
  344. &lt;mkdir dir="${build.classes}"/&gt;
  345. &lt;javac srcdir="${src.dir}"
  346. destdir="${build.classes}"
  347. debug="on"
  348. deprecation="off"
  349. optimize="on" &gt;
  350. &lt;classpath refid="classpath" /&gt;
  351. &lt;include name="org/apache/**"/&gt;
  352. &lt;exclude name="**/JakartaRegexpMatcher.java"/&gt;
  353. &lt;/javac&gt;
  354. &lt;/target&gt;
  355. &lt;!-- =================================================================== --&gt;
  356. &lt;!-- Copy resources and zip everything together --&gt;
  357. &lt;!-- =================================================================== --&gt;
  358. &lt;target name="zip" depends="compile" description="creates zip distribution"&gt;
  359. &lt;copy todir="${build.classes}"&gt;
  360. &lt;fileset dir="${src.dir}"&gt;
  361. &lt;include name="org/apache/**"/&gt;
  362. &lt;exclude name="**/*.java"/&gt;
  363. &lt;/fileset&gt;
  364. &lt;/copy&gt;
  365. &lt;mkdir dir="${build.classes}/doc"/&gt;
  366. &lt;copy todir="${build.classes}/doc" overwrite="yes"&gt;
  367. &lt;fileset dir="${antdistribution.dir}/docs"&gt;
  368. &lt;include name="VAJAnttool.html, toolmenu.gif, anttool1.gif"/&gt;
  369. &lt;/fileset&gt;
  370. &lt;/copy&gt;
  371. &lt;copy file="${antdistribution.dir}/src/main/org/apache/tools/ant/taskdefs/optional/ide/default.ini" todir="${build.classes}" overwrite="yes"/&gt;
  372. &lt;mkdir dir="${zip.dir}"/&gt;
  373. &lt;zip basedir="${build.classes}" zipfile="${zip.dir}/anttool.zip" /&gt;
  374. &lt;/target&gt;
  375. &lt;!-- =================================================================== --&gt;
  376. &lt;!-- Cleans source and class dirs --&gt;
  377. &lt;!-- =================================================================== --&gt;
  378. &lt;target name="clean" depends="preparedirs" description="removes all files from src and build tree"&gt;
  379. &lt;delete&gt;
  380. &lt;fileset dir="${src.dir}"/&gt;
  381. &lt;/delete&gt;
  382. &lt;delete&gt;
  383. &lt;fileset dir="${build.classes}"/&gt;
  384. &lt;/delete&gt;
  385. &lt;delete&gt;
  386. &lt;fileset dir="${zip.dir}"/&gt;
  387. &lt;/delete&gt;
  388. &lt;/target&gt;
  389. &lt;!-- =================================================================== --&gt;
  390. &lt;!-- Cleans the build dir, loads required project versions, exports, --&gt;
  391. &lt;!-- compiles and zips the Plugin --&gt;
  392. &lt;!-- =================================================================== --&gt;
  393. &lt;target name="buildall" depends="clean, load, export, zip" description="build all"&gt;
  394. &lt;/target&gt;
  395. &lt;/project&gt;
  396. </pre>
  397. <hr>
  398. <h2><a name="plugin"></a>The Plugin</h2>
  399. The tasks are usable within VAJ by running the
  400. org.apache.tools.ant.Main class, but this is
  401. quite inconvenient. Therefore a small GUI is
  402. provided which allows selecting a build file
  403. and executing its targets. This Plugin is accessible
  404. from the VAJ Tools menu (see <a href="#usage">Usage</a>).
  405. <hr>
  406. <h2><a name="installation"></a>Installation</h2>
  407. At the moment the installation has it's rough edges. If something
  408. described below doesn't work for You, it's probably not Your fault
  409. but incomplete/wrong instructions. In this case, please contact one
  410. of the <a href="#authors">authors</a>.
  411. We assume <font face="Courier">C:\IBMVJava</font> as VAJ install
  412. directory. If You have installed it elsewhere, adapt the pathes below.
  413. Execute following steps to get the PlugIn up and running:
  414. <ul>
  415. <li>install the Visual Age IDE Tools (via File-&gt;Quick Start-&gt;
  416. Add feature-&gt;'IBM IDE Utility class libraries'
  417. </li>
  418. <li>import an appropriate XML parser to VAJ (we use Xerces 1.2.0 and are
  419. happy with it). Unfortunately the XML parser delivered with VAJ (in
  420. the project 'IBM XML Parser for Java') doesn't work with Ant. You have to
  421. remove that project (temporarily) from the workspace before importing another
  422. XML implementation.
  423. </li>
  424. <li>import the Ant sources into VAJ.</li>
  425. <li>Create the directory <font face="Courier">
  426. C:\IBMVJava\ide\tools\org-apache-tools-ant</font>.
  427. </li>
  428. <li>export the Ant and XML parser class files into this directory. Be sure
  429. to select class files and resources. Sources don't have to be exported.
  430. Some optional tasks have errors and can't be exported when You
  431. don't have the necessary packages in Your workspace (e.g. junit
  432. task, ejbc task). If You need this tasks either import these packages
  433. into VAJ, too, or copy the .class files directly from the binary
  434. distribution.
  435. </li>
  436. <li>copy <font face="Courier">default.ini</font> (in <font face="Courier">
  437. jakarta-ant\src\...\taskdefs\optional\ide</font>) to <font face="Courier">
  438. C:\IBMVJava\ide\tools\org-apache-tools-ant\default.ini</font>.
  439. </li>
  440. <li>if you want to access this help from the Workbench, create the
  441. directory <font face="Courier"> C:\IBMVJava\ide\tools\org-apache-tools-ant\doc</font>
  442. and copy the files <font face="Courier">VAJAntTool.html</font>,
  443. <font face="Courier">toolmenu.gif</font> and <font face="Courier">
  444. anttool1.gif</font> to it.
  445. </li>
  446. <li>VAJ has to be restarted to recognize the new tool.</li>
  447. <li>Now if You open the context menu of a project, You should see the entry
  448. 'Ant Build' in the Tools submenu (see <a href="#usage">Usage</a>).
  449. </li>
  450. <li>Make sure the tool works as expected. Now You can remove Ant and the
  451. imported XML parser from Your workspace (and optionally add the
  452. IBM parser again).
  453. </li>
  454. </ul>
  455. <hr>
  456. <h2><a name="usage"></a>Usage</h2>
  457. Beeing sure the tool is installed correctly and your Ant build
  458. file is configured, it is really easy to use.<br>
  459. Go to your Workbench, select the project you want to deploy and
  460. open its context menu. In the submenu <i>Tools</i> you should find
  461. the new entry <i>Ant Build</i>. Klick it to start the tool!
  462. <center><img src="toolmenu.gif" border="0" height="246" width="393"></center>
  463. After a short time this frame should pop up:
  464. <center><img src="anttool1.gif" border="0" height="222" width="389"></center>
  465. This frame contains the following elements:
  466. <ul>
  467. <li>A menubar with some options described later</li>
  468. <li>The name of your selected VAJ project</li>
  469. <li>An entry field for the Ant XML buildfile with a browse [...] button.
  470. The full qualified filename, including the directory is needed here.
  471. </li>
  472. <li>A list with tasks specified in the buildfile. Until your first save
  473. of the build info (described later), this list will be empty. When
  474. loading a build file by the <i>Reload Project</i> button, this list
  475. is filled with all tasks which have a description attribute. The
  476. task you select in this list will be executed when pressing the
  477. <i> Execute Task</i> button.
  478. </li>
  479. <li>A pulldown box for specifying the log level.</li>
  480. <li>Three buttons. Two of them I have already described and the third one
  481. is just the <i>Close </i>button to exit our small tool!
  482. </li>
  483. </ul>
  484. After you have set up your buildprocess you might find it useful
  485. to save the data you've just entered, so we implemented an option to
  486. save it to the repository into your selected project. Make sure that you
  487. have an open edition of your project before selecting
  488. <i>Save BuildInfo To Repository</i> from the <i>File</i> menu.
  489. Now your information is saved to this edition of your project and will
  490. be loaded automatically the next time you start <i>Ant Build</i>.<br>
  491. If you have closed the log window accidentally, it can be reopened
  492. with the <i>Log</i> item in the <i>File</i> menu, and if you want to
  493. know who developed this, just select <i>About</i> in the <i>Help</i> menu.
  494. <hr>
  495. <h2><a name="faq"></a>Frequently Asked Questions</h2>
  496. <p><b>Q: I want to load, export and build more then one Visual Age project
  497. to one jar! How to?</b><br>
  498. A: The VA tasks are able to load and export several Projects all
  499. at once. You can choose whatever project you like for storing the tool
  500. information, it doesn't really matter
  501. </p>
  502. <p><b>Q: When I load my build file, the list of targets is empty. Why?</b><br>
  503. A: You need to add the optional "description" parameter to the targets You
  504. want to come up in the list. Then reload the build file in the "ant build"
  505. tool. We chose to display only targets with description to allow the build
  506. file developer to distinguish between targets for end users and helper targets.
  507. </p>
  508. <p><b>Q: Is there a sample build file available? </b><br>
  509. A: Now You can find an <a href="#sample_buildfile">example</a> in this manual
  510. </p>
  511. <p><b>Q: Why does it export my entire workspace when I've already implicitly
  512. selected a project when starting the Tool?</b><br>
  513. A: This selection does not carry into the buildfile you are using. Set the
  514. Project name at the beginning of the "includes" parameter.
  515. </p>
  516. <p><b>Q: When I import Ant into my Workspace, I get Problems reported. Can I
  517. ignore them?</b><br>
  518. A: It depends on the problems reported, and what you want to do with Ant.
  519. Problems you can't ignore:</p>
  520. <ul>
  521. <li>Classes from javax.xml.parser missing - install a compatible parser
  522. (see <a href="#installation">installation</a>)
  523. </li>
  524. <li>Classes from com.ibm.ivj.util missing - install the Visual Age IDE
  525. Utility feature (see <a href="#installation">installation</a>).
  526. </li>
  527. </ul>
  528. <p><b>Q: Why is the task name vajload when the class is called VAJLoadProjects?</b><br>
  529. A: At the moment this task can load only project versions. This is reflected
  530. by the class name. It may be extended to load package and class versions,
  531. too, and we didn't want to let these extensions affect the build files. Therefore
  532. we chose the more general name vajload as task name.
  533. </p>
  534. <p><b>Q: I want to use the same buildfile both within Visual Age and from the
  535. command line using my regular Ant environment. What do I need to be aware
  536. of?</b><br>
  537. A: The three Visual Age Tasks won't work when executing Ant from the command
  538. line.
  539. </p>
  540. <p><b>Q: How do I control the import/export of sourcefiles, compiled files and
  541. project resources explicity?</b><br>
  542. A: Via the Boolean values exportClasses (default false) exportSources (default
  543. true) and exportResources (default true). In some situations, Resources are
  544. not exported correctly without this being explicity set.
  545. </p>
  546. <hr>
  547. <h2><a name="known_problems"></a>Known Problems</h2>
  548. <ul>
  549. <li>Exporting a package containing just resources doesn't work. This is
  550. a VAJ Tool API bug. Workaround: create a dummy class and set 'exportSources'
  551. to false.
  552. </li>
  553. </ul>
  554. <hr>
  555. <h2><a name="va_versions"></a>VisualAge for Java Versions</h2>
  556. This tool integration has been tested with versions 3.02 and 3.5
  557. of VisualAge for Java. It should run with the 2.x Versions, too, but
  558. we didn't try. The graphical user interface is build with AWT so it is
  559. JDK independent by now.
  560. <hr>
  561. <h2><a name="history"></a>History</h2>
  562. <table cellpadding="2" cellspacing="2" border="1" width="400">
  563. <tbody>
  564. <tr valign="Top">
  565. <td valign="Top">1.0</td>
  566. <td valign="Top">2000/09/11</td>
  567. <td valign="Top">Initial Version</td>
  568. </tr>
  569. <tr valign="Top">
  570. <td valign="Top">1.1</td>
  571. <td valign="Top">2001/02/14</td>
  572. <td valign="Top">Added Task documentation and more FAQs (thanks to
  573. Richard Bourke for the FAQ additions)
  574. </td>
  575. </tr>
  576. </tbody>
  577. </table>
  578. <hr>
  579. <center>Copyright &copy; 2001 Apache Software Foundation. All rights Reserved.</center>
  580. </body>
  581. </html>