Wiki source code of WOProject
Version 78.1 by Andrus Adamchik on 2006/09/16 12:50
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
78.1 | 1 | WOProject is a suite of extensions for ant to build WOApplications and WOFrameworks |
| |
76.1 | 2 | |
| |
78.1 | 3 | == Introduction == |
| |
76.1 | 4 | |
| |
78.1 | 5 | Ant build files are broken into what are called '[[targets>>http://ant.apache.org/manual/using.html#targets]]', similar to a [[Makefile>>http://en.wikipedia.org/wiki/Makefile]]. These targets are a group of, what are called, '[[tasks>>http://ant.apache.org/manual/tasksoverview.html]]'. Tasks are used for getting work done; they make something happend directly, e.g. [[move files>>http://ant.apache.org/manual/CoreTasks/move.html]] on the filesystem, [[compile java>>http://ant.apache.org/manual/CoreTasks/javac.html]] source files into classes, [[transfer files>>http://ant.apache.org/manual/OptionalTasks/scp.html]] from one server to another over ssh, etc. |
| 6 | |||
| 7 | While Ant is distributed with around fifty built-in tasks, any number of customized tasks can easily be added by developers outside of the core Ant team. | ||
| 8 | |||
| 9 | WOProject is such a project. WOProject adds a half dozen tasks to Ant. These tasks allow WebObject developers the freedom to use Ant in their build process, instead of the using Apple's XCode suite. A few of these tasks are: [[WOCompile>>http://objectstyle.org/woproject-old/ant/wocompile.html]], [[WOApplication>>http://objectstyle.org/woproject-old/ant/woapplication.html]], [[WOFramework>>http://objectstyle.org/woproject-old/ant/woframework.html]]. After dropping the WOProject core jars into Ant's lib directory, these tasks can be used directly in the typical Ant build.xml file in building your WebObjects projects. | ||
| 10 | |||
| 11 | See the link above to the old site for in-depth documentation on each of these new tasks, as well as their [[APIs>>http://objectstyle.org/woproject-old/api/index.html]]. | ||
| 12 | |||
| 13 | Reasons for using Ant to build WebObjects frameworks and applications: | ||
| 14 | |||
| 15 | * Ant is highly configurable and flexible, with constant additions from the open source community, and is considered a defacto standard by the Java community | ||
| 16 | |||
| 17 | * Builds of projects with a very large number of files without dependency failures | ||
| 18 | |||
| 19 | * Allows easy automation of daily builds for teams of developers, i.e. nightly builds for smoke testing, etc. | ||
| 20 | |||
| 21 | == Ant Tasks == | ||
| 22 | |||
| 23 | //(for tasks not documented here see [[the old site>>http://objectstyle.org/woproject-old/ant/]]).// | ||
| 24 | |||
| 25 | * Core Tasks | ||
| 26 | ** [[WOCompile]]: A Javac task extension that allows including WOFrameworks in CLASSPATH. | ||
| 27 | ** [[WOApplication]]: A task for assembling WebObjects applications. | ||
| 28 | ** [[WOFramework]]: A task for assembling WebObjects frameworks. | ||
| 29 | ** [[WOGen]]: A task for generating custom Java EO classes from EOModel. | ||
| 30 | ** [[EOModel]]: A task for configuring custom connection dictionary for EOModels. | ||
| 31 | |||
| 32 | * WO Tools Integration Tasks: | ||
| 33 | ** [[PBIndex]]: Maintains PB.project file for integration with WOBuilder on Windows. | ||
| 34 | ** [[PBXIndex]]: Maintains PBX.pbproj file for integration with WOBuilder and EOModeler on older Mac OS X. | ||
| 35 | ** [[XcodeIndex]]: Maintains XCode project files for integration with WOBuilder on the latest Mac OS X. | ||
| 36 | |||
| 37 | * Generic Java Tasks | ||
| 38 | ** [[JApplication]]: A task for assembling native launchers of Java applications for a number of target platforms. | ||
| 39 | |||
| 40 | * [[Embedding WOFrameworks]] |