I'm having a hard time compiling my application using Flex 3 Ant tasks. When
I compile it in Flex Builder, using the default compiler, everything works
fine. But when I try to build it from the command line (which I need to do
on my continuous integration server) using the attached ant build file, I
always get the following error:
main:
    [mxmlc] Loading configuration file /Applications/Adobe Flex Builder 3
Plug-in/sdks/3.1.0/frameworks/flex-config.xml
    [mxmlc] /Users/sarbogast/dev/myapp/flex/src/index_384727.cache (No such
file or directory)
    [mxmlc] Error: Java heap space
    [mxmlc]
    [mxmlc] java.lang.OutOfMemoryError: Java heap space
    [mxmlc] at
macromedia.asc.parser.NodeFactory.qualifiedIdentifier(NodeFactory.java:1779)
    [mxmlc] at
macromedia.asc.parser.NodeFactory.qualifiedIdentifier(NodeFactory.java:1773)
    [mxmlc] at
macromedia.asc.parser.NodeFactory.binaryFunctionDefinition(NodeFactory.java:719)
    [mxmlc] at macromedia.abc.AbcParser.methodTrait(AbcParser.java:698)
    [mxmlc] at macromedia.abc.AbcParser.methodTrait(AbcParser.java:516)
    [mxmlc] at macromedia.abc.AbcParser.parseTraits(AbcParser.java:1130)
    [mxmlc] at macromedia.abc.AbcParser.classTrait(AbcParser.java:1064)
    [mxmlc] at macromedia.abc.AbcParser.parseTraits(AbcParser.java:1144)
    [mxmlc] at macromedia.abc.AbcParser.parseScript(AbcParser.java:1197)
    [mxmlc] at macromedia.abc.AbcParser.parseAbc(AbcParser.java:108)
    [mxmlc] at flex2.compiler.abc.Compiler.parse1(Compiler.java:179)
    [mxmlc] at flex2.compiler.API.parse1(API.java:2315)
    [mxmlc] at flex2.compiler.API.parse1(API.java:2268)
    [mxmlc] at flex2.compiler.API.batch2(API.java:369)
    [mxmlc] at flex2.compiler.API.batch(API.java:1117)
    [mxmlc] at flex2.compiler.API.compile(API.java:1311)
    [mxmlc] at flex2.compiler.API.compile(API.java:1210)
    [mxmlc] at flex2.tools.Compiler.mxmlc(Compiler.java:240)
    [mxmlc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [mxmlc] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [mxmlc] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
    [mxmlc] at flex.ant.FlexTask.executeInProcess(FlexTask.java:310)
    [mxmlc] at flex.ant.FlexTask.execute(FlexTask.java:243)
    [mxmlc] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [mxmlc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [mxmlc] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [mxmlc] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
    [mxmlc] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
    [mxmlc] at org.apache.tools.ant.Target.execute(Target.java:357)

BUILD FAILED
/Users/sarbogast/dev/myapp/flex/build.xml:12: mxmlc task failed

Yet, I've already set the memory limit to the maximu on my machine. Any
idea?

-- 
Sébastien Arbogast

http://sebastien-arbogast.com
<project basedir="." default="main" name="myapp">

	<taskdef resource="flexTasks.tasks" classpath="${basedir}/../library/ant/flexTasks.jar" />

	<property environment="env" />
	<property name="FLEX_HOME" value="${env.FLEX_HOME}" />
	<property name="src.dir" value="${basedir}/src" />
	<property name="output.dir" value="${basedir}/../public" />
	<property name="lib.dir" value="${basedir}/../library/flex" />

	<target name="main" depends="wrapper">
		<mxmlc file="${src.dir}/index.mxml" output="${output.dir}/index.swf" keep-generated-actionscript="false" incremental="true">
			<jvmarg value="-Xmx2048M" />
			<jvmarg value="-Xms512M" />
			<locale>en_US</locale>
			<locale>fr_BE</locale>
			<source-path>src</source-path>
			<source-path>src/locale/{locale}</source-path>
			<allow-source-path-overlap>true</allow-source-path-overlap>
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
			<source-path path-element="${FLEX_HOME}/frameworks" />
			<services>src/services-config.xml</services>
			<license product="flexbuilder3" serial-number="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"/>
			<compiler.include-libraries dir="${lib.dir}" append="true">
			    <include name="flexlib.swc" />
				<include name="datavisualization.swc"/>
				<include name="datavisualization_rb.swc"/>
			</compiler.include-libraries>
		</mxmlc>
	</target>

	<target name="wrapper">
		<html-wrapper title="My Application" file="index.html" 
			height="100%" width="100%" application="app" swf="index" version-major="9" version-minor="0" version-revision="0" history="true" 
			template="client-side-detection" output="${output.dir}" />
	</target>

	<target name="clean">
		<delete includeemptydirs="true">
			<!-- Deletes playerProductInstall.swf -->
			<fileset dir="${output.dir}" includes="playerProductInstall.swf" defaultexcludes="false" />
			<!-- Deletes history -->
			<fileset dir="${output.dir}/history" includes="**/*" />
			<!-- Deletes index.html -->
			<fileset dir="${output.dir}" includes="index.html" defaultexcludes="false" />
			<!-- Deletes and AC_OETags.js -->
			<fileset dir="${output.dir}" includes="AC_OETags.js" defaultexcludes="false" />
			<!-- Deletes index.swf -->
			<fileset dir="${output.dir}" includes="index.swf" defaultexcludes="false" />
		</delete>
	</target>

</project>

Reply via email to