Henry, I finally had time to look back into the problem with compiler exception: Changes in Flex Hero Note: TextLayoutFormatValueHolder was a leightweight replacement for an extremely inefficient TextLayoutFormat class. Since TLF 2.0 the TextLayoutFormats implementation has been completely replaced by the code of TextLayoutFormatValueHolder. So since Flex Hero (4.5) this class is no longer available. In this case, simply replace TextLayoutFormatValueHolder with TextLayoutFormats in the above example.
I replaced TextLayoutFormatValueHolder with TextLayoutFormat (no "s" here, that's a typo in the Adobe docs) within LzTLFTextFieldHostFormat.as and LzTLFTextFieldStyleResolver.as. Built the LFC again, and got the following errors. LzTLFTextFieldHostFormat needs to implement the following methods: + Interface method get clearFloats in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get linkActiveFormat in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get linkHoverFormat in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get linkNormalFormat in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get listAutoPadding in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get listMarkerFormat in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get listStylePosition in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get listStyleType in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get styleName in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method get wordSpacing in namespace flashx.textLayout.formats:ITextLayoutFormat + Interface method getStyle in namespace flashx.textLayout.formats:ITextLayoutFormat When I imlemented the missing methods as dummy methods, the LFC was compiled without any errors. I think what OL needs is a good guide for upgrading the Flex SDK to newer versions (including adding a new runtime radio to the dev console). Without that, it will be difficult to maintain the compiler, and keep the SWF runtime up-to-date. On Wed, Nov 16, 2011 at 1:02 AM, Raju Bitter <[email protected]> wrote: > Thanks, Henry. No problem. I'll look into this a bit more tomorrow, > and already have a basic understanding how the integration works. > > On Tue, Nov 15, 2011 at 11:06 PM, Henry Minsky <[email protected]> wrote: >> eek, seems like a few things need to be adjusted. I'm out of town for this >> week, maybe I can >> look at this when I get back. >> >> On Tue, Nov 15, 2011 at 2:52 PM, Raju Bitter >> <[email protected]> wrote: >>> >>> Henry, >>> >>> following your instructions, I noticed these things when upgrading the >>> Flex SDK to 4.5: >>> 1) lib/flexTasks.jar does not exist any more >>> >>> 2) the configuration of the Flex version, runtime version and path >>> information for playergobal.swc is spread out over a number of Java >>> classes, configuration files and probably other places. Is there any >>> list available which files need to be changed when a new Flash >>> version/runtime is added? >>> >>> 3) How is the value of >>> >>> <path-element>libs/player/{targetPlayerVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element> >>> set? >>> >>> 4) Using Flex 4.5 means, the playerglobal.swc will be 10.2, but the >>> generated SWF format will be Flash 11. Does that mean we should switch >>> the default runtime to Flash 11, or should the user be able to select >>> the version (10.1 or 11.0)? >>> >>> Here are the things I've tried so far: >>> a) copy the files from the new Flex version over into the $LPS_HOME >>> directory structure, following the guideline file Henry created >>> >>> b) Update the LPS.java player version in >>> WEB-INF/lps/server/src/org/openlaszlo/server/LPS.java >>> public static String mDefaultFlexVersion = "10.2"; >>> >>> c) Added the new Flex version to the list of known versions in >>> WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java: >>> public static List<String> KNOWN_FLEX_VERSIONS = >>> Arrays.asList("10.0", "10.1", "10.2"); >>> >>> d) Added the swf11 runtime switch in >>> org.openlaszlo.sc.SWF9External.java#compileTranslationUnits >>> if ("swf11".equals((String)options.get(Compiler.RUNTIME))) { >>> cmd.add("-target-player=10.2"); >>> } else if ("swf10".equals((String)options.get(Compiler.RUNTIME))) { >>> if ("10.1".equals(flex_version)) { >>> >>> e) LFC build folder WEB-INF/lps/lfc >>> In build.xml, add "11" to var swfruntimes. >>> The individual build shell scripts access the flex and runtime default >>> settings in >>> WEB-INF/lps/config/lps.properties >>> # Default runtime >>> compiler.runtime.default=swf11 >>> compiler.flex_version.default=10.2 >>> >>> Now, when I try to build, I get the following error message when >>> building the LFC SWC files: >>> lzl: >>> [echo] Compiling >>> /home/raju/src/svn/openlaszlo/trunk45/lps/includes/lfc/LFC10.swc >>> [echo] Runtime: swf10 >>> [java] compiler output is Loading configuration file >>> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/frameworks/flex-config.xml >>> [java] >>> [java] Exception compiling scriptfile: >>> org.openlaszlo.sc.CompilerError: line unknown: Error: Type was not >>> found or was not a compile-time constant: TextLayoutFormatValueHolder, >>> in line: attr:TextLayoutFormatValueHolder, >>> [java] line unknown: Error: Type was not found or was not a >>> compile-time constant: TextLayoutFormatValueHolder, in line: >>> styleSelector:String):TextLayoutFormatValueHolder >>> [java] org.openlaszlo.sc.CompilerException: >>> org.openlaszlo.sc.CompilerError: line unknown: Error: Type was not >>> found or was not a compile-time constant: TextLayoutFormatValueHolder, >>> in line: attr:TextLayoutFormatValueHolder, >>> [java] line unknown: Error: Type was not found or was not a >>> compile-time constant: TextLayoutFormatValueHolder, in line: >>> styleSelector:String):TextLayoutFormatValueHolder >>> [java] at org.openlaszlo.sc.Compiler.compile(Compiler.java:430) >>> [java] at org.openlaszlo.sc.lzsc.compile(lzsc.java:127) >>> [java] at org.openlaszlo.sc.lzsc.compile(lzsc.java:366) >>> [java] at org.openlaszlo.sc.Main.main(Main.java:23) >>> [java] Compilation aborted. >>> >>> BUILD FAILED >>> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/lps/lfc/build.xml:128: >>> javax.script.ScriptException: >>> sun.org.mozilla.javascript.internal.WrappedException: Wrapped The >>> following error occurred while executing this line: >>> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/lps/lfc/build.xml:80: >>> Java returned: 1 (<Unknown source>#28) in <Unknown source> at line >>> number 28 >>> at >>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110) >>> at >>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124) >>> at >>> javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> ... >>> >>> What should I do next? I still see that the system tries to build an >>> LFC10SWC, not an LFC11.SWC. And the error is probably connected to an >>> API change for the TLF. >>> >>> Any help appreciated. The runtime information is really spread out >>> over MANY files. >>> >>> Raju >>> >>> On Tue, Nov 15, 2011 at 2:17 PM, Raju Bitter >>> <[email protected]> wrote: >>> > Ignacio, >>> > >>> > did you ever try to upgrade the compiler? I'm going to give it a try >>> > today. Would be good to have the compiler upgraded before the 5.0 >>> > release. >>> > >>> > @Henry: If I run into any problems, I'd appreciate your help. >>> > >>> > Raju >>> > >>> > On Tue, Sep 13, 2011 at 2:43 PM, Amy Muntz <[email protected]> >>> > wrote: >>> >> Hi Ignacio, >>> >> >>> >> Yes - it would be great if you could work on SWF12 support. Let us >>> >> know how >>> >> it goes and if you get stuck, please don't hesitate to send email. This >>> >> would be a great step forward! >>> >> >>> >> Thanks so much! >>> >> Amy >>> >> >>> >> >>> >> >>> >> On Mon, Sep 12, 2011 at 7:44 PM, Donald Anderson <[email protected]> >>> >> wrote: >>> >>> >>> >>> Thanks, Henry. >>> >>> Ignacio, I also worked on this code, though not as recently as Henry. >>> >>> So I may be able to help too if you get stuck. >>> >>> Thanks for volunteering to work on this! >>> >>> - Don >>> >>> On Sep 12, 2011, at 6:56 PM, Henry Minsky wrote: >>> >>> >>> >>> I was the one who updated to the last SDK, I could help you out with >>> >>> trying to update. >>> >>> >>> >>> I had some steps I wrote up in a file in the sources, in >>> >>> 3rd-party/how-to-copy-flex >>> >>> >>> >>> There are probably better ways to grab the flex SDK bits than what I >>> >>> did, >>> >>> but this is a place to start. I can help out if there are any changes >>> >>> to the >>> >>> command line calls to >>> >>> invoke Flex. >>> >>> >>> >>> In the file >>> >>> WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java >>> >>> there is code which builds the command args that call the Flex >>> >>> compiler. It >>> >>> might be necessary to modify these if any args have changed or been >>> >>> added to >>> >>> mxmlc or compc >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Mon, Sep 12, 2011 at 3:49 PM, Ignacio Lopez >>> >>> <[email protected]> >>> >>> wrote: >>> >>>> >>> >>>> OL is missing from A LOT of new things in Flash by being stuck with >>> >>>> the >>> >>>> old SDK and swf formats...Any plans / timeframe to upgrade to Flex >>> >>>> 4.5 SDK >>> >>>> and support swf12? >>> >>>> I can volunteer some time to help if someone points me in the right >>> >>>> direction =) >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> Henry Minsky >>> >>> >>> >>> >>> >>> >>> >>> <howto-copy-flex> >>> >>> >>> >>> -- >>> >>> Don Anderson >>> >>> Java/C/C++, Berkeley DB, systems consultant >>> >>> >>> >>> voice: 617-306-2057 >>> >>> email: [email protected] >>> >>> www: http://www.ddanderson.com >>> >>> blog: http://libdb.wordpress.com >>> >>> >>> >>> >>> >>> >>> >>> >>> >> >>> >> >>> > >> >> >> >> -- >> Henry Minsky >> >> >> >>
