Max, this has the new log4j jar file.  Sometimes the laszlo patch system fails 
to delete the old jar file, so you should
verify that log4j.1.2.6.jar gets deleted and log4j.1.2.16.jar gets installed in 
WEB-INF/lib



Change hqm-20101005-ACj by [email protected] on 2010-10-05 14:51:28 EDT
    in /Users/hqm/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: fix for "lzc --runtime=swf10 does not print compiler warnings if Flex 
back-end has an error"

New Features:

Bugs Fixed: LPP-9400

Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)

Documentation:

Release Notes:

Overview:
    

Details:

CompilationError.java:
Main.java:
It turns out that a CompilationError has a
vector of auxiliary errors that it owns, which are used to record
compilation warnings. And when Compiler.compile catches a fatal error,
it helpfully attaches any accumlated warnings to it and throws it
again.

I added a toPlainText() method CompilationError which returns a
string made from the main error message plus the warnings (analogous
to the existing CompilationError.toXML() method that is used to
display warnings in the dev-console)  lzc (Main.java) calls this
method when it catches a CompilationError from the compiler.


cm/CompilationManager.java:
cache/Cache.java:
sc/SWF9External.java:
compiler/LibraryCompiler.java:
compiler/ObjectWriter.java:
compiler/DHTMLWriter.java:
compiler/SWFWriter.java:
compiler/FileResolver.java:
compiler/Compiler.java:
compiler/Main.java:
compiler/SWF9Writer.java:
compiler/CompilationError.java:
compiler/Parser.java:
compiler/CompilerMediaCache.java:

I discovered that a newer version of log4j has a "TRACE" level, which
is intended for finer grain logging. we have way too much info that
gets printed in mLogger.DEBUG level, making it much less useful for a
lot of debugging. I updated to a newer log4j jar file, and changed a
lot of the logger.debug() calls to logger.trace().

I made the flex compiler status output messages into mLogger.debug()
level, so now if you compile "lzc --runtime=swf10", you don't get all
the extraneous flex compiler command line debugging info. You but can
still view it by calling lzc -ldebug --runtime=swf10

"lzc -ltrace" will show all the stuff that debug level used to log



Tests:

compile this with lzc in swf10

<canvas>
  <view >
    <attribute name="bar" type="number"/>
    <method name="broken" returns="String">
      // Then forget to return a string
    </method>
    <view name="bar" />
  </view>
</canvas> 

you should see the fatal flex error printed PLUS the LZX compiler warnings

  lzc --runtime=swf10 test/lpp-9400.lzx
  Compiling: test/lpp-9400.lzx to lpp-9400.swf10.swf
  compiler output is Loading configuration file 
/Users/hqm/openlaszlo/trunk-clean/WEB-INF/frameworks/flex-config.xml
  Compilation errors occurred:
  org.openlaszlo.sc.CompilerError: test/lpp-9400.lzx: 4: Error: Function does 
not return a value, in line: static var displayName = "<anonymous 
extends='view'>";static var children = [{attrs: {name: "bar"}, "class": 
LzView}];static var attributes = new LzInheritedHash(LzView.attributes);var 
bar;function broken ():String {}
  test/lpp-9400.lzx:8:24: element view has the same name="bar" attribute as a 
sibling element at test/lpp-9400.lzx:4:42
  test/lpp-9400.lzx:8:24: an attribute or method named 'bar' already is defined 
on element view


Files:
A       WEB-INF/lib/log4j-1.2.16.jar
D       WEB-INF/lib/log4j-1.2.6.jar
M       WEB-INF/lps/server/src/org/openlaszlo/cm/CompilationManager.java
M       WEB-INF/lps/server/src/org/openlaszlo/cache/Cache.java
M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
M       WEB-INF/lps/server/src/org/openlaszlo/sc/Main.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ObjectWriter.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/DHTMLWriter.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/SWFWriter.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/FileResolver.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
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationError.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Parser.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilerMediaCache.java


Changeset: http://svn.openlaszlo.org/openlaszlo/patches/hqm-20101005-ACj.tar

Reply via email to