这是Open laszlo 4.9的有效ant构建脚本吗?我无法使用此文件构建它。
<project name="test" default="TestClient" basedir=".">
<property name="src" value="${basedir}/src"/>
<property name="webappDir" value="../webapp"/>
<property environment="env"/>
<property name="lzbin" value="${env.LPS_HOME}/WEB-INF/lps/server/bin"/>
<!-- use the correct compiler script based on platform -->
<condition property="lzc" value="${lzbin}/lzc">
<os family="unix"/>
</condition>
<condition property="lzc" value="${lzbin}/lzc.bat">
<os family="windows"/>
</condition>
<property name="TestClient.lzx" value="${basedir}/src/TestClient.lzx"/>
<property name="TestClient.swf" value="${basedir}/src/TestClient.swf"/>
<property name="TestClient.lzx.swf" value="${TestClient.lzx}.swf"/>
<property name="modules" value="${basedir}/src/modules"/>
<target name="TestClient" description="compile TestClient.lzx">
<echo message="${lzc}"/>
<exec executable="${lzc}" failonerror="true">
<arg value="${TestClient.lzx}"/>
<arg value='"--runtime=swf10"'/>
</exec>
<copy file="${TestClient.lzx.swf}" todir="${webappDir}"/>
<delete file="${TestClient.swf}"/>
<delete file="${TestClient.lzx.swf}"/>
</target>
<target name="Debug" description="update files on webapp folder from tdc/src">
<unzip src="${basedir}/../openlaszlo-4.9.0-servlet.war" dest="${webappDir}">
<patternset>
<exclude name="**/WEB-INF/web.xml"/>
<exclude name="**/META-INF/MANIFEST.MF"/>
<exclude name="**/my-apps/copy-of-hello.lzx"/>
</patternset>
</unzip>
<copy file="${TestClient.lzx}" todir="${webappDir}" overwrite="false"/>
<copy file="${basedir}/../etc/proxy.properties" todir="${webappDir}/WEB-INF/classes" overwrite="false"/>
<copy file="${basedir}/../webLZDebug.xml" tofile="${webappDir}/WEB-INF/web.xml" overwrite="true" />
<copy file="${webappDir}/tutorial.html" tofile="${webappDir}/debug.html" overwrite="true" />
<replace file="${webappDir}/debug.html">
<replacetoken><![CDATA[lzEmbed({url: 'TestClient.lzx.swf?lzt=swf&folder=calif&servletUrl=http://127.0.0.1:12345/servlet/fixed&eliminatorResource=resources/eliminator.swf&__lzhistconn='+top.connuid+'&__lzhisturl=' + escape('includes/h.html?h='), bgcolor: '#6691B4"', width: '100%', height: '100%'});]]></replacetoken>
<replacevalue><![CDATA[lzEmbed({url: 'TestClient.lzx?debug=true&lzt=swf&folder=calif&servletUrl=http://127.0.0.1:12345/servlet/fixed&eliminatorResource=resources/eliminator.swf&__lzhistconn='+top.connuid+'&__lzhisturl=' + escape('includes/h.html?h='), bgcolor: '#6691B4"', width: '100%', height: '100%'});]]></replacevalue>
</replace>
<copy todir="${webappDir}/modules" overwrite="true">
<fileset dir="${ctbmodules}"></fileset>
</copy>
</target>
<target name="help" description="describes usage">
<echo>
</echo>
</target>
</project>
我已经看过这个stackoverflow帖子。
How to build an OpenLaszlo DHTML application using Apache Ant我将准备一个像这样的剧本
但是,我只想确认早期的构建脚本是否存在任何问题。
答案 0 :(得分:1)
在第28行中,您必须删除运行时参数周围的额外引号。而不是
<arg value='"--runtime=swf10"'/>
应该是
<arg value="--runtime=swf10"/>
然后,lzc命令有一个-o或--output选项,您可以在其中定义输出文件。默认情况下,lzc命令会生成两个SWF文件,例如
lzc TestClient.lzx --runtime=swf10
生成TestClient.lzx.swf10.swf和TestClient.swf10.swf。使用-o选项,您可以直接指定文件名:
lzc --runtime=swf10 -o TestClient.swf TestClient.lzx
Compiling: TestClient.lzx to TestClient.swf
这是build.xml的修改部分:
<property name="TestClient.lzx" value="${basedir}/src/TestClient.lzx"/>
<property name="TestClient.swf" value="TestClient.swf"/>
<property name="modules" value="${basedir}/src/modules"/>
<target name="TestClient" description="compile TestClient.lzx">
<echo message="${lzc}"/>
<exec executable="${lzc}" failonerror="true">
<arg value="${TestClient.lzx}"/>
<arg value="--runtime=swf10"/>
<arg value="-o" />
<arg value="${TestClient.swf}" />
</exec>
<move file="src/${TestClient.swf}" todir="${webappDir}"/>
</target>
不要添加$ {TestClient.swf}属性的路径,否则lzc命令将创建文件名前面的文件夹结构。而不是在复制后删除生成的SWF文件,我只是移动它。这是Ant输出:
raju@T500:~/flex4.6/build-test$ ant
Buildfile: /home/raju/flex4.6/build-test/build.xml
TestClient:
[echo] /home/raju/src/svn/openlaszlo/trunk/WEB-INF/lps/server/bin/lzc
[exec] Compiling: /home/raju/flex4.6/build-test/src/TestClient.lzx to TestClient.swf
[move] Moving 1 file to /home/raju/flex4.6/webapp
BUILD SUCCESSFUL
结果目录结构。
├── build-test/
│ ├── build.xml
│ └── src
│ └── TestClient.lzx
└── webapp/
└── TestClient.swf