Actionscript 3 AS3编译时常量在ant脚本中设置时出错
我有一个使用编译时常量的AS3项目。这在FDT中运行良好,并添加了编译器参数,如:Actionscript 3 AS3编译时常量在ant脚本中设置时出错,actionscript-3,apache-flex,ant,Actionscript 3,Apache Flex,Ant,我有一个使用编译时常量的AS3项目。这在FDT中运行良好,并添加了编译器参数,如: -define=CONFIG::buildver,"0.1" 但在使用ant脚本进行构建时尝试复制此内容时: <project name="ProjectName" default="compileMain" basedir="."> <property file="build.properties" /> <target name="compileMain">
-define=CONFIG::buildver,"0.1"
但在使用ant脚本进行构建时尝试复制此内容时:
<project name="ProjectName" default="compileMain" basedir=".">
<property file="build.properties" />
<target name="compileMain">
<exec executable="${mxmlc}">
<arg line='-define=CONFIG::testvar,"0.1"' />
<arg line="-source-path '${classesdir}'" />
<arg line="-library-path '${flex3libsdir}'" />
<arg line="-output '${bindir}/TestSwf.swf'" />
<arg line="-file-specs '${classesdir}/Test_Main.as'" />
</exec>
</target>
I get“错误:配置值的初始值设定项必须是编译时常量。”
我尝试使用-define+=CONFIG,但得到了相同的响应
有编译时常数和ant经验的人有什么建议吗?我这样使用它:
<define name="CONFIG::LOGGING" value="false" />
<project name="ProjectName" default="compileMain" basedir=".">
<property file="build.properties" />
<target name="compileMain">
<exec executable="${mxmlc}">
<arg value="-define=CONFIG::testvar,0.1"/>
<arg value="-source-path"/>
<arg value="${classesdir}"/>
<arg value="-library-path"/>
<arg value="${flex3libsdir}"/>
<arg value="-output"/>
<arg value="${bindir}/TestSwf.swf"/>
<arg valye="-file-specs"/>
<arg value="${classesdir}/Test_Main.as"/>
</exec>
</target>
但是在
中,所以不确定它是否在exec中工作。。。但是你可以试试;) 我正在使用arg
和value
属性,并在每行交替使用键/值。不确定这是否是最佳实践(对我来说,这似乎相当粗制滥造),但我确实记得几年前我在设置Ant脚本时尝试了一系列不同的选项,这就是我一直坚持的地方
由于“不坏,不修”的原则,我已经离开了它,并一直在使用它相当愉快的两年多了
使用您的示例,它看起来像这样:
<define name="CONFIG::LOGGING" value="false" />
<project name="ProjectName" default="compileMain" basedir=".">
<property file="build.properties" />
<target name="compileMain">
<exec executable="${mxmlc}">
<arg value="-define=CONFIG::testvar,0.1"/>
<arg value="-source-path"/>
<arg value="${classesdir}"/>
<arg value="-library-path"/>
<arg value="${flex3libsdir}"/>
<arg value="-output"/>
<arg value="${bindir}/TestSwf.swf"/>
<arg valye="-file-specs"/>
<arg value="${classesdir}/Test_Main.as"/>
</exec>
</target>
相同的格式在exec中不起作用,我尝试在comp中添加,但找不到可以使用的tage。然而,你的格式确实让我走上了一条行之有效的道路。谢谢谢谢,看起来很管用。不知道我自己怎么没试过。在看到你发表文章之前,我使用“-define+=CONFIG::buildstatus”“ALPHA\”,让它工作起来。工作了,但没有你的干净。再次感谢