Re: ant build file size issue
Re: ant build file size issue
- Subject: Re: ant build file size issue
- From: Jake Bearkley <email@hidden>
- Date: Tue, 6 Oct 2009 21:06:14 +1030
Thanks Chuck and Kieran.
I deleted the lines as suggested and it appears to be all good now.
I will upgrade soon, issue is I onlyhave the one Mac development machine and dont want to destroy my environment incase upgrade does not work as expected, so thanks Kieran for the heads up on the new build file.
Bearko
On Tue, Oct 6, 2009 at 3:34 AM, Chuck Hill
<email@hidden> wrote:
On Oct 5, 2009, at 5:35 AM, Jake Bearkley wrote:
./woproject/ant.frameworks.wo.wosystemroot
Delete these lines:
Library/Frameworks/JavaVM.framework
Library/Java/Extensions/AppleScriptEngine.jar
Library/Java/Extensions/CoreAudio.jar
Library/Java/Extensions/dns_sd.jar
Library/Java/Extensions/j3daudio.jar
Library/Java/Extensions/j3dcore.jar
Library/Java/Extensions/j3dutils.jar
Library/Java/Extensions/jai_codec.jar
Library/Java/Extensions/jai_core.jar
Library/Java/Extensions/mlibwrapper_jai.jar
Library/Java/Extensions/MRJToolkit.jar
Library/Java/Extensions/QTJava.zip
Library/Java/Extensions/vecmath.jar
So this includes Library/Frameworks/JavaVM.framework
how do I get rid of it. Do I do it by editing settings within eclipse or can I just delete it from this file?
Just edit the file and delete them. It looks like you have a very old version of WOLips. I'll suggest moving up to Eclipse 3.4 and a stable version of WOLips. That will include the New Hotness classpath handling and problems like this will be in the past.
Chuck
thanks in advance
Bearko
On Mon, Oct 5, 2009 at 10:15 PM, Kieran Kelleher <
email@hidden> wrote:
What is the contents of the
1) project's ".classpath" file? ...
2) woproject/ant.frameworks.wo.wosystemroot patternset file
-Kieran
On Oct 5, 2009, at 7:31 AM, Jake Bearkley wrote:
> an example
> ./Contents/Library/Frameworks/JavaVM.framework
>That would be your problem right there. It should NOT be embedding
>the Java JVM. Check your build file for something that is picking up
>Java* for embedding perhaps? It looks like it is grabbing this when
>it gets JavaWebObjects etc.
>Chuck
Thanks for the suggestion although the build.xml and build.properties have not changed in ages
below are the files, I can't spot what could be picking it up, can someone else?
much appreciated
Bearko
build.properties
#Mon Apr 06 11:21:41 CST 2009
webXML_CustomContent=
project.name=ProjJava
embed.Network=true
webXML=true
embed.System=true
eoAdaptorClassName=
embed.User=true
principalClass=Application
servletDeployment=true
embed.ProjectLocal=true
embed.Local=true
classes.dir=bin
project.name.lowercase=projjava
customInfoPListContent=
embed.External=true
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="ProjJava" 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="..">
<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="/Library/WebObjects/Extensions/">
<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"/>
<!-- 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>
On Sun, Oct 4, 2009 at 9:05 PM, Jake Bearkley <email@hidden> wrote:
Hi All,
I am still having these ant build file size issues.
I have analysed the resulting dist directories and there appears to be some recursive action happening.
8550+ extra files are being added during the build
an example
./Contents/Library/Frameworks/JavaVM.framework/Resources/VisualVM.bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/bundle/Contents/Home/platform9/update_tracking/org-netbeans-modules-autoupdate-ui.xml
when I delete the symbolic links
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bundle -> ../
/System/Library/Frameworks/JavaVM.framework/Resources/VisualVM.bundle/Contents/Home/bundle -> ../..
the build works fine and the size returns to the expected value
this is not a solution, but at least I can get a production deploy done !!!
Eclipse doesn't start without the symbolic links and I hate to think of other side effects of removing these links.
so to get any work done I have to
1) create links
2) start eclipse
3) remove symbolic links
4) do my work
5) create build
can anyone please help?
thanks in advance
Bearko
On Wed, Sep 23, 2009 at 11:25 PM, Jake Bearkley <email@hidden> wrote:
Hi All,
Eclipse 3.3.2 / WOLips 3.3.5304 / WebObjects 5.3 / Leopard 10.5.8
I am trying to build a project using ant embedding the 5.3 frameworks to deploy on 5.4.
I can build and run the project fine within eclipse.
Yesterday I started getting java heap space issue while trying to build the war file. Thanks to Chuck I now use ANT_OPS. I specify ANT_OPS in the VM variables on the JRE settings page and the project build successfully, BUT my build process which zips up the dist directory now creates a 300Mb tar file instead of a 40Mb tar file.
Can anyone suggest why the significant change?
I am sure the huge dist directory issue occurred before the ANT_OPS change. Perhaps this was the cause of the java heap space errors.
I possibly did a automatic software update since my last deploy, which may have included a java update but not 100% sure.
I reverted my project to last week and rebuilt and the dist directory is still huge, so I am sure it is nothing I have explicitly done/coded.
I obviously have cleaned the project, my java currentJDK points to 1.5
anyone have any suggestions?
Thanks in advance
Bearko
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (
email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden