Interesting. I have been deploying to a WAR that runs in Tomcat on
Windows Server 2000/2003 and OS X and I don't have to make any of
these changes.
Dave
On Aug 27, 2008, at 7:41 AM, Stefan Klein wrote:
> Hi,
>
> I tried out the war generation (Eclipse 3.3; WOLips 3.3.5390, WinXP,
> WO 5.2.4).
> To get it work i had to change some lines.
> You can find the changes in the attachment (search for SWK).
> I think some of the changes are relevant for Mac OS as well.
>
> Stefan
> <project name="FlussWin54" default="build" basedir=".">
>
> <!-- main targets -->
> <!-- add optional targets to depends list if needed -->
> <target name="build"
> depends="setProps,init.build,build.woapp,ssdd,war" />
>
> <target name="compileAndBuild"
> depends="setProps,init.build,compile,build.woapp,ssdd,war" />
>
> <target name="install"
> depends="setProps,init.install,build.woapp,ssdd,war" />
>
> <target name="clean" depends="setProps">
> <delete dir="dist" />
> </target>
>
> <!-- property determination -->
> <target name="setProps">
> <property file="${user.home}${file.separator}build.properties" />
> <property file="build.properties" />
> <property file="${user.home}${file.separator}Library$
> {file.separator}wobuild.properties" />
> <condition property="wo.properties.check.failed">
> <not>
> <and>
> <isset property="wo.wosystemroot" />
> <isset property="wo.wolocalroot" />
> </and>
> </not>
> </condition>
> <fail message="Could not find ${user.home}${file.separator}Library$
> {file.separator}wobuild.properties."
> if="wo.properties.check.failed" />
> <property name="install.dir" value="${wo.wolocalroot}/Library/
> WebObjects/Applications" />
> </target>
>
> <!-- basic initializations -->
> <target name="init.install">
> <tstamp />
> <property name="dest.dir" value="${install.dir}" />
> </target>
>
> <target name="init.build">
> <tstamp />
> <property name="dest.dir" value="dist" />
> </target>
>
> <!-- woproject tasks -->
> <target name="build.woapp">
>
> <taskdef name="woapplication"
> classname="org.objectstyle.woproject.ant.WOApplication">
> </taskdef>
>
> <!-- add webXML="true" to generate a web.xml file -->
> <woapplication name="${project.name}" stdFrameworks="false"
> destDir="${dest.dir}" customInfoPListContent="$
> {customInfoPListContent}" principalClass="${principalClass}"
> webXML="${webXML}" webXML_CustomContent="${webXML_CustomContent}">
> <classes dir="${classes.dir}">
> <patternset>
> <includesfile name="woproject/classes.include.patternset" />
> <excludesfile name="woproject/classes.exclude.patternset" />
> </patternset>
> </classes>
> <wsresources dir="WebServerResources">
> <patternset>
> <include name="**/*" />
> <exclude name="CVS" />
> <exclude name=".svn" />
> <excludesfile name="woproject/wsresources.exclude.patternset" />
> </patternset>
> </wsresources>
> <resources dir="Resources">
> <patternset>
> <include name="**/*" />
> <exclude name="CVS" />
> <exclude name=".svn" />
> <excludesfile name="woproject/resources.exclude.patternset" />
> </patternset>
> </resources>
> <resources dir="Components">
> <patternset>
> <include name="**/*" />
> <exclude name="CVS" />
> <exclude name=".svn" />
> <excludesfile name="woproject/resources.exclude.patternset" />
> </patternset>
> </resources>
> <frameworks root="${wo.wolocalroot}" embed="${servletDeployment}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wolocalroot" />
> </patternset>
> </frameworks>
> <frameworks root="${user.home}" embed="${servletDeployment}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.user.home" />
> </patternset>
> </frameworks>
> <frameworks root="${wo.wosystemroot}" embed="${servletDeployment}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wosystemroot" />
> </patternset>
> </frameworks>
> <otherclasspath root="${wo.wosystemroot}">
> <patternset>
> <includesfile name="woproject/ant.classpaths.wo.wosystemroot" />
> </patternset>
> </otherclasspath>
> <lib dir="Libraries">
> <include name="*.jar" />
> <exclude name="**/*.woa/**" />
> </lib>
> </woapplication>
> </target>
>
> <!-- optional targets -->
>
> <!-- war target-->
> <!-- To use this target remove the if="${never}" statement and
> follow the instructions for the ssdd target -->
> <target name="war" if="servletDeployment" depends="ssdd">
> <war destfile="${dest.dir}/${project.name}.war" webxml="$
> {dest.dir}/${project.name}/WEB-INF/web.xml">
> <fileset dir="${dest.dir}/${project.name}">
> <include name="**" />
> </fileset>
> </war>
> </target>
>
> <!-- ssdd target-->
> <!-- To use this target
> 1) remove the if="${never}" statement
> 2) change embed=true in the woapp target above
> 3) create the LICENSE in your project directory
> 4) add JavaWOJSPServlet in your WOFrameworks build path
> 5) Edit the build.properties file
> 6) set webXML = true
> -->
> <target name="ssdd" if="servletDeployment" depends="build.woapp">
> <mkdir dir="${dest.dir}/${project.name}/WEB-INF/classes" />
> <mkdir dir="${dest.dir}/${project.name}/WEB-INF/tlds" />
> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
> <fileset dir="${dest.dir}/${project.name}.woa/Contents/">
> <include name="web.xml" />
> </fileset>
> </copy>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
> <fileset dir="."> <!-- SWK fix: replace ".." with "." -->
> <include name="LICENSE" />
> </fileset>
> </copy>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
> <fileset dir="${dest.dir}">
> <include name="${project.name}.woa/**" />
> </fileset>
> </copy>
> <!-- copy the frameworks to the WEBINFROOT/Library directory -->
> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
> <fileset dir="${dest.dir}/${project.name}.woa/Contents">
> <include name="Library/**" />
> </fileset>
> </copy>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
> <fileset dir="${dest.dir}/${project.name}.woa">
> <include name="Resources/**" />
> </fileset>
> </copy>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib/">
> <fileset dir="${dest.dir}/${project.name}/WEB-INF">
> <include name="**/Resources/**/*.jar" />
> </fileset>
> <mapper type="flatten" />
> </copy>
>
> <!-- Get the necessary Frameworks from the webobjects system root
> instead of the project wrapper -->
> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib" file="$
> {wo.wosystemroot}/Library/Frameworks/JavaWOJSPServlet.framework/
> WebServerResources/Java/JavaWOJSPServlet_client.jar" />
>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/tlds">
> <fileset dir="${wo.wosystemroot}/Library/Frameworks/
> JavaWOJSPServlet.framework/Resources/">
> <include name="WOtaglib_1_0.tld" />
> </fileset>
> </copy>
> <!-- the WebObject Extensions -->
> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib">
> <fileset dir="${wo.wolocalroot}/Library/WebObjects/
> Extensions/"><!-- SWK fix: added ${wo.wolocalroot} -->
> <include name="*.jar" />
> <exclude name="servlet.jar" />
> </fileset>
> <mapper type="flatten" />
> </copy>
>
>
> <!-- fix the Macos*ClassPath.txt files -->
>
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
> {project.name}.woa/Contents/MacOS/MacOSClassPath.txt" match="APPROOT/
> Resources/Java/${project.name.lowercase}.jar" replace="APPROOT/$
> {project.name}.woa/Contents/Resources/Java/$
> {project.name.lowercase}.jar" byline="true" />
>
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
> {project.name}.woa/Contents/MacOS/MacOSXServerClassPath.txt"
> match="APPROOT/Resources/Java/${project.name.lowercase}.jar"
> replace="APPROOT/${project.name}.woa/Contents/Resources/Java/$
> {project.name.lowercase}.jar" byline="true" />
>
> <!-- SWK fix Windows\CLSSPATH.TXT -->
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
> {project.name}.woa/Contents/Windows/CLSSPATH.txt" match="APPROOT\
> \Resources\\Java\\${project.name.lowercase}.jar" replace="APPROOT/$
> {project.name}.woa/Contents/Resources/Java/$
> {project.name.lowercase}.jar" byline="true" />
>
> <!-- SWK fix the UNIXClassPath.txt files -->
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
> {project.name}.woa/Contents/Unix/UNIXClassPath.txt" match="APPROOT/
> Resources/Java/${project.name.lowercase}.jar" replace="APPROOT/$
> {project.name}.woa/Contents/Resources/Java/$
> {project.name.lowercase}.jar" byline="true" />
>
> <!-- SWK fix Windows : Change the Backslash -->
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="WEBINFROOT//" replace="WEBINFROOT/" byline="true" />
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="\\Library/WebObjects" replace="/Library/WebObjects"
> byline="true" />
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="\\Resources\\Java\\" replace="/Resources/Java/"
> byline="true" />
>
> <!-- SWK fix : Path to WOtaglib -->
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="/WEB-INF/tlds//WEB-INF/tlds/WOtaglib_1_0.tld" replace="/WEB-
> INF/tlds/WOtaglib_1_0.tld" byline="true" />
>
> <!-- fix the web.xml file: the app itself needs project.name/
> Contents -->
>
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="WEBINFROOT/Resources/Java/${project.name.lowercase}.jar"
> replace="WEBINFROOT/${project.name}.woa/Contents/Resources/Java/$
> {project.name.lowercase}.jar" byline="true" />
>
> <!-- fix the web.xml file to remove the extra Frameworks/
> directory level for the frameworks -->
>
> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/web.xml"
> match="WEBINFROOT/Frameworks//" replace="WEBINFROOT/" byline="true" />
>
> </target>
>
> <target name="compile" depends="setProps,init.build">
> <taskdef name="wocompile"
> classname="org.objectstyle.woproject.ant.WOCompile" />
> <mkdir dir="bin" />
> <wocompile srcdir="Sources" destdir="bin">
> <frameworks root="${wo.dir.user.home.library.frameworks}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.user.home" />
> </patternset>
> </frameworks>
> <frameworks root="${wo.wolocalroot}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wolocalroot" />
> </patternset>
> </frameworks>
> <frameworks root="${wo.wosystemroot}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wosystemroot" />
> </patternset>
> </frameworks>
> <classpath>
> <fileset dir="${wo.wolocalroot}">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wolocalroot" />
> </patternset>
> </fileset>
> <fileset dir="Libraries">
> <filename name="**/*.jar" />
> </fileset>
> </classpath>
> </wocompile>
> </target>
> </project>
This archive was generated by hypermail 2.0.0 : Wed Aug 27 2008 - 09:56:30 EDT