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
