Change 20100302-hqm-S by [email protected] on 2010-03-02 14:46:56 EST
in /Users/hqm/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: support for incremental compilation mode of as3 compiler
New Features:
Bugs Fixed:
Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)
Documentation:
Release Notes:
Overview:
The swf10 compiler path has been modified to work compatibly with
flex's "incremental" compilation mode. This is done by only rewriting
an intermediate .as file if the corresponding source .lzx file from
which it came has been modified more recently.
The Flex command shell tool (fcsh), which runs the flex compiler
incrementally, has been modified to run the Laszlo compiler in
incremental mode as well.
A typical debug session works like this
run our modified fcsh:
Adobe Flex Compiler SHell (fcsh)
Version 4.0.0 build 6898
Copyright (c) 2004-2007, 2010 Adobe Systems, Inc. All rights reserved.
(fcsh) lzc --runtime=swf9 main.lzx
...
lzc returned /Users/hqm/openlaszlo/trunk/test/inc/main.swf9.swf
fcsh: Assigned 1 as the compile target id
(fcsh) lcompile 1
writing output to /Users/hqm/openlaszlo/trunk/test/inc/main.swf9.swf
[make some changes to lzx files]
(fcsh) lcompile 1
writing output to /Users/hqm/openlaszlo/trunk/test/inc/main.swf9.swf
Loading configuration file
/Users/hqm/openlaszlo/trunk/WEB-INF/frameworks/flex-config.xml
Detected configuration changes. Recompile...
Recompile:
/private/var/folders/xh/xhmdrA41HCKjjiditeqN1k+++TI/-Tmp-/lzswf9/build/main/$lzc$class_barclass.as
Reason: Forced recompilation.
Recompile:
/private/var/folders/xh/xhmdrA41HCKjjiditeqN1k+++TI/-Tmp-/lzswf9/build/main/$lzc$class_m7.as
Reason: Forced recompilation.
Files changed: 0 Files affected: 11
/var/folders/xh/xhmdrA41HCKjjiditeqN1k+++TI/-Tmp-/lzswf9/./build/main/app.swf
(117958 bytes)
renaming
/var/folders/xh/xhmdrA41HCKjjiditeqN1k+++TI/-Tmp-/lzswf9/./build/main/app.swf
to /Users/hqm/openlaszlo/trunk/test/inc/main.swf9.swf
Details:
The modified files for the flex fcsh tool are checked in to the /vendor branch.
WEB-INF/lps/server/src/org/openlaszlo/compiler/Main.java:
The LZX compiler (lzc) supports two new args, --incremental and --lzxonly
--lzxonly causes intermediate .as files to be written, but the flex
compiler is not called
--incremental causes intermediate .as files to only be written when
the corresponding source lzx files have changed
I removed old code which had a 'incremental' compiler option which was only
settable from
the lps.properties file.
WEB-INF/lps/config/lps.properties:
remove 'incremental' property, it is now an lzc optional arg
WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java:
Add option for "emit_as3_only", which will emit .as files, but not call flex
compiler
Add support for incremental mode, which only rewrites a .as file if the
corresponding .lzx file
is newer.
WEB-INF/lps/server/src/org/openlaszlo/sc/TranslationUnit.java:
Add accessor to find the source lzx filename for a tunit.
WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java
Tests:
1) Compile demos/lzpix/app.lzx using fcsh
2) modify one or more .lzx files in the app
3) rerun compilation in incremental mode ('lcompile' command)
4) verify that modified class or instance-class files are recompiled and linked
Files:
M WEB-INF/lib/fcsh.jar
M WEB-INF/bin/fcsh
M WEB-INF/lps/config/lps.properties
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/TranslationUnit.java
M
WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationEnvironment.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/Main.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100302-hqm-S.tar
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews