Wiki source code of WOApplication
Version 32.1 by dlee on 2007/10/10 21:30
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
17.1 | 1 | = WOApplication Task Manual = |
2 | |||
3 | This has been transcribed by [[Andrew Lindesay>>http://www.lindesay.co.nz/]] from the old WOProject site. | ||
4 | |||
5 | == Description == | ||
6 | |||
7 | ##WOApplication## is an Ant task to build WebObjects applications from a set of files. It does not enforce any particular project structure and can be used to create applications without using the ProjectBuilder or XCode. | ||
8 | |||
9 | == Properties == | ||
10 | |||
11 | WOApplication behavior depends on various properties in the wobuild.properties file that specify common locations of the frameworks used by the application. These properties can be initialized with the ant script woproperties.xml. Per default the woapplication task expects this file in $user.home/Library/wobuild.properties. If no file is found the woapplication task resolves the property WOBUILD//PROPERTIES from the java properties and the environment(in this order) to find the file.// | ||
12 | |||
![]() |
27.1 | 13 | |= Property from the wobuild.properties file |= Description |= Default |
14 | | wo.wosystemroot | Usually this is a WebObjects installation directory, like "C:pple". | NEXT//ROOT environment variable, or root directory "/". // | ||
15 | | wo.localroot | Usually this is a "Local" directory under the directory specified by "wo.woroot". | $wo.woroot/Local | ||
16 | | wo.homeroot | Usually this is a user home directory. | $user.home | ||
![]() |
17.1 | 17 | |
18 | == Parameters == | ||
19 | |||
![]() |
27.1 | 20 | |= Attribute |= Description |= Required |
21 | | name | Name of the application (without .woa extension). | Yes | ||
22 | | chmod | Optional value for the chmod command executed by the WOApplication task. The default is "gu+x". The chmod command is only executed on the first build of the application and only on "Unix" platforms. The default is "750". | No | ||
23 | | destDir | Destination directory where the application woa should be created. | Yes | ||
24 | | wsDestDir | Destination directory where WebServerResorces should be copied during split install (presense of this parameter will trigger split install). WebServerResources will be created under [[wsDestDir]]/WebObjects/AppName.woa/Contents/. | No | ||
25 | | principalClass | Subclass of WOApplication to use. | Application | ||
26 | | customInfoPListContent | String to append to the Info.plist. | No | ||
27 | | stdFrameworks | If set to true, a set of standard frameworks will be associated with the deployed application (default is true). "Standard" frameworks are: JavaWebObjects, JavaWOExtensions, JavaEOAccess, JavaEOControl, JavaFoundation, JavaJDBCAdaptor, JavaXML. | No | ||
![]() |
31.1 | 28 | | jvm | Path to the JVM binary. Defaults to 'java' | No |
![]() |
27.1 | 29 | | jvmOptions | String for the JVM options in the classpath. | No |
![]() |
31.1 | 30 | | jdb | Path to the JVM binary. Defaults to 'java' | No |
31 | | jdbOptions | String for the jdb options in the classpath. | No | ||
![]() |
27.1 | 32 | | webXML | Generate web.xml | No |
33 | | webXML//WOROOT //| Optional parameter for the web.xml | No | ||
34 | | webXML//LOCALROOT //| Optional parameter for the web.xml | No | ||
35 | | webXML//WOAINSTALLROOT //| Optional parameter for the web.xml | No | ||
36 | | webXML//WOAppMode //| Optional parameter for the web.xml | No | ||
37 | | webXML//WOtaglib //| Optional parameter for the web.xml | No | ||
38 | | webXML//CustomContent //| Optional parameter for the web.xml | No | ||
![]() |
31.1 | 39 | | cfBundleVersion | CFBundleVersion for the Info.plist. Default is no version. | No |
40 | | cfBundleShortVersion | CFBundleShortVersionString for the Info.plist. Default is no version. | No | ||
41 | | cfBundleID | CFBundleIndetifier for the Info.plist. Defaults to 'com.myapp'. | No | ||
42 | | javaVersion | JavaVersion for the Info.plist. Used for selecting JVM compatibility. Defaults to '1.5+'. | No | ||
![]() |
29.1 | 43 | | frameworksBaseURL | This denotes the directory containing the framework webserver resources bundles (MyFramework.framework, ERExtensions.framework, etc.). |
44 | \\ This is typically useful for a embedded split install whereby all webserver resource frameworks (all = localroot and systemroot) are embedded in the webserver split install application bundle. The advantage of doing this is of course is clean upgrades with current versions of framework resources being used independently of what is installed on the deployment server. | ||
45 | \\ The URL is relating to the webserver document root. | ||
46 | \\ For example: frameworksBaseURL="/WebObjects/$project.name.woa/Frameworks" | No | ||
![]() |
27.1 | 47 | | startupScriptName | ..... | No |
![]() |
17.1 | 48 | |
49 | == Nested Elements == | ||
50 | |||
51 | === classes === | ||
52 | |||
![]() |
27.1 | 53 | The nested ##classes## element specifies a [[FileSet>>http://jakarta.apache.org/ant/manual/CoreTypes/fileset.html]]. All files included in this fileset will end up in the ##Contents/Resources/Java/**.jar**##** file of the application.** |
![]() |
17.1 | 54 | |
55 | === resources === | ||
56 | |||
57 | The nested ##resources## element specifies a [[FileSet>>http://jakarta.apache.org/ant/manual/CoreTypes/fileset.html]]. All files included in this fileset will end up in the ##Contents/Resources## directory of the application. For the discussion of resource localization issues follow [[this link>>WOProject-Localization]]. | ||
58 | |||
59 | === wsresources === | ||
60 | |||
61 | The nested ##wsresources## element specifies a [[FileSet>>http://jakarta.apache.org/ant/manual/CoreTypes/fileset.html]]. All files included in this fileset will end up in the ##Contents/WebServerResources## directory of the application. For the discussion of resource localization issues follow [[this link>>WOProject-Localization]]. | ||
62 | |||
63 | === frameworks === | ||
64 | |||
65 | The nested ##frameworks## is a [[FrameworkSet>>WOProject-FrameworkSet]] structure that specifies the names of the WebObjects Frameworks that this application is dependant upon. The jar files from these frameworks will be referenced in varios platform-specific depoyment files (such as CLASSPATH.TXT), and specified in the web.xml classpath if an application is deployed as a servlet. When building a FileSet, path should match up to the "**.framework" directory (no need to match individual JAR files).** | ||
66 | |||
67 | === lib === | ||
68 | |||
![]() |
19.1 | 69 | The nested lib element specifies a [[FileSet>>http://jakarta.apache.org/ant/manual/CoreTypes/fileset.html]]. This should be a fileset of jar libraries required by your application. All files in this fileset will end up in the ##Resources/Java## folder of the application, and will be included on the classpath for this application. |
![]() |
17.1 | 70 | |
![]() |
29.1 | 71 | === otherclasspath === |
72 | |||
73 | ? What does this do ? | ||
74 | |||
![]() |
17.1 | 75 | == Examples == |
76 | |||
77 | Create an application "MyApp" with a set of standard frameworks: | ||
78 | |||
79 | {{noformat}} | ||
80 | |||
81 | <taskdef name="woapplication" classname="org.objectstyle.woproject.ant.WOApplication"> | ||
82 | <classpath refid="classpath"/> | ||
83 | </taskdef> | ||
84 | |||
85 | <woapplication name="MyApp" destDir="${dist}/WebObjects/Applications"> | ||
86 | <classes dir="${build}/common"> | ||
87 | <exclude name="*.properties"/> | ||
88 | </classes> | ||
89 | <classes dir="${build}/business"> | ||
90 | <exclude name="*.properties"/> | ||
91 | </classes> | ||
92 | <resources dir="src/resources"> | ||
93 | <include name="*.eomodeld/**"/> | ||
94 | <include name="*.wo/**"/> | ||
95 | </resources> | ||
96 | <wsresources dir="src/frameworks/WSResources"> | ||
97 | <include name="Images/**"/> | ||
98 | </wsresources> | ||
99 | </woapplication> | ||
100 | |||
101 | {{/noformat}} | ||
102 | |||
103 | Create an application "MyApp" with no implicit standard frameworks and a set of custom frameworks located under HOMEROOT (defined from the value of ##wo.homeroot## property): | ||
104 | |||
105 | {{noformat}} | ||
106 | |||
107 | <woapplication name="MyApp" stdFrameworks="false" destDir="${dist}/WebObjects/Applications"> | ||
108 | ... | ||
109 | <frameworks dir="../Frameworks"> | ||
110 | <include name="**/*.framework"/> | ||
111 | </frameworks> | ||
112 | </woapplication> | ||
113 | |||
114 | {{/noformat}} |