RE: [FALCON] internal error related to identifier resolution (?)
I'll try to find time to look at this later in the month. - Gordon Date: Thu, 1 Jan 2015 16:07:04 -0500 Subject: Re: [FALCON] internal error related to identifier resolution (?) From: darrell.love...@gmail.com To: dev@flex.apache.org No problem. It was not obvious, and I don’t think I’ve ever seen that pattern before. That’s why I’m hoping you or Gordon know how to teach the parser or reducer and other code how to handle this. It looks like the compiler sees the {} as a block and not an object literal. I'm currently trying to improve the code coverage utility so I don't have the cycles to take on this issue. -Darrell On Wed, Dec 31, 2014 at 11:12 AM, Alex Harui aha...@adobe.com wrote: No problem. It was not obvious, and I don’t think I’ve ever seen that pattern before. That’s why I’m hoping you or Gordon know how to teach the parser or reducer and other code how to handle this. It looks like the compiler sees the {} as a block and not an object literal. -Alex On 12/31/14, 5:06 AM, Darrell Loverin darrell.love...@gmail.com wrote: Agreed I see it now. Sorry for the bad info. -Darrell On Wednesday, December 31, 2014, Alex Harui aha...@adobe.com wrote: Yeah, I had to read it twice, but I believe result is supposed to be assigned to an Object with a property called “get” that points to a function. The {} after result is an Object literal. On 12/30/14, 8:03 PM, Greg Dove greg.d...@gmail.com javascript:; wrote: Darrell, isn't that get simply a field/property with a function value? If the issue is with the get keyword as a property name, then the OP could try using json-style field naming, with quotes: result = { get: function():Object { return JSON.parse(request.toString()); } }; If the above works unimpeded then the issue is with the new compiler not handling the keyword 'get' as a property name correctly (which it may now no longer allow as I understand it is more strict in some cases). On Wed, Dec 31, 2014 at 4:31 PM, Darrell Loverin darrell.love...@gmail.com javascript:; wrote: { // result = // { // get: function():Object // { // return JSON.parse(request.toString()); // } // }; To further isolate the problem I would try removing the get: label from the anonymous function to see it that compiles. I'm assuming this code works in the old compiler. -Darrell On Tue, Dec 30, 2014 at 11:40 AM, Alex Harui aha...@adobe.com javascript:; wrote: Hi, thanks for finding that. I forgot to ask you to use [FALCON] in the subject of these discussions (I changed the subject). Things like errors in the ABC subsystem might require advice from Gordon or Darrell. Thanks, -Alex On 12/30/14, 2:02 AM, Left Right olegsivo...@gmail.com javascript:; wrote: I was able to find the error: private function loadDescriptionBytes(request:ByteArray, success:Function, failure:Function):void { var result:Object; try { try { result = request.readObject(); if (!this.tryCreateDescription(result, success, failure)) { request.position = 0; throw new Error(); } } catch (error:Error) { // result = // { // get: function():Object // { // return JSON.parse(request.toString()); // } // }; if (!this.tryCreateDescription(result, success, failure)) { request.position = 0; throw new Error(); } } } catch (error:Error) { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener( Event.COMPLETE, this.loaderCompleteHandler); this._success = success; this._failure = failure; loader.loadBytes(request, new LoaderContext(false, ApplicationDomain.currentDomain)); } } With
RE: [FALCON] don't warn on assignment in while (condition) body
But -ignore-problems=org.apache.flex.compiler.problems.AbstractSemanticProblem doesn't currently cause all subclasses of AbstractSemanticProblem to be ignored, does it? - Gordon Date: Thu, 1 Jan 2015 15:50:11 -0500 Subject: Re: [FALCON] don't warn on assignment in while (condition) body From: darrell.love...@gmail.com To: dev@flex.apache.org The way warnings may be grouped is for example: syntactical, related to project structure, related to security, related to code safety (as opposed to security - a suspicious cast, an object used in a strange way etc.), related to code sloppiness - unused variables, function arguments, ureacheable code), deprecation warnings. The grouping of problems in Falcon is done via subclassing. AbstractSemanticProblem and its subclasses are an example of that. -Darrell On Thu, Jan 1, 2015 at 5:43 AM, Left Right olegsivo...@gmail.com wrote: Well, if you ask me how'd I like this to be, then, probably, I'd like this to have hierarchical structure (maybe I'm biased by how C compilers go about it). In other words, I'd like warnings to be grouped (not necessary by severity). Whether to warn on assignment inside condition is a matter of style, while warnings on duplicated source file most likely hint at an error. The way warnings may be grouped is for example: syntactical, related to project structure, related to security, related to code safety (as opposed to security - a suspicious cast, an object used in a strange way etc.), related to code sloppiness - unused variables, function arguments, ureacheable code), deprecation warnings. Then there could be some groups, which contain sets of warnings from different categories (such as pedantic, all, dangerous). Re' me being a committer - nope, not yet at least. I'm trying to convince my manager to let me migrate my project to use Falcon. Provided I'll succeed, I'll get time to work on the Falcon sources during my office hours and I'll be able to contribute more than just emails :) But this is far from being certain as of now. Which brings me to a completely unrelated question: if I wanted to convince someone to try Falcon, what would be the good argument to do so? Best, Oleg I would also like there to be a more easily recognizable names than 1234 and 5678 :) On Wed, Dec 31, 2014 at 10:29 PM, Gordon Smith gsmit...@hotmail.com wrote: Could this be improved to have a better interface? Darrell, don't -error-problems, -warning-problems, and -ignore-problems allow the problems to be specified either by fully-qualified class name or by numeric problem code? And isn't the numeric problem code displayed along with the problem message? Left Right, are you already a committer? If not, do you want to be one so that you can make improvements? If an option like -ignore-problems=1234,5678 works, do you think that's intuitive enough? I get 1388 hits for org.apache.flex.compiler.problems That's because there are 1388 or so classes representing compiler problems. No one would think of this as being an easy way to find an offending warning The way to search the source for the class representing a particular problem is to search for part of the English message. But you have to be careful not to search for something that is getting dynamically substituted for a placeholder in the string. I don't think most people would even go as far as looking into the source code for ways to void a warning message. Numeric problem codes seem like the way to go, if we don't already support them. - Gordon Date: Wed, 31 Dec 2014 11:56:45 +0200 Subject: Re: [FALCON] don't warn on assignment in while (condition) body From: olegsivo...@gmail.com To: dev@flex.apache.org Could this be improved to have a better interface?.. Grepping through the code I get 1388 hits for org.apache.flex.compiler.problems in Java files alone. No one would think of this as being an easy way to find an offending warning... But I don't think most people would even go as far as looking into the source code for ways to void a warning message. For those interested in this particular warning, I assume it's this one: org.apache.flex.compiler.problems.AssignmentInConditionalProblem Besides, there doesn't seem to be a way to specify this in the mxmlc Ant task... On Wed, Dec 31, 2014 at 4:28 AM, Darrell Loverin darrell.love...@gmail.com wrote: The falcon compiler and the (old) mxmlc compiler handle errors and warnings differently. In the mxmlc compiler a message is always an error/warning/info message at creation. In falcon, messages have a default severity but can be treated as an error, warning, or ignored. The configuration options to put a message into a severity category are -error-problems, -warning-problmes, and -ignore
RE: [FALCON] don't warn on assignment in while (condition) body
Could this be improved to have a better interface? Darrell, don't -error-problems, -warning-problems, and -ignore-problems allow the problems to be specified either by fully-qualified class name or by numeric problem code? And isn't the numeric problem code displayed along with the problem message? Left Right, are you already a committer? If not, do you want to be one so that you can make improvements? If an option like -ignore-problems=1234,5678 works, do you think that's intuitive enough? I get 1388 hits for org.apache.flex.compiler.problems That's because there are 1388 or so classes representing compiler problems. No one would think of this as being an easy way to find an offending warning The way to search the source for the class representing a particular problem is to search for part of the English message. But you have to be careful not to search for something that is getting dynamically substituted for a placeholder in the string. I don't think most people would even go as far as looking into the source code for ways to void a warning message. Numeric problem codes seem like the way to go, if we don't already support them. - Gordon Date: Wed, 31 Dec 2014 11:56:45 +0200 Subject: Re: [FALCON] don't warn on assignment in while (condition) body From: olegsivo...@gmail.com To: dev@flex.apache.org Could this be improved to have a better interface?.. Grepping through the code I get 1388 hits for org.apache.flex.compiler.problems in Java files alone. No one would think of this as being an easy way to find an offending warning... But I don't think most people would even go as far as looking into the source code for ways to void a warning message. For those interested in this particular warning, I assume it's this one: org.apache.flex.compiler.problems.AssignmentInConditionalProblem Besides, there doesn't seem to be a way to specify this in the mxmlc Ant task... On Wed, Dec 31, 2014 at 4:28 AM, Darrell Loverin darrell.love...@gmail.com wrote: The falcon compiler and the (old) mxmlc compiler handle errors and warnings differently. In the mxmlc compiler a message is always an error/warning/info message at creation. In falcon, messages have a default severity but can be treated as an error, warning, or ignored. The configuration options to put a message into a severity category are -error-problems, -warning-problmes, and -ignore-problems. So to suppress a warning use -ignore-problems, passing the fully-qualified problem class to ignore. For example: mxmlc -ignore-problems org.apache.flex.compiler.problems.ANELibraryNotAllowedProblem will ignore all reported problems with class ANELibraryNotAllowedProblem. The compiler will still report the problem it will just won't be displayed. For more info see the ProblemSettingsFilter class. This class handles the filtering and implements mxmlc options that ignore warnings. -Darrell On Tue, Dec 30, 2014 at 11:41 AM, Alex Harui aha...@adobe.com wrote: I don’t know for sure. Maybe Gordon or Darrell know if warning suppression is supposed to work in Falcon. On 12/30/14, 1:35 AM, Left Right olegsivo...@gmail.com wrote: I looked into mxmlc -help warnings but I don't see an option to void the warning issued on assignment inside while (and maybe other such places). Is there one, or it simply isn't implemented yet? Thanks!
RE: BlazeDS not compiling for clean copy of SDK source
[Alex:] flex-falcon relies on flex-sdk being built first, so I thought that was fair precedence OK, that's fair. But if I make flex-falcon build what it needs in flex-sdk, would you be willing to make flex-sdk build what it needs in flex-blazeds? - Gordon From: aha...@adobe.com To: dev@flex.apache.org Subject: Re: BlazeDS not compiling for clean copy of SDK source Date: Sun, 14 Dec 2014 07:14:30 + On 12/13/14, 1:45 PM, Gordon Smith gsmit...@hotmail.com wrote: I get the following error on a clean copy of the SDK, when I do an 'ant release' ... But as soon as I did an 'ant' on 'flex-blazeds' and then tried again, the problem went away ... [javac] /Users/erik/Documents/ApacheFlex/git/flexblazeds/modules/common/src/flex/ messaging/config/ApacheXPathClientConfigurationParser.java:19: error: package org.apache.xpath does not exist I had the same problem. I don't think it should be a requirement to manually build flex-blazeds before building flex-sdk. If the SDK needs something in BlazeDS, BlazeDS should have an ant target that automatically builds that thing without error, and the ant script for flex-sdk should call that target. The README should explain that you must have source for both repos and that you have asset BLAZEDS_HOME to point to flex-blazeds in addition to setting FLEX_HOME to point to flex-sdk. (Bummer that this isn't called SDK_HOME, or that both aren't FLEX_SDK_HOME and FLEX_BLAZEDS_HOME.) The way that the build.xml for flex-sdk finds the flex-blazeds repo looks inconsistent. I see references to ${BLAZEDS_HOME}, but I don't have this set and the script didn't seem to complain. I also see references to ${FLEX_HOME}/../flex-blazeds and to ${FLEX_HOME}/../blazeds. All references should go through BLAZEDS_HOME and an early check should fail if this isn't set. We can make changes, but IMO, flex-falcon relies on flex-sdk being built first, so I thought that was fair precedence. For both the BlazeDS and TLF dependencies, the flex-sdk script checks to see if you have the repos in a few expected places so you don’t have to set up environment variables. We’ve been doing this for TLF for some time now. Is the dependency on BlazeDS something that got added recently? What does the SDK need from BlazeDS? Yes, the BlazeDS dependency was added a few days ago. Before then, the SDK downloaded flex-messaging-common.jar from Adobe BlazeDS. We have now reduced our Adobe proprietary dependencies to just the optional fontswf jars. OSMF is under MPL, and AIR and Flash are considered build tools. The flex-messaging-common.jar is only needed when specifying a services-config in the MXMLC command line. No idea if this is supported in Falcon. FlexJS currently doesn’t leverage it. -Alex
RE: Determining which MXML elements are containers
I have a few points to belatedly make on this thread: 1. The 'specifications' folder of the 'flex-external' repository has a spec for MXML 2006 and 2009. It's incomplete, but it's the best one that exists. If you find that it doesn't answer your questions about which elements are allowed inside which elements, please let me know where specific information is missing or wrong and I'll try to improve the spec. 2. In the new Falcon compiler, MXMLNodeBase, the abstract base class for all nodes in the MXML syntax tree, has a method called processChildTag() which gets overridden in each subclass to process the allowed child tags (i.e., elements). For example, if you look at this method in MXMLDeclarationsNode (which represents fx:Declarations) you can see that MXMLComponentNode (representing fx:Component), MXMLModelNode (representing fx:Model), and MXMLInstanceNode (representing tags like s:Button and fx:int) are allowed, while all other tags are disallowed. Since Falcon hasn't been completed, this may or may not match the logic in the old compiler and in the spec, but the information still may be of some use to you. In any case, if you're using Falcon, your code hinting will match what the compiler allows. Are you working to incorporate Falcon into an IDE, or the old compiler? 3. In my opinion, code-hinting logic belongs in Falcon, and it would be great it you would add it there rather than in one particular IDE. Falcon was always intended to be a code-intelligence engine to support IDE editing, and not just a compiler. - Gordon
RE: BlazeDS not compiling for clean copy of SDK source
I get the following error on a clean copy of the SDK, when I do an 'ant release' ... But as soon as I did an 'ant' on 'flex-blazeds' and then tried again, the problem went away ... [javac] /Users/erik/Documents/ApacheFlex/git/flexblazeds/modules/common/src/flex/messaging/config/ApacheXPathClientConfigurationParser.java:19: error: package org.apache.xpath does not exist I had the same problem. I don't think it should be a requirement to manually build flex-blazeds before building flex-sdk. If the SDK needs something in BlazeDS, BlazeDS should have an ant target that automatically builds that thing without error, and the ant script for flex-sdk should call that target. The README should explain that you must have source for both repos and that you have asset BLAZEDS_HOME to point to flex-blazeds in addition to setting FLEX_HOME to point to flex-sdk. (Bummer that this isn't called SDK_HOME, or that both aren't FLEX_SDK_HOME and FLEX_BLAZEDS_HOME.) The way that the build.xml for flex-sdk finds the flex-blazeds repo looks inconsistent. I see references to ${BLAZEDS_HOME}, but I don't have this set and the script didn't seem to complain. I also see references to ${FLEX_HOME}/../flex-blazeds and to ${FLEX_HOME}/../blazeds. All references should go through BLAZEDS_HOME and an early check should fail if this isn't set. Is the dependency on BlazeDS something that got added recently? What does the SDK need from BlazeDS? - Gordon
What versions are used on the build machine?
Do we document anywhere the versions of Java, Ant, Maven, Flash Player, AIR, etc. that the build/test machines are currently using? I'd like to use the same versions. - Gordon
Re: [FALCON] MXML Parsing Issue
/basic:style fx:Script I don't see anything but whitespace between these. - Gordon On Oct 6, 2014, at 11:29 AM, Alex Harui aha...@adobe.com wrote: /basic:style fx:Script
Re: AW: [Falcon] Constructor NS (was: [Falcon] starting up)
It's a bit different in that the AVM is strict about access modifiers; you cannot use reflection to call a private method from outside its class. However I know developers have wanted non-public constructors for a long time and most won't care if they're not enforced at runtime, so I don't object to the compiler enhancement. I just wanted to mention something that folks should be aware of. Another thing to be aware of is that this mean there will be source code that compiles under a Falcon that doesn't compile under the old compiler. Would we change the old compiler as we'll or not bother? I'd say don't bother. - Gordon On Oct 5, 2014, at 8:09 AM, Christofer Dutz christofer.d...@c-ware.de wrote: But in java this is not much different. Unless you explicitly tell your Java VM to be strict, you can get a private constructor via Reflection, make this accesslible at runtime and instantiate it, no matter what the source-code says. Same with the type of generics. So I guess it would be a great addition to Flex to at least have features checked by the compiler, even if the runtime doesn't enforce it. Chris -Ursprüngliche Nachricht- Von: Gordon Smith [mailto:gsmit...@hotmail.com] Gesendet: Sonntag, 5. Oktober 2014 04:36 An: dev@flex.apache.org Betreff: Re: [Falcon] Constructor NS (was: [Falcon] starting up) In general the ActionScript Virtual Machine enforces access modifiers (so that, for example, something marked private is truly inaccessible by any means outside the class) but I don't think the AVM enforces non-public constructors. I'm guessing that a constructor in the ABC is public regardless of what the source code says, which would mean that the constructor could be invoked by any code via reflection. If this is the case, I'm not convinced we should pretend that constructors can be non-public. - Gordon Sent from my iPad On Oct 4, 2014, at 4:14 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Oct 4, 2014 12:55 PM, Frédéric THOMAS webdoubl...@hotmail.com wrote: Hi, I started to check if it was possible to have private and protected constructor in Falcon and I have to admit it was tricky especially because I never seen a compiler from inside before but it is apparently possible, I've been able to compile successfully: package myLib { public class CTORTest { private var _p:int; private function CTORTest(p:int) { _p = p; } private function anotherFct():CTORTest { return new CTORTest(10); } } } and using the compiled lib: ?xml version=1.0? s:Application xmlns:fx=http://ns.adobe.com/mxml/2009; xmlns:s=library://ns.adobe.com/flex/spark creationComplete=creationCompleteHandler(event) fx:Script![CDATA[ import mx.events.FlexEvent; import myLib.CTORTest; private function creationCompleteHandler(event:FlexEvent):void { var a:CTORTest = new CTORTest(1); } ]]/fx:Script /s:Application gives: [Fault] exception, information=VerifyError: Error #1014: La classe myLib:CTORTest::CTORTest est introuvable. (not found) with the legacy compiler and: F:\sources\falconTestDrive\shell\src\Main.mxml:9 Erreur: Appel d'une méthode qui ne semble pas définie CTORTest. (Call to a undefined method) var a:CTORTest = new CTORTest(1); (I will customize the error message later) I still need to check it works in the 3 possible ways to instantiate a Class [1] (at the moment it works only with 1st one), check that works with is / instanceOf, revisit the cast function accordingly and maybe other things not yet in my mind and especially check FP won't complain using it. /* expression = FunctionCallID(KeywordNewID(void), new_type_name, ContainerID(expression*)) */ /* expression = FunctionCallID(KeywordNewID(void), expression, ContainerID(expression*)) */ /* expression = FunctionCallID(KeywordNewID(void), vector_literal, ContainerID(void)) */ In case all this works and I'm far to know it at the moment, I will have to think about implement method overloading otherwise I can't see any usage of a protected constructor and therefore will probably require some help for the best way to implement it. Exciting to see these kind of experiments. A really good usecase for private constructor would be to create a Singleton class, I.e a class that cannot be instantiated outside of itself. Would that be something you can test for? Thanks, Om Thanks, Frédéric THOMAS From: webdoubl...@hotmail.com To: dev@flex.apache.org Subject: RE: [Falcon] starting up Date: Wed, 1 Oct 2014 16:57:28 +0100 Ah ok, thanks Gordon, I was tearing my hair out :-) Frédéric THOMAS Subject: Re: [Falcon] starting up From: gsmit...@hotmail.com Date: Wed, 1 Oct 2014 08:51:16 -0700 To: dev@flex.apache.org That comment is out of date. Code Model was the part of pre-Falcon Flash Builder that built an abstract
Re: AW: Another little problem with Falcon and Flexmojos
I'm not aware of this feature getting completed. There are some classes and interfaces for accessing ASDoc comments on APIs but I don't think they work. I think all comments are getting dropped by the lexer, so that no comments, or even their start/end positions, are present in the AST. Ideally, the AST would retain enough info about the source to pretty-format it, but that's not the case now. In addition to dropping //, /*, and /** comments, I think semicolons are also unrecorded. - Gordon On Oct 5, 2014, at 8:24 AM, Alex Harui aha...@adobe.com wrote: Afaict, there is no asdoc output code in Falcon today. Gordon might know for sure. It looks like there were plans to add it but it hasn't happened yet. Sent via the PANTECH Discover, an ATT 4G LTE smartphone. Christofer Dutz christofer.d...@c-ware.de wrote: In the old compiler the ASDoc tool seems to use static template stuff in asdoc/templates to generate its output. That's why flexmojos uses a template zip artifact, that it downloads and extracts in the local repository. I saw in the Falcon Sourcecode that there is code for ASDoc ... are you claiming that Falcon wouldn't support ASDoc? Think this should be added or we would be using some pretty important part of a Maven release, as Api Documentation is pretty important (At least I think it is). Chris -Ursprüngliche Nachricht- Von: Alex Harui [mailto:aha...@adobe.com] Gesendet: Sonntag, 5. Oktober 2014 05:43 An: dev@flex.apache.org Betreff: Re: Another little problem with Falcon and Flexmojos On 10/4/14, 8:59 AM, Christofer Dutz christofer.d...@c-ware.de wrote: Hi, another thing I just stumbled upon ist hat Falcon probably needs the ASDoc templates from the SDK. Am I correct with this? I¹m not sure what you mean by templates. I don¹t know the ASDoc compiler that well. I do think I discovered that Falcon doesn¹t have the ASDoc compiler feature like MXMLC does. But it is set up to eventually be the ASDoc compiler, we just have to implement handling the ASDoc nodes correctly. So short term, you may need to mix and match, but long-term in theory Falcon should be able to generate ASDoc. -Alex
Re: [Falcon] Constructor NS (was: [Falcon] starting up)
In general the ActionScript Virtual Machine enforces access modifiers (so that, for example, something marked private is truly inaccessible by any means outside the class) but I don't think the AVM enforces non-public constructors. I'm guessing that a constructor in the ABC is public regardless of what the source code says, which would mean that the constructor could be invoked by any code via reflection. If this is the case, I'm not convinced we should pretend that constructors can be non-public. - Gordon Sent from my iPad On Oct 4, 2014, at 4:14 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Oct 4, 2014 12:55 PM, Frédéric THOMAS webdoubl...@hotmail.com wrote: Hi, I started to check if it was possible to have private and protected constructor in Falcon and I have to admit it was tricky especially because I never seen a compiler from inside before but it is apparently possible, I've been able to compile successfully: package myLib { public class CTORTest { private var _p:int; private function CTORTest(p:int) { _p = p; } private function anotherFct():CTORTest { return new CTORTest(10); } } } and using the compiled lib: ?xml version=1.0? s:Application xmlns:fx=http://ns.adobe.com/mxml/2009; xmlns:s=library://ns.adobe.com/flex/spark creationComplete=creationCompleteHandler(event) fx:Script![CDATA[ import mx.events.FlexEvent; import myLib.CTORTest; private function creationCompleteHandler(event:FlexEvent):void { var a:CTORTest = new CTORTest(1); } ]]/fx:Script /s:Application gives: [Fault] exception, information=VerifyError: Error #1014: La classe myLib:CTORTest::CTORTest est introuvable. (not found) with the legacy compiler and: F:\sources\falconTestDrive\shell\src\Main.mxml:9 Erreur: Appel d'une méthode qui ne semble pas définie CTORTest. (Call to a undefined method) var a:CTORTest = new CTORTest(1); (I will customize the error message later) I still need to check it works in the 3 possible ways to instantiate a Class [1] (at the moment it works only with 1st one), check that works with is / instanceOf, revisit the cast function accordingly and maybe other things not yet in my mind and especially check FP won't complain using it. /* expression = FunctionCallID(KeywordNewID(void), new_type_name, ContainerID(expression*)) */ /* expression = FunctionCallID(KeywordNewID(void), expression, ContainerID(expression*)) */ /* expression = FunctionCallID(KeywordNewID(void), vector_literal, ContainerID(void)) */ In case all this works and I'm far to know it at the moment, I will have to think about implement method overloading otherwise I can't see any usage of a protected constructor and therefore will probably require some help for the best way to implement it. Exciting to see these kind of experiments. A really good usecase for private constructor would be to create a Singleton class, I.e a class that cannot be instantiated outside of itself. Would that be something you can test for? Thanks, Om Thanks, Frédéric THOMAS From: webdoubl...@hotmail.com To: dev@flex.apache.org Subject: RE: [Falcon] starting up Date: Wed, 1 Oct 2014 16:57:28 +0100 Ah ok, thanks Gordon, I was tearing my hair out :-) Frédéric THOMAS Subject: Re: [Falcon] starting up From: gsmit...@hotmail.com Date: Wed, 1 Oct 2014 08:51:16 -0700 To: dev@flex.apache.org That comment is out of date. Code Model was the part of pre-Falcon Flash Builder that built an abstract syntax tree to support intelligent editing. We used it as the beginning of Falcon's lexer and parser. The code is just looking at the AST to see if the constructor has a non-public namespace. - Gordon On Oct 1, 2014, at 8:33 AM, Frédéric THOMAS webdoubl...@hotmail.com wrote: I updated it to v17.0 and check in falcon\compiler\generated\dist\sdk\lib\external, is there. oops, looking better, it has both, just removed the bad one, it runs. Now, looking at internal\as\codegen\ClassDirectiveProcessor.java, I see that: // If a constructor has a namespace as part of it's declaration, it must be declared public. // It is ok to omit the namespace // We must check the AST, as CM treats all ctors as public no matter what the user typed in // so the FunctionDefinition will always be in the public namespace if( node.getActualNamespaceNode() != null node.getActualNamespaceNode().getName() != IASKeywordConstants.PUBLIC) problems.add(new ConstructorMustBePublicProblem(node.getActualNamespaceNode())); What is the CM or Code Model ? Thanks, Frédéric THOMAS From: aha...@adobe.com To: dev@flex.apache.org Subject: Re: [Falcon] starting up Date: Wed, 1 Oct 2014 13:36:50 + Could you have an old guava.jar? On 10/1/14 4:32 AM, Frédéric THOMAS webdoubl...@hotmail.com wrote: Hi, I built it with ANT an ran
Re: Probjem with incompatable Guava versions in Falcon
I don't know Maven. It seems like it should have a way to build its targets using a classpath that is different from the classpath for running Maven itself. - Gordon On Oct 3, 2014, at 8:01 AM, Frédéric THOMAS webdoubl...@hotmail.com wrote: Not only this method is used in Falcon but also the CacheLoader to create new Scope Caches on the fly and CacheLoader seems to be introduced since the version 10.0 Frédéric THOMAS From: aha...@adobe.com To: dev@flex.apache.org Subject: Re: Probjem with incompatable Guava versions in Falcon Date: Fri, 3 Oct 2014 14:54:41 + Don¹t really know the answer. Maybe Gordon or Darrell will have ideas. Seems like if Maven is using older versions of popular JARs they must have hit issues like this before? Are all Maven artifacts stuck to these older versions? -Alex On 10/3/14, 7:31 AM, Christofer Dutz christofer.d...@c-ware.de wrote: Hi, so I think I'm almost finished with adding Falcon support to Flexmojos. After being able to resolve all issues that I have come across, this one seems to be a blocker :-( Falcon uses Guava ... Maven uses Guava too. Unfortunately the version Maven uses differs from the one Falcon uses. Especially one class (Eventually more than this) is causing trouble. In the version Falcon is using the signature of com.google.common.cache.CacheBuilder.build is (guava.jar): public K1 extends K, V1 extends V LoadingCacheK1, V1 build(CacheLoader? super K1, V1 loader) { in that of Maven it's (sisu-guava-0.9.9): public K1 extends K, V1 extends V CacheK1, V1 build(CacheLoader? super K1, V1 loader) { It seems that LoadingCache extends Cache so depending on Cache instead of LoadingCache would be an option, unfortunately the one method used throughout the code is getUnchecked but this is native to LoadingCache so it doesn't seem to be an option. The problem ist hat Maven comes with guava ... the first maven version probably able to support a Flexmojos Build with Falcon will be 3.1.1 as this is the first version I found with guava 11 bundled, which seems to be the version the signature of the build-method changed. Would it be difficult to change Falcon to be compatable with earlier versions of Maven? Chris
Re: Is there a strict link between framework and compiler?
Both the old compiler and Falcon autogenerate plenty of code (for data binding, child creation, etc.) involving specific classes and interfaces from the SDK. I don't known whether these classes and interfaces have actually changed across versions of the SDK, but it's possible that they have. So I think we should consider the compiler and the SDK to be paired. Eliminating this pairing by autogenerating data which gets interpreted at runtime might or might not be a good idea, depending on the performance implications. - Gordon On Oct 3, 2014, at 8:08 AM, Alex Harui aha...@adobe.com wrote: On 10/3/14, 2:39 AM, Christofer Dutz christofer.d...@c-ware.de wrote: If there is no strict link between compiler version an framework version ... would it actually be a good idea to have separate versioning for framework and compiler? Falcon will probably have separate versioning. The first real release will probably not be 4.x, but rather, 1.0. At one point, the goal was for Falcon to be more SDK-independent that MXMLC. That was one of the reasons for compiler.mxml.children-as-data. The less code generated by the compiler, the fewer SDK dependencies there could be on that code. That was back when Falcon/ASC2.0 was to be bundled in Flash Builder to be used for code intelligence. This is less a concern for Apache Flex these days, so we don¹t have the same motivation for Falcon to be SDK-independent, but IMO, since there are fewer compiler-knowledgable people in the community, it still may be worth finishing the children-as-data handling in Falcon and the SDK so that future changes can be done in the SDK code. IIRC, there are subtle dependencies between MXMLC and the SDK it ships with, but the short-term goal for Falcon is to get it to generate the same code as MXMLC 4.6, and I don¹t believe Apache Flex has made any other changes to MXMLC¹s generated code so I suspect that Falcon should work with 4.6 and above. Then when that works, we can see about getting compiler.mxml.children-as-data to have the same net effect. -Alex
Re: [Falcon] starting up
That comment is out of date. Code Model was the part of pre-Falcon Flash Builder that built an abstract syntax tree to support intelligent editing. We used it as the beginning of Falcon's lexer and parser. The code is just looking at the AST to see if the constructor has a non-public namespace. - Gordon On Oct 1, 2014, at 8:33 AM, Frédéric THOMAS webdoubl...@hotmail.com wrote: I updated it to v17.0 and check in falcon\compiler\generated\dist\sdk\lib\external, is there. oops, looking better, it has both, just removed the bad one, it runs. Now, looking at internal\as\codegen\ClassDirectiveProcessor.java, I see that: // If a constructor has a namespace as part of it's declaration, it must be declared public. // It is ok to omit the namespace // We must check the AST, as CM treats all ctors as public no matter what the user typed in // so the FunctionDefinition will always be in the public namespace if( node.getActualNamespaceNode() != null node.getActualNamespaceNode().getName() != IASKeywordConstants.PUBLIC) problems.add(new ConstructorMustBePublicProblem(node.getActualNamespaceNode())); What is the CM or Code Model ? Thanks, Frédéric THOMAS From: aha...@adobe.com To: dev@flex.apache.org Subject: Re: [Falcon] starting up Date: Wed, 1 Oct 2014 13:36:50 + Could you have an old guava.jar? On 10/1/14 4:32 AM, Frédéric THOMAS webdoubl...@hotmail.com wrote: Hi, I built it with ANT an ran Falcon compc.bat from the generated/dist/sdk, does anyone knows why I get that ? Exception in thread main java.lang.NoClassDefFoundError: com/google/common/cache/CacheLoader at org.apache.flex.compiler.clients.MXMLC.init(MXMLC.java:379) at org.apache.flex.compiler.clients.COMPC.init(COMPC.java:54) at org.apache.flex.compiler.clients.COMPC.staticMainNoExit(COMPC.java:75) at org.apache.flex.compiler.clients.COMPC.main(COMPC.java:63) Caused by: java.lang.ClassNotFoundException: com.google.common.cache.CacheLoader at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 4 more Thanks, Frédéric THOMAS
Away Aug 3 - Sep 4
I won't be able to respond to any Falcon questions on the Apache Flex lists during this time. - Gordon
Re: AW: AW: AW: AW: AW: AW: Falcon and Antlr4
It sounds like you're making good progress. I agree with how you want to use the Antlr4 callbacks to construct a FalconAST. - Gordon Sent from my iPad On Jul 24, 2014, at 11:06 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Hi Gordon, I won't object that Shaoting Cai certainly knew what he was doing, but Antlr4 is in some respects greatly different from 2 and 3. I bet if Antlr4 had been available at the time Falcon was initiate, he would have used that. Not only does it seem to allow much simpler grammars, it also generates an interface for each grammar in which enterXYZ and exitXYZ callbacks are defined for every rule in the grammar. I can hereby create an implementation of that interface and construct the FalconAST in here directly. Usually you parse the input and get an AntlrAST and use a treewalker in conjunction with that Interface implementation, but you can also hook that up as parse-listener and it's used by the initial parsing. This way I think I could remove several tree traversals. I also got closer on the JBurg part. I was actually wrong with the runtime and generator part. It's actually all just a Generator. I therefore have create a jburg-maven-plugin that I can hook up into the build. The cool thing about that ist hat every plugin has it's own classloader and therefore JBurg can use whatever it likes without interfering with the rest. I am having one really strange classloading error though that I still need to investigage and as soon as that's finished I promissed tom to donate the plugin to JBurg. I also had a small discussion with tom and he will be willing to update JBurg to update JBurg to Antlr4 and Stringtemplate (The external stringtemplate, not the Antlr internal version). After that I agreed to make JBurg build with Maven ... so I guess we are having some progress on this :-) Chris -Ursprüngliche Nachricht- Von: Gordon Smith [mailto:gsmit...@hotmail.com] Gesendet: Freitag, 25. Juli 2014 04:10 An: dev@flex.apache.org Betreff: RE: AW: AW: AW: AW: AW: Falcon and Antlr4 I am sort of confused what JBurg is actually working on ... Does it directly work on FalconAST or is there some sort of ReducedFalconAST? The input to the BURM (Bottom-Up Rewrite Machine) that is produced by JBurg (Java Bottom-Up Rewrite Generator) is the FalconAST. For example, a BURM pattern like Pattern addExpr Op_AddID(expression l, expression r); in CMCPatterns.jbg, representing a '+' expression, applies to each subtree headed by a BinaryOperatorPlusNode, because the getNodeId() method of this node class returns Op_AddId. ABC code (I guess this is the native Flash bytecode?) Right. ABC stands for ActionScript Byte Code, which is the byte code esecuted by the ActionScript Virtual Machine (AVM) in the Flash Player and AIR. CSS... I would like to simplify this to: CSS --[CSSLexer]-- TokenStream --[CSSParser]-- [FalconAST] --[JBurg]-- SWF I won't object, however the CSS implementation was done for Falcon by a former Adobe engineer (Shaoting Cai) who was well versed in Antlr, since he had been a student of the professor who developed Antlr. (The AS lexer and parser are much older, inherited from Flash Builder, and written by engineers who were probably not as expert in Antlr, and were using older version of Antlr that didn't have tree parsers.) So I tend to think that the Antlr way may be to let Antlr create an AntlrAST automatically, and then transform it into a more custom FalconAST with a tree parser. On the other hand, if this is slower than having the parser produce the FalconAST directly from the token stream, which seems likely, then I vote for going for speed. AS... Here I would like to remove the RawASTTokenizer and replace that with an Antlr4 Lexer AS --[ASLexer]-- TokenStream --[ASParser]-- FalconAST --[JBurg]-- SWF This is what I had in mind, although again I'm not sure this would be considered Antlr best practice. (As before, if Shaoting had done the AS implementation, he probably would have produced an AntlrAST and then transformed it into a FalconAST with a tree parser.) Do we even need a dependency to JBurg itself to execute the code generated by JBurg? Yes. As you discovered, there is a runtime part, which determines which sequence of reductions has the lowest 'cost' and therefore gets used for code generation. I will contact the JBurg project and check if it was possible to switch to the new Stringtemplate project (and if it was possible to split up JBurg into two modules generator, and runtime). If Tom doesn't want to decouple JBurg from Antlr, one option would be for us to fork JBurg and remove its dependency on the Antlr Stringtemplate. Is another option for JBurg to continue using whatever old Antlr it has been using and the AS and CSS lexer/parser to use the latest Antlr? - Gordon From: christofer.d...@c
RE: AW: AW: AW: AW: AW: Falcon and Antlr4
still seems a little mystical to me though) I would like to simplyfy this to: CSS --[CSSLexer]-- TokenStream --[CSSParser]-- [FalconAST] --[JBurg]-- SWF // // ActionScript // For AS the procedure is different (As far as I got it together with your mail). We are using Antlr2 here: AS --[RawASTTokenizer]-- TokenStream --[ASParser]-- FalconAST --[JBurg]-- SWF Here I would like to remove the RawASTTokenizer and replace that with an Antlr4 Lexer AS --[ASLexer]-- TokenStream --[ASParser]-- FalconAST --[JBurg]-- SWF // // JBurg // In the meanwhile I think I had some progress. As far as I understand now JBurg is built by Antlr and uses Antlr to parse and generate output. The output however no longer has a reference to Antlr. Do we even need a dependency to JBurg itself to execute the code generated by JBurg? If not I would whip up a jburg-maven-plugin which wraps JBurgs execution. Then I think we shouldn't have any problems with Antlr versions. Currently a I want to do is do an Antlr4 POC for the CSS compilation. As soon as that's done, I would like to compare the performance to that of the existing one and only if that is at least as fast as the current solution I would proceed to the next part (If its not slower than the current solution I would prefer the simpler process). Chris Von: Gordon Smith gsmit...@hotmail.com Gesendet: Mittwoch, 23. Juli 2014 18:05 An: dev@flex.apache.org Betreff: RE: AW: AW: AW: AW: Falcon and Antlr4 CSSTree.g isn't involved in compiling AS files. It's involved only in compiling CSS files. For AS compilation: We use JFlex to create RawASTokenizer.java from RawASTokenizer.lex. This is a lexer which takes an AS file as input and creates a sequence of ASToken objects as output. We use Antlr 3 to create ASParser.java from ASParser.g. This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. This is a custom AST, not the kind of generic Antlr AST that Antlr can create automatically. If Antlr 4 can tokenize as fast as JFlex can, then I think it would be great to have a unified Antlr 4 lexer/parser. However, I strongly recommend keeping Falcon's custom AST classes. I'm not an expert on JBurg and wasn't aware that it had a dependency on Antlr. Can you please show me where this depencency is? The JBurg guys are basically one person, Tom Harwood, who used to work at Adobe but no longer does. I don't know whether he is still supporting JBurg or not. As for eliminating JBurg... This is certainly doable, but would have serious implications. The main reason that Falcon does code generation using JBurg is in order to perform various code optimizations such as constant propagation. These code optimizations would be much harder to do without JBurg. Ideally, these optimizations would be done in the ActionScript Virtual Machine rather than in the compiler (and this was the plan for AS4, which Adobe killed) but since they are NOT done in the current AVM, if the compiler doesn't do them then the code will execute slower. However, if cross-compilation to JavaScript is the main goal for the future, then perhaps slower AVM execution is tolerable. - Gordon From: christofer.d...@c-ware.de To: dev@flex.apache.org Subject: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 12:54:15 + Hi Eric, The question is definitely not silly. I'm not planning on changing anything here. The package tangling seems to be related with JBurg needing access to some objects that are not part of the interface but part of the internal model. I would untangle this by extending the Interface to provide anything JBurg needs so there shouldn't be any change in the Falcon AST. But after all that's just an optimization. Currently I'm digging in the inner workings of JBurg ... gee I sort of forgot why I looked in the inner workings of Falcon in the first place ;-) I would however like to remove as many processing phases and model conversions as possible as each one costs time and memory and makes things more compilcated to understand. Chris Von: Erik de Bruin e...@ixsoftware.nl Gesendet: Mittwoch, 23. Juli 2014 14:47 An: dev@flex.apache.org Betreff: Re: AW: AW: AW: Falcon and Antlr4 I'm not at all familiar with the inner workings of Falcon, but I know that FalconJX relies heavily on the current Falcon AST. Will the new AST be compatible with the old (that may be a silly question, but it's the only one I know to ask)? EdB On Wed, Jul 23, 2014 at 2:36 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok ... so I used some idle time setting up a clean falcon-antlr4 module starting with the CSS parsing. As far as I can see
RE: AW: AW: AW: AW: Falcon and Antlr4
CSSTree.g isn't involved in compiling AS files. It's involved only in compiling CSS files. For AS compilation: We use JFlex to create RawASTokenizer.java from RawASTokenizer.lex. This is a lexer which takes an AS file as input and creates a sequence of ASToken objects as output. We use Antlr 3 to create ASParser.java from ASParser.g. This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. This is a custom AST, not the kind of generic Antlr AST that Antlr can create automatically. If Antlr 4 can tokenize as fast as JFlex can, then I think it would be great to have a unified Antlr 4 lexer/parser. However, I strongly recommend keeping Falcon's custom AST classes. I'm not an expert on JBurg and wasn't aware that it had a dependency on Antlr. Can you please show me where this depencency is? The JBurg guys are basically one person, Tom Harwood, who used to work at Adobe but no longer does. I don't know whether he is still supporting JBurg or not. As for eliminating JBurg... This is certainly doable, but would have serious implications. The main reason that Falcon does code generation using JBurg is in order to perform various code optimizations such as constant propagation. These code optimizations would be much harder to do without JBurg. Ideally, these optimizations would be done in the ActionScript Virtual Machine rather than in the compiler (and this was the plan for AS4, which Adobe killed) but since they are NOT done in the current AVM, if the compiler doesn't do them then the code will execute slower. However, if cross-compilation to JavaScript is the main goal for the future, then perhaps slower AVM execution is tolerable. - Gordon From: christofer.d...@c-ware.de To: dev@flex.apache.org Subject: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 12:54:15 + Hi Eric, The question is definitely not silly. I'm not planning on changing anything here. The package tangling seems to be related with JBurg needing access to some objects that are not part of the interface but part of the internal model. I would untangle this by extending the Interface to provide anything JBurg needs so there shouldn't be any change in the Falcon AST. But after all that's just an optimization. Currently I'm digging in the inner workings of JBurg ... gee I sort of forgot why I looked in the inner workings of Falcon in the first place ;-) I would however like to remove as many processing phases and model conversions as possible as each one costs time and memory and makes things more compilcated to understand. Chris Von: Erik de Bruin e...@ixsoftware.nl Gesendet: Mittwoch, 23. Juli 2014 14:47 An: dev@flex.apache.org Betreff: Re: AW: AW: AW: Falcon and Antlr4 I'm not at all familiar with the inner workings of Falcon, but I know that FalconJX relies heavily on the current Falcon AST. Will the new AST be compatible with the old (that may be a silly question, but it's the only one I know to ask)? EdB On Wed, Jul 23, 2014 at 2:36 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok ... so I used some idle time setting up a clean falcon-antlr4 module starting with the CSS parsing. As far as I can see it, Falcon is currently using Antlr3 to generate the lexer and a parser that generates an Antlr AST from that Then we generate a second parser CSSTree.g to convert that AST into the falcon-internal object structure, which is then passed to JBurg to generate the output. As you mentioned the ability to manipulate the AST. Are you talking about the first (antlr) AST or the one the Falcon AST? I would like to elminiate the second parsing step and generate the internal model directly from the first parser using Antlr4s Listeners. Are there any objections against this? I doubt that anyone is manipulating the Antlr AST directly, much more would I expect operations to be performed on the Falcon AST. I managed to get the CSS Lexer and Parser finished. The grammar is way more readable now and the general structure is much more straight forward :-) Now I would like to Build the internal Falcon object model for that. Guess I would have to contact the JBurg guys for continuing from then as I definitely need Antlr4 support but I would bet that either JBurg is dead or they are working or at least thinking about that. I did detect some ugly cyclic dependencies in the falcon classes though ... for example we have interfaces for defining the internal models interface and have implementations of these interfaces in the internal packages, but unfortunately the interfaces reference classes in the internal model ... I think that's bad design and would like to clean that up. Any objections? (Keep in mind ... it's all in a dedicated branch, but I don't want to make it hard to merge back as
RE: AW: AW: AW: AW: Falcon and Antlr4
Regarding the proposed directory structure... I'm not familiar with Maven conventions. What is the purpose of the 'main' subdirectory in src/main/java? - Gordon From: gsmit...@hotmail.com To: dev@flex.apache.org Subject: RE: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 09:05:45 -0700 CSSTree.g isn't involved in compiling AS files. It's involved only in compiling CSS files. For AS compilation: We use JFlex to create RawASTokenizer.java from RawASTokenizer.lex. This is a lexer which takes an AS file as input and creates a sequence of ASToken objects as output. We use Antlr 3 to create ASParser.java from ASParser.g. This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. This is a custom AST, not the kind of generic Antlr AST that Antlr can create automatically. If Antlr 4 can tokenize as fast as JFlex can, then I think it would be great to have a unified Antlr 4 lexer/parser. However, I strongly recommend keeping Falcon's custom AST classes. I'm not an expert on JBurg and wasn't aware that it had a dependency on Antlr. Can you please show me where this depencency is? The JBurg guys are basically one person, Tom Harwood, who used to work at Adobe but no longer does. I don't know whether he is still supporting JBurg or not. As for eliminating JBurg... This is certainly doable, but would have serious implications. The main reason that Falcon does code generation using JBurg is in order to perform various code optimizations such as constant propagation. These code optimizations would be much harder to do without JBurg. Ideally, these optimizations would be done in the ActionScript Virtual Machine rather than in the compiler (and this was the plan for AS4, which Adobe killed) but since they are NOT done in the current AVM, if the compiler doesn't do them then the code will execute slower. However, if cross-compilation to JavaScript is the main goal for the future, then perhaps slower AVM execution is tolerable. - Gordon From: christofer.d...@c-ware.de To: dev@flex.apache.org Subject: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 12:54:15 + Hi Eric, The question is definitely not silly. I'm not planning on changing anything here. The package tangling seems to be related with JBurg needing access to some objects that are not part of the interface but part of the internal model. I would untangle this by extending the Interface to provide anything JBurg needs so there shouldn't be any change in the Falcon AST. But after all that's just an optimization. Currently I'm digging in the inner workings of JBurg ... gee I sort of forgot why I looked in the inner workings of Falcon in the first place ;-) I would however like to remove as many processing phases and model conversions as possible as each one costs time and memory and makes things more compilcated to understand. Chris Von: Erik de Bruin e...@ixsoftware.nl Gesendet: Mittwoch, 23. Juli 2014 14:47 An: dev@flex.apache.org Betreff: Re: AW: AW: AW: Falcon and Antlr4 I'm not at all familiar with the inner workings of Falcon, but I know that FalconJX relies heavily on the current Falcon AST. Will the new AST be compatible with the old (that may be a silly question, but it's the only one I know to ask)? EdB On Wed, Jul 23, 2014 at 2:36 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok ... so I used some idle time setting up a clean falcon-antlr4 module starting with the CSS parsing. As far as I can see it, Falcon is currently using Antlr3 to generate the lexer and a parser that generates an Antlr AST from that Then we generate a second parser CSSTree.g to convert that AST into the falcon-internal object structure, which is then passed to JBurg to generate the output. As you mentioned the ability to manipulate the AST. Are you talking about the first (antlr) AST or the one the Falcon AST? I would like to elminiate the second parsing step and generate the internal model directly from the first parser using Antlr4s Listeners. Are there any objections against this? I doubt that anyone is manipulating the Antlr AST directly, much more would I expect operations to be performed on the Falcon AST. I managed to get the CSS Lexer and Parser finished. The grammar is way more readable now and the general structure is much more straight forward :-) Now I would like to Build the internal Falcon object model for that. Guess I would have to contact the JBurg guys for continuing from then as I definitely need Antlr4 support but I would bet that either JBurg is dead or they are working or at least thinking about that. I did detect some ugly cyclic dependencies in the falcon classes though
Re: AW: AW: AW: AW: Falcon and Antlr4
This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. Sorry for the typo... I meant input rather than output. - Gordon Sent from my iPad On Jul 23, 2014, at 9:06 AM, Gordon Smith gsmit...@hotmail.com wrote: CSSTree.g isn't involved in compiling AS files. It's involved only in compiling CSS files. For AS compilation: We use JFlex to create RawASTokenizer.java from RawASTokenizer.lex. This is a lexer which takes an AS file as input and creates a sequence of ASToken objects as output. We use Antlr 3 to create ASParser.java from ASParser.g. This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. This is a custom AST, not the kind of generic Antlr AST that Antlr can create automatically. If Antlr 4 can tokenize as fast as JFlex can, then I think it would be great to have a unified Antlr 4 lexer/parser. However, I strongly recommend keeping Falcon's custom AST classes. I'm not an expert on JBurg and wasn't aware that it had a dependency on Antlr. Can you please show me where this depencency is? The JBurg guys are basically one person, Tom Harwood, who used to work at Adobe but no longer does. I don't know whether he is still supporting JBurg or not. As for eliminating JBurg... This is certainly doable, but would have serious implications. The main reason that Falcon does code generation using JBurg is in order to perform various code optimizations such as constant propagation. These code optimizations would be much harder to do without JBurg. Ideally, these optimizations would be done in the ActionScript Virtual Machine rather than in the compiler (and this was the plan for AS4, which Adobe killed) but since they are NOT done in the current AVM, if the compiler doesn't do them then the code will execute slower. However, if cross-compilation to JavaScript is the main goal for the future, then perhaps slower AVM execution is tolerable. - Gordon From: christofer.d...@c-ware.de To: dev@flex.apache.org Subject: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 12:54:15 + Hi Eric, The question is definitely not silly. I'm not planning on changing anything here. The package tangling seems to be related with JBurg needing access to some objects that are not part of the interface but part of the internal model. I would untangle this by extending the Interface to provide anything JBurg needs so there shouldn't be any change in the Falcon AST. But after all that's just an optimization. Currently I'm digging in the inner workings of JBurg ... gee I sort of forgot why I looked in the inner workings of Falcon in the first place ;-) I would however like to remove as many processing phases and model conversions as possible as each one costs time and memory and makes things more compilcated to understand. Chris Von: Erik de Bruin e...@ixsoftware.nl Gesendet: Mittwoch, 23. Juli 2014 14:47 An: dev@flex.apache.org Betreff: Re: AW: AW: AW: Falcon and Antlr4 I'm not at all familiar with the inner workings of Falcon, but I know that FalconJX relies heavily on the current Falcon AST. Will the new AST be compatible with the old (that may be a silly question, but it's the only one I know to ask)? EdB On Wed, Jul 23, 2014 at 2:36 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok ... so I used some idle time setting up a clean falcon-antlr4 module starting with the CSS parsing. As far as I can see it, Falcon is currently using Antlr3 to generate the lexer and a parser that generates an Antlr AST from that Then we generate a second parser CSSTree.g to convert that AST into the falcon-internal object structure, which is then passed to JBurg to generate the output. As you mentioned the ability to manipulate the AST. Are you talking about the first (antlr) AST or the one the Falcon AST? I would like to elminiate the second parsing step and generate the internal model directly from the first parser using Antlr4s Listeners. Are there any objections against this? I doubt that anyone is manipulating the Antlr AST directly, much more would I expect operations to be performed on the Falcon AST. I managed to get the CSS Lexer and Parser finished. The grammar is way more readable now and the general structure is much more straight forward :-) Now I would like to Build the internal Falcon object model for that. Guess I would have to contact the JBurg guys for continuing from then as I definitely need Antlr4 support but I would bet that either JBurg is dead or they are working or at least thinking about that. I did detect some ugly cyclic dependencies in the falcon classes though ... for example we have interfaces for defining the internal models interface and have implementations of these interfaces
RE: AW: AW: AW: AW: Falcon and Antlr4
I think the main optimization is constant propagation, so that an expression like someVariable + SOME_CONSTANT + 1 gets compiled as only one addition. I don't know how much difference this makes. It seems unlikely that it's significant, but I can't say for sure. There may be other optimizations that I'm not aware of, as I didn't work much on AS code generation. In any case, I think it may be possible to decouple the question of whether to eliminate JBurg from the question of whether to upgrade to Antlr4 and eliminate JFlex in the process. It might be possible to let JBurg continue to use an old Antlr and have the lexer/parser use a new Antlr. If Christofer can show me where the dependency is, this might become clearer. Futhermore, if we did decide to experiment with eliminating JBurg, it should be easy to have two code-generator paths for a while to do comparisions, one using JBurg and one not using it. Personally, I always found JBurg difficult to understand and debug, so I'm not necessarily against eliminating it. - Gordon From: aha...@adobe.com To: dev@flex.apache.org; gsmit...@hotmail.com Subject: RE: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 18:00:40 + What are some of these optimizations? How often do they occur in the wild and how much performance hit is there? Sent via the PANTECH Discover, an ATT 4G LTE smartphone. Gordon Smith gsmit...@hotmail.com wrote: CSSTree.g isn't involved in compiling AS files. It's involved only in compiling CSS files. For AS compilation: We use JFlex to create RawASTokenizer.java from RawASTokenizer.lex. This is a lexer which takes an AS file as input and creates a sequence of ASToken objects as output. We use Antlr 3 to create ASParser.java from ASParser.g. This is a parser which takes a sequence of ASToken objects as output and creates an AST consisting of NodeBase objects. This is a custom AST, not the kind of generic Antlr AST that Antlr can create automatically. If Antlr 4 can tokenize as fast as JFlex can, then I think it would be great to have a unified Antlr 4 lexer/parser. However, I strongly recommend keeping Falcon's custom AST classes. I'm not an expert on JBurg and wasn't aware that it had a dependency on Antlr. Can you please show me where this depencency is? The JBurg guys are basically one person, Tom Harwood, who used to work at Adobe but no longer does. I don't know whether he is still supporting JBurg or not. As for eliminating JBurg... This is certainly doable, but would have serious implications. The main reason that Falcon does code generation using JBurg is in order to perform various code optimizations such as constant propagation. These code optimizations would be much harder to do without JBurg. Ideally, these optimizations would be done in the ActionScript Virtual Machine rather than in the compiler (and this was the plan for AS4, which Adobe killed) but since they are NOT done in the current AVM, if the compiler doesn't do them then the code will execute slower. However, if cross-compilation to JavaScript is the main goal for the future, then perhaps slower AVM execution is tolerable. - Gordon From: christofer.d...@c-ware.de To: dev@flex.apache.org Subject: AW: AW: AW: AW: Falcon and Antlr4 Date: Wed, 23 Jul 2014 12:54:15 + Hi Eric, The question is definitely not silly. I'm not planning on changing anything here. The package tangling seems to be related with JBurg needing access to some objects that are not part of the interface but part of the internal model. I would untangle this by extending the Interface to provide anything JBurg needs so there shouldn't be any change in the Falcon AST. But after all that's just an optimization. Currently I'm digging in the inner workings of JBurg ... gee I sort of forgot why I looked in the inner workings of Falcon in the first place ;-) I would however like to remove as many processing phases and model conversions as possible as each one costs time and memory and makes things more compilcated to understand. Chris Von: Erik de Bruin e...@ixsoftware.nl Gesendet: Mittwoch, 23. Juli 2014 14:47 An: dev@flex.apache.org Betreff: Re: AW: AW: AW: Falcon and Antlr4 I'm not at all familiar with the inner workings of Falcon, but I know that FalconJX relies heavily on the current Falcon AST. Will the new AST be compatible with the old (that may be a silly question, but it's the only one I know to ask)? EdB On Wed, Jul 23, 2014 at 2:36 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok ... so I used some idle time setting up a clean falcon-antlr4 module starting with the CSS parsing. As far as I can see it, Falcon is currently using Antlr3 to generate the lexer and a parser that generates an Antlr AST from that Then we generate a second parser
Re: AW: Falcon and Antlr4
why are we mixing up several tools that all seem to be doing similar thing Falcon's lexer and parser were borrowed from the Flash Builder code base, where they supported various edit-time code intelligence features, but not compilation. I think the Flash Builder team had determined that JFlex could tokenize faster than Antlr 2 could. But I don't know whether that is still the case with Antlr 3 and 4. - Gordon Sent from my iPad On Jul 16, 2014, at 3:14 PM, Christofer Dutz christofer.d...@c-ware.de wrote: Ok so that would have been my second question ... why are we mixing up several tools that all seem to be doing similar things :-) I definitely like to do some cleaning up. But depending on if any or which talks are accepter for the ApacheCon I might have to finish some other things first ;-) Chris PS: Will be offline for a few days ... -Ursprüngliche Nachricht- Von: Gordon Smith [mailto:gsmit...@hotmail.com] Gesendet: Mittwoch, 16. Juli 2014 17:19 An: dev@flex.apache.org Betreff: Re: Falcon and Antlr4 You might also want to look into eliminating JFlex and have Antlr handle tokenization as well. - Gordon Sent from my iPad On Jul 16, 2014, at 8:06 AM, Alex Harui aha...@adobe.com wrote: Good luck. I'm interested in anything that would speed up Falcon. Please work in a branch. On 7/16/14 2:44 AM, Christofer Dutz christofer.d...@c-ware.de wrote: Hi, while I was havin a first look at the internals of Falcon, I was surprized to find a mixture of Antlr2 Antlr3 grammars for creating the parsers. In a first moment I thought it would be a good idea to migrate the Antlr2 grammars ASParser.g and MetadataParser.g to Antlr3 but after finding out that IntelliJ now has a neat Antlr4 plugin and reading a bit about the differences from 2 and 3 to 4 it sounded like a good idea to migrate all to Antlr4. To me it looks as if the way things are processed in Antlr4 would make the grammars a lot easier as well as implementing the rule logic. My gut-feeling tells me that an Antlr4 parser should need less processing and be quite a bit faster. I did experiment a little on the CSS grammar and successfully created an Antlr4 version of that ... so I guess it should be possible and it would clean up things quite dramatically. What I particularly liked, was that Antlr4 automatically generates a Listener interface for any rule it finds generating an enter{ruleneme} and exit{rulename} as well as a base-class implementing this interface. Now all of the java code we had to enter in the rule-document can now be defined in a FalconCssListener class that extends this CSSBaseListener. This is where the Java code can be added to handle the rules and we can easily debug it (I know you could set breakpoints in the generated code, but I allways disliked that). What do you think? ... Would it be a good idea to give something like that a try? After all ... it's just 3 grammars (CSS, ASParser and MetadataParser). But I have to admit that the ASParser grammar looks way more complex than the CSS and the MetadataParser grammar. Chris
Re: Falcon and Antlr4
You might also want to look into eliminating JFlex and have Antlr handle tokenization as well. - Gordon Sent from my iPad On Jul 16, 2014, at 8:06 AM, Alex Harui aha...@adobe.com wrote: Good luck. I'm interested in anything that would speed up Falcon. Please work in a branch. On 7/16/14 2:44 AM, Christofer Dutz christofer.d...@c-ware.de wrote: Hi, while I was havin a first look at the internals of Falcon, I was surprized to find a mixture of Antlr2 Antlr3 grammars for creating the parsers. In a first moment I thought it would be a good idea to migrate the Antlr2 grammars ASParser.g and MetadataParser.g to Antlr3 but after finding out that IntelliJ now has a neat Antlr4 plugin and reading a bit about the differences from 2 and 3 to 4 it sounded like a good idea to migrate all to Antlr4. To me it looks as if the way things are processed in Antlr4 would make the grammars a lot easier as well as implementing the rule logic. My gut-feeling tells me that an Antlr4 parser should need less processing and be quite a bit faster. I did experiment a little on the CSS grammar and successfully created an Antlr4 version of that ... so I guess it should be possible and it would clean up things quite dramatically. What I particularly liked, was that Antlr4 automatically generates a Listener interface for any rule it finds generating an enter{ruleneme} and exit{rulename} as well as a base-class implementing this interface. Now all of the java code we had to enter in the rule-document can now be defined in a FalconCssListener class that extends this CSSBaseListener. This is where the Java code can be added to handle the rules and we can easily debug it (I know you could set breakpoints in the generated code, but I allways disliked that). What do you think? ... Would it be a good idea to give something like that a try? After all ... it's just 3 grammars (CSS, ASParser and MetadataParser). But I have to admit that the ASParser grammar looks way more complex than the CSS and the MetadataParser grammar. Chris
Re: New Flex to JS project
I think this syntax is just sugar for more verbose function calls like trace(foo.children(is)) but the terse syntax is much nicer. - Gordon Sent from my iPad On Jul 4, 2014, at 12:22 AM, Alex Harui aha...@adobe.com wrote: There are functions, but I've seen significant use of XML as an Object. IMO it is what makes e4x possible: the dot-path lookup as below: Var foo:XML = thisisa name=test //is/this Trace(foo.is); Trace(foo..a(@name==test)); Trace(foo..test); But I could be wrong and there is some other way to handle this. -Alex On 7/3/14 12:51 PM, Harbs harbs.li...@gmail.com wrote: Why does it need setter/getter? E4X is all functions isn't it? Yeah. JSON is generally a better way to go, but some APIs are still XML and then there's manipulation of XML documents (which I tend to do a lot of...) On Jul 3, 2014, at 7:53 PM, Alex Harui aha...@adobe.com wrote: I took a quick look a while back. Required getter/setter support in the browser. And then the remaining question: will it perform? It is similar to the AMF question. Doable, but may not be faster than switching to JSON. -Alex On 7/3/14 9:48 AM, Harbs harbs.li...@gmail.com wrote: Has anyone looked into writing a js library to copy the functionality of E4X? It seems to me that at least 90% of E4X could be pretty easily replicated in a js libraryŠ Besides namespaces, the only thing that seems hard to me is complex selectors. On Jul 2, 2014, at 7:53 PM, Alex Harui aha...@adobe.com wrote: FWIW, FlexJS is eventually going to need to find a way to warn folks about use of E4X
RE: [Off-Topic] Help With Bouncing Mail
I've gotten maybe 8-10 such emails over the last 2-3 months for various Apache Flex lists. I've been ignoring them because I don't know what else to do. - Gordon Date: Mon, 2 Jun 2014 19:13:12 -0400 From: jef...@dot-com-it.com To: dev@flex.apache.org Subject: Re: [Off-Topic] Help With Bouncing Mail I got the same email. Something like this shows up on the private list every couple of months; and we've had a few non-public discussion about it. I forget the meaning, but generally I decided it was okay to ignore. On 6/2/2014 3:22 PM, Angelo Anolin wrote: I received this from dev-h...@flex.apache.org (and I have no idea why I got it). Any help or insight would be appreciated. dev-h...@flex.apache.org 1:00 PM (20 minutes ago) to me Hi! This is the ezmlm program. I'm managing the dev@flex.apache.org mailing list. I'm working for my owner, who can be reached at dev-ow...@flex.apache.org. Messages to you from the dev mailing list seem to have been bouncing. I've attached a copy of the first bounce message I received. If this message bounces too, I will send you a probe. If the probe bounces, I will remove your address from the dev mailing list, without further notice. I've kept a list of which messages from the dev mailing list have bounced from your address. Copies of these messages may be in the archive. To retrieve a set of messages 123-145 (a maximum of 100 per request), send a short message to: dev-get.123_...@flex.apache.org To receive a subject and author list for the last 100 or so messages, send a short message to: dev-in...@flex.apache.org Here are the message numbers: 38028 --- Enclosed is a copy of the bounce message I received. Return-Path: Received: (qmail 10037 invoked for bounce); 23 May 2014 14:24:59 - Date: 23 May 2014 14:24:59 - From: mailer-dae...@apache.org To: dev-return-380...@flex.apache.org Subject: failure notice -- Jeffry Houser Technical Entrepreneur http://www.jeffryhouser.com 203-379-0773
How do I update my Apache Flex profile?
Now that I've retired from Adobe I want to update my profile on http://flex.apache.org/about-people.html but I've totally forgotten how to do that. Can somebody please remind me? - Gordon
RE: How do I update my Apache Flex profile?
Nevermind, I found the instructions: https://cwiki.apache.org/confluence/display/FLEX/Updating+your+profile+on+Team+page. - Gordon From: gsmit...@hotmail.com To: dev@flex.apache.org Subject: How do I update my Apache Flex profile? Date: Thu, 22 May 2014 20:08:04 -0700 Now that I've retired from Adobe I want to update my profile on http://flex.apache.org/about-people.html but I've totally forgotten how to do that. Can somebody please remind me? - Gordon
Problem cloning flex-examples repository
Does anybody else see the following problem when you try to clone the flex-examples repo? $git clone https://git-wip-us.apache.org/repos/asf/flex-examples.git Cloning into 'flex-examples'... remote: Counting objects: 123, done. remote: Compressing objects: 100% (112/112), done. remote: Total 123 (delta 39), reused 0 (delta 0) Receiving objects: 100% (123/123), 474.68 KiB | 269 KiB/s, done. Resolving deltas: 100% (39/39), done. warning: remote HEAD refers to nonexistent ref, unable to checkout. I suspect the problem is that this repo doesn't have a branch named 'master'. When I do 'git branch -a' the output is remotes/origin/develop remotes/origin/mobileexperimental and when I do 'cat .git/HEAD' the output is ref: ref/heads/master Shouldn't every repo have a 'master' branch? if so, I'll try adding one to flex-examples. - Gordon
RE: Draft email to committers
I think most committers who haven't totally disengaged probably subscribe to dev@flex.apache.org and have seen this discussion, so it seems like the points you wanted to make have already been communicated. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, March 18, 2014 3:59 AM To: dev@flex.apache.org Subject: Re: Draft email to committers Hi, I think that's why we should vote sending or not. In this case a single -1 (veto) is enough to stop the email from happening. I could put it up for a less restrictive vote but given there no consensus I don't think that would be fair. Anyone to send this email to committers themselves but I thought having PMC consensus would of lent a bit more weight. Justin
RE: Add CONTRIBUTING file to projects
The Getting the code section only mentions the SDK and TLF repos. We have several others. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, March 18, 2014 5:28 AM To: dev@flex.apache.org Subject: Re: Add CONTRIBUTING file to projects Hi, Work in progress, feedback welcome and will check in soon so people can update. Apache Flex (Flex) == Apache Flex is an application framework for easily building Flash-based applications for mobile devices, the browser and desktop. For detailed information about Apache Flex please visit: http://flex.apache.org/ Contributing Apache Flex is for the community and we would like to see more community involvement. The community can help the Apache Flex project by helping out on the mailing list, reporting and fixing bugs, testing, providing code and new components and other ways. All contributions are welcome. Once involved in the project for a while you may be invited to become a committer by the Apache Flex PMC. For more details information please visit: https://cwiki.apache.org/confluence/display/FLEX/Helping+Out Mailing Lists = The two main mailing list are the user list for discussing how to code in Flex and any issues you run into and the dev list for discussing ongoing development of the SDK. You can subscribe to the mailing lists by sending an email to: users-subscr...@flex.apache.org dev-subscr...@flex.apache.org Note that both mailing lists have are mid-high volume lists. For those who prefer forums: http://s.apache.org/flex-users-forum http://s.apache.org/flex-dev-forum Reporting Bugs == The bug base for Apache Flex can be found here: https://issues.apache.org/jira/browse/FLEX You need to set up a JIRA account to submit a bug report but can browse and search the bug base without an account. When reporting an issue the follow information is helpful: - OS, browser and Flash Player version or AIR version - Screen shots - Small sample application showing the issue - Steps on how to reproduce the issue It may be you bug you've found has already been reported, please try searching JIRA for the same bug before reporting a new bug. Getting the code The Apache FLex SDK code is stored in a git repository. To check out: git clone https://git-wip-us.apache.org/repos/asf/flex-sdk.git sdk cd sdk git checkout develop You will also need: git clone https://git-wip-us.apache.org/repos/asf/flex-tlf.git tlf See the RELEASE_NOTE for how to set up and build the SDK. You can also see a GitHub mirror here: https://github.com/apache/flex-sdk Contributing Code = If you have a bug fix, new componont or other code you which to give to Apache Flex please open a JIRA ticket and attach the code to it. A committer will take a look, review and test it and help you get the code into the SDK. If the code is a significant size we may ask you to sign an license agreement (ICLA) or software grant. Thanks for using Apache Flex. Enjoy! The Apache Flex Project http://flex.apache.org Thanks, Justin
RE: Add CONTRIBUTING file to projects
I also have a problem with the statement that Apache Flex is an application framework You could say The Apache Flex SDK is an application framework But Apache Flex is more than an SDK. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Tuesday, March 18, 2014 10:20 AM To: dev@flex.apache.org Subject: RE: Add CONTRIBUTING file to projects The Getting the code section only mentions the SDK and TLF repos. We have several others. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, March 18, 2014 5:28 AM To: dev@flex.apache.org Subject: Re: Add CONTRIBUTING file to projects Hi, Work in progress, feedback welcome and will check in soon so people can update. Apache Flex (Flex) == Apache Flex is an application framework for easily building Flash-based applications for mobile devices, the browser and desktop. For detailed information about Apache Flex please visit: http://flex.apache.org/ Contributing Apache Flex is for the community and we would like to see more community involvement. The community can help the Apache Flex project by helping out on the mailing list, reporting and fixing bugs, testing, providing code and new components and other ways. All contributions are welcome. Once involved in the project for a while you may be invited to become a committer by the Apache Flex PMC. For more details information please visit: https://cwiki.apache.org/confluence/display/FLEX/Helping+Out Mailing Lists = The two main mailing list are the user list for discussing how to code in Flex and any issues you run into and the dev list for discussing ongoing development of the SDK. You can subscribe to the mailing lists by sending an email to: users-subscr...@flex.apache.org dev-subscr...@flex.apache.org Note that both mailing lists have are mid-high volume lists. For those who prefer forums: http://s.apache.org/flex-users-forum http://s.apache.org/flex-dev-forum Reporting Bugs == The bug base for Apache Flex can be found here: https://issues.apache.org/jira/browse/FLEX You need to set up a JIRA account to submit a bug report but can browse and search the bug base without an account. When reporting an issue the follow information is helpful: - OS, browser and Flash Player version or AIR version - Screen shots - Small sample application showing the issue - Steps on how to reproduce the issue It may be you bug you've found has already been reported, please try searching JIRA for the same bug before reporting a new bug. Getting the code The Apache FLex SDK code is stored in a git repository. To check out: git clone https://git-wip-us.apache.org/repos/asf/flex-sdk.git sdk cd sdk git checkout develop You will also need: git clone https://git-wip-us.apache.org/repos/asf/flex-tlf.git tlf See the RELEASE_NOTE for how to set up and build the SDK. You can also see a GitHub mirror here: https://github.com/apache/flex-sdk Contributing Code = If you have a bug fix, new componont or other code you which to give to Apache Flex please open a JIRA ticket and attach the code to it. A committer will take a look, review and test it and help you get the code into the SDK. If the code is a significant size we may ask you to sign an license agreement (ICLA) or software grant. Thanks for using Apache Flex. Enjoy! The Apache Flex Project http://flex.apache.org Thanks, Justin
RE: ActionScript 4? What the hell?
Adobe designed AS4 to be the language for a new Flash runtime (V12) that it was working on but dropped. (I was working on the AS4 compiler then.) Not all features of AS4 can be implemented -- at least not easily and efficiently -- on the existing Flash runtime. However, some features can be. Alex, I suggest that you try to arrange for the donation of the incomplete AS4 compiler to Apache for cherry-picking. - Gordon -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Wednesday, January 22, 2014 10:32 AM To: dev@flex.apache.org Subject: RE: ActionScript 4? What the hell? Well using the assumption that AS 4 would be an improvement in some area's from AS3 even if it was an incomplete work. While I haven't looked at it yet, I would be interested in just seeing the differences and bring over small pieces that could be an improvement for us. Assuming it wasn't in the same direction as ASC 2 which started getting rid of things we use. -Mark -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Wednesday, January 22, 2014 12:20 PM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? I'm not sure what the rules are. The language reference is under Apache license. The specifications are under CC-NC which is not good. I suppose I could try to get that changed. But first, come up with something you do want to cherry pick that doesn't require implementation in the runtime. -Alex On 1/22/14 8:39 AM, Kessler CTR Mark J mark.kessler@usmc.mil wrote: Since this is hosted publicly but not donated, I assume we cannot cherry pick any good changes from as4... -Mark -Original Message- From: bkelley [mailto:brady.kel...@cleantelligent.com] Sent: Wednesday, January 22, 2014 11:15 AM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? DarkStone wrote I believe Adobe said in the flash runtime roadmap that AS4 was dropped: http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html Now they reopen AS4 on GitHub, what does it mean? From the read me on the github project: Adobe is publishing the ActionScript 4 specifications in the hope that they may be useful to the programming language and managed runtime communities. The specifications are as they existed when the project with which they were associated was discontinued and therefore may be considered incomplete. Source code for the compiler and runtime is not available. Adobe has no plans to resume development of ActionScript 4. Looks like it is just for reference only, Adobe has no plans to continue development, unfortunately. :-( -- View this message in context: http://apache-flex-development.247.n4.nabble.com/ActionScript-4-What-t he-hell-tp34089p34106.html Sent from the Apache Flex Development mailing list archive at Nabble.com.
RE: ActionScript 4? What the hell?
Assuming it wasn't in the same direction as ASC 2 which started getting rid of things we use. If I recall correctly, the biggest feature that was dropped was developer-defined namespaces. I think AS4 just had public/private/protected/internal. So there would be no more mx_internal. Not all features of AS4 can be implemented -- at least not easily and efficiently -- on the existing Flash runtime. An example of something that couldn't be efficiently implemented on the existing runtime is the change of primitive types like int in AS4 to be defined as machine-like 32-bit integers that wrap around from 2147483647 to -2147483648 rather than converting to Number when they get large. You need new (faster and simpler!) opcodes for that. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Wednesday, January 22, 2014 10:55 AM To: dev@flex.apache.org Subject: RE: ActionScript 4? What the hell? Adobe designed AS4 to be the language for a new Flash runtime (V12) that it was working on but dropped. (I was working on the AS4 compiler then.) Not all features of AS4 can be implemented -- at least not easily and efficiently -- on the existing Flash runtime. However, some features can be. Alex, I suggest that you try to arrange for the donation of the incomplete AS4 compiler to Apache for cherry-picking. - Gordon -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Wednesday, January 22, 2014 10:32 AM To: dev@flex.apache.org Subject: RE: ActionScript 4? What the hell? Well using the assumption that AS 4 would be an improvement in some area's from AS3 even if it was an incomplete work. While I haven't looked at it yet, I would be interested in just seeing the differences and bring over small pieces that could be an improvement for us. Assuming it wasn't in the same direction as ASC 2 which started getting rid of things we use. -Mark -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Wednesday, January 22, 2014 12:20 PM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? I'm not sure what the rules are. The language reference is under Apache license. The specifications are under CC-NC which is not good. I suppose I could try to get that changed. But first, come up with something you do want to cherry pick that doesn't require implementation in the runtime. -Alex On 1/22/14 8:39 AM, Kessler CTR Mark J mark.kessler@usmc.mil wrote: Since this is hosted publicly but not donated, I assume we cannot cherry pick any good changes from as4... -Mark -Original Message- From: bkelley [mailto:brady.kel...@cleantelligent.com] Sent: Wednesday, January 22, 2014 11:15 AM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? DarkStone wrote I believe Adobe said in the flash runtime roadmap that AS4 was dropped: http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html Now they reopen AS4 on GitHub, what does it mean? From the read me on the github project: Adobe is publishing the ActionScript 4 specifications in the hope that they may be useful to the programming language and managed runtime communities. The specifications are as they existed when the project with which they were associated was discontinued and therefore may be considered incomplete. Source code for the compiler and runtime is not available. Adobe has no plans to resume development of ActionScript 4. Looks like it is just for reference only, Adobe has no plans to continue development, unfortunately. :-( -- View this message in context: http://apache-flex-development.247.n4.nabble.com/ActionScript-4-Wha t-t he-hell-tp34089p34106.html Sent from the Apache Flex Development mailing list archive at Nabble.com.
RE: ActionScript 4? What the hell?
the main thrust of the language was a totally new language geared for functional programming, and then some backward compatibility stuff to make it seem more like ActionScript. I wouldn't characterize it that way. To me it felt like incremental change to AS3. There were still classes and interfaces so I'm not sure what you mean by geared for functional programming; to me it was still definitely an object-oriented language. It did add strong function types'; for example var f:(int, int)=String; declared a variable that could only contain a reference to a function that took two ints and returned a String. It also added array types like var a:[]int; - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Wednesday, January 22, 2014 11:06 AM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? On 1/22/14 10:55 AM, Gordon Smith gosm...@adobe.com wrote: Adobe designed AS4 to be the language for a new Flash runtime (V12) that it was working on but dropped. (I was working on the AS4 compiler then.) Not all features of AS4 can be implemented -- at least not easily and efficiently -- on the existing Flash runtime. However, some features can be. Alex, I suggest that you try to arrange for the donation of the incomplete AS4 compiler to Apache for cherry-picking. Well, donations take a lot of time and energy. I would rather we know there is something we want and doesn't require runtime implementation before expending that energy. I haven't looked at the AS4 docs, and Gordon certainly knows better, but my takeaway from past discussions about AS4 was that it had dual personalities: the main thrust of the language was a totally new language geared for functional programming, and then some backward compatibility stuff to make it seem more like ActionScript. Sure you could call that an improvement, but I'm not clear it would be an incremental improvement. It would be like rewriting the framework in Lisp. - Gordon -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Wednesday, January 22, 2014 10:32 AM To: dev@flex.apache.org Subject: RE: ActionScript 4? What the hell? Well using the assumption that AS 4 would be an improvement in some area's from AS3 even if it was an incomplete work. While I haven't looked at it yet, I would be interested in just seeing the differences and bring over small pieces that could be an improvement for us. Assuming it wasn't in the same direction as ASC 2 which started getting rid of things we use. -Mark -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Wednesday, January 22, 2014 12:20 PM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? I'm not sure what the rules are. The language reference is under Apache license. The specifications are under CC-NC which is not good. I suppose I could try to get that changed. But first, come up with something you do want to cherry pick that doesn't require implementation in the runtime. -Alex On 1/22/14 8:39 AM, Kessler CTR Mark J mark.kessler@usmc.mil wrote: Since this is hosted publicly but not donated, I assume we cannot cherry pick any good changes from as4... -Mark -Original Message- From: bkelley [mailto:brady.kel...@cleantelligent.com] Sent: Wednesday, January 22, 2014 11:15 AM To: dev@flex.apache.org Subject: Re: ActionScript 4? What the hell? DarkStone wrote I believe Adobe said in the flash runtime roadmap that AS4 was dropped: http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html Now they reopen AS4 on GitHub, what does it mean? From the read me on the github project: Adobe is publishing the ActionScript 4 specifications in the hope that they may be useful to the programming language and managed runtime communities. The specifications are as they existed when the project with which they were associated was discontinued and therefore may be considered incomplete. Source code for the compiler and runtime is not available. Adobe has no plans to resume development of ActionScript 4. Looks like it is just for reference only, Adobe has no plans to continue development, unfortunately. :-( -- View this message in context: http://apache-flex-development.247.n4.nabble.com/ActionScript-4-Wh at- t he-hell-tp34089p34106.html Sent from the Apache Flex Development mailing list archive at Nabble.com.
RE: Java 1.6
We should definitely fix the problems that make us incompatible with Java 7, and then make that our recommended version (and switch out build systems). But staying compatible with Java 6, if that's possible, would also be a good thing. - Gordon -Original Message- From: aYo [mailto:a...@binitie.com] Sent: Tuesday, January 21, 2014 11:41 AM To: dev@flex.apache.org Subject: Re: Java 1.6 The future is Java 7+, but I think we need to be 6 compatible for a while. There will be lots of teams out there that will not be pleased if there is a sudden loss of support for 6. As you know, it can be seriously disruptive On Tue 21 Jan 2014 20:35:55 WAT, Alex Harui wrote: More and more things are requiring Java 7. Java 6 standard support is over. Should we just move to Java 7 or do we need to remain Java 6 compatible? BTW, there appears to be errors when you try to get Flex to build on Java 7. I'm looking into it now. Thoughts? -Alex -- *aYo* www.ayobinitie.com mrbinitie.blogspot.com
RE: Java 1.6
Carlos, suppose it turns out that we can't be compatible with both 6 and 7. (I hope that's not the case, but I don't think we know yet.) Are you saying we have to stick with 6? Rather than do that, we should probably instead have two branches and two builds if we can't have compatibility with both. - Gordon -Original Message- From: carlos.rov...@gmail.com [mailto:carlos.rov...@gmail.com] On Behalf Of Carlos Rovira Sent: Tuesday, January 21, 2014 2:03 PM To: dev@flex.apache.org Subject: Re: Java 1.6 I'd like to go Java 7, but in my case we have products in Java 6 that can't be upgraded right now. I suppose that many people are in the same situation. So I think compatibility with Java 6 is a must. 2014/1/21 Gordon Smith gosm...@adobe.com We should definitely fix the problems that make us incompatible with Java 7, and then make that our recommended version (and switch out build systems). But staying compatible with Java 6, if that's possible, would also be a good thing. - Gordon -Original Message- From: aYo [mailto:a...@binitie.com] Sent: Tuesday, January 21, 2014 11:41 AM To: dev@flex.apache.org Subject: Re: Java 1.6 The future is Java 7+, but I think we need to be 6 compatible for a while. There will be lots of teams out there that will not be pleased if there is a sudden loss of support for 6. As you know, it can be seriously disruptive On Tue 21 Jan 2014 20:35:55 WAT, Alex Harui wrote: More and more things are requiring Java 7. Java 6 standard support is over. Should we just move to Java 7 or do we need to remain Java 6 compatible? BTW, there appears to be errors when you try to get Flex to build on Java 7. I'm looking into it now. Thoughts? -Alex -- *aYo* www.ayobinitie.com mrbinitie.blogspot.com -- Carlos Rovira Director de Tecnología M: +34 607 22 60 05 F: +34 912 94 80 80 http://www.codeoscopic.com http://www.directwriter.es http://www.avant2.es
RE: Donation News
The spec I wrote is for MXML 2006 and MXML 2009 (with various sections remaining incomplete) and it also contains proposals for a new dialect to fix various inconsistencies. It doesn't cover MXMLG/FXG, but I think Adobe had a spec for that and maybe Alex could arrange for it to be donated as well. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, November 28, 2013 12:00 AM To: dev@flex.apache.org Subject: Re: Donation News On 11/27/13 11:55 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: Alex, What a great news, right in time for Thanksgiving! Thanks for getting this through. It isn't through yet. It just means that I've pulled out all the un-donatable stuff I could find and now it is time for Adobe Legal and others to review it. What format is the MXML spec in? MS Word. Does it include MXMLG/FXG? Not sure. Gordon wrote it. -Alex
FXG spec (was: RE: Donation News)
I didn't work on FXG compilation but I don't think there is a programmatic spec for it. In both the old compiler and in Falcon it seems to use a SAX parser. - Gordon -Original Message- From: omup...@gmail.com [mailto:omup...@gmail.com] On Behalf Of OmPrakash Muppirala Sent: Monday, December 02, 2013 11:39 AM To: dev@flex.apache.org Subject: Re: Donation News On Mon, Dec 2, 2013 at 10:51 AM, Gordon Smith gosm...@adobe.com wrote: The spec I wrote is for MXML 2006 and MXML 2009 (with various sections remaining incomplete) and it also contains proposals for a new dialect to fix various inconsistencies. It doesn't cover MXMLG/FXG, but I think Adobe had a spec for that and maybe Alex could arrange for it to be donated as well. Thanks for the info, Gordon. I have been asking for the MXMLG/FXG spec for a while now. So, if that is something that could be donated, it will be of a big help for the FlexJS project. Alex, my intention is to write an XSLT translator to make MXMLG/FXG and SVG to seamlessly work together. I have the beginnings of such an XSLT available here [1] and a basic example here[2] But if we have a programatic spec for FXG available, I can plug it in into a tool like Altova MapForce [3] to automatically generate an XSLT for FXG - SVG conversion. This would speed up things a lot and makes visual fidelity matching between Flash and HTML5 apps that much closer. Thanks, Om [1] https://github.com/apache/flex-asjs/blob/develop/fxg2svg/transform/transform.xslt [2] http://people.apache.org/~bigosmallm/fxg2svg/svg.html [3] http://www.altova.com/mapforce.html - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, November 28, 2013 12:00 AM To: dev@flex.apache.org Subject: Re: Donation News On 11/27/13 11:55 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: Alex, What a great news, right in time for Thanksgiving! Thanks for getting this through. It isn't through yet. It just means that I've pulled out all the un-donatable stuff I could find and now it is time for Adobe Legal and others to review it. What format is the MXML spec in? MS Word. Does it include MXMLG/FXG? Not sure. Gordon wrote it. -Alex
MXML spec (was: RE: Donation News)
The MXML spec is a Microsoft Word document. Can we put such documents in an Apache repo? If not, do we want the spec to live in the repo in some other format? Or in our wiki? Or on a non-wiki web page? - Gordon -Original Message- From: omup...@gmail.com [mailto:omup...@gmail.com] On Behalf Of OmPrakash Muppirala Sent: Monday, December 02, 2013 11:39 AM To: dev@flex.apache.org Subject: Re: Donation News On Mon, Dec 2, 2013 at 10:51 AM, Gordon Smith gosm...@adobe.com wrote: The spec I wrote is for MXML 2006 and MXML 2009 (with various sections remaining incomplete) and it also contains proposals for a new dialect to fix various inconsistencies. It doesn't cover MXMLG/FXG, but I think Adobe had a spec for that and maybe Alex could arrange for it to be donated as well. Thanks for the info, Gordon. I have been asking for the MXMLG/FXG spec for a while now. So, if that is something that could be donated, it will be of a big help for the FlexJS project. Alex, my intention is to write an XSLT translator to make MXMLG/FXG and SVG to seamlessly work together. I have the beginnings of such an XSLT available here [1] and a basic example here[2] But if we have a programatic spec for FXG available, I can plug it in into a tool like Altova MapForce [3] to automatically generate an XSLT for FXG - SVG conversion. This would speed up things a lot and makes visual fidelity matching between Flash and HTML5 apps that much closer. Thanks, Om [1] https://github.com/apache/flex-asjs/blob/develop/fxg2svg/transform/transform.xslt [2] http://people.apache.org/~bigosmallm/fxg2svg/svg.html [3] http://www.altova.com/mapforce.html - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, November 28, 2013 12:00 AM To: dev@flex.apache.org Subject: Re: Donation News On 11/27/13 11:55 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: Alex, What a great news, right in time for Thanksgiving! Thanks for getting this through. It isn't through yet. It just means that I've pulled out all the un-donatable stuff I could find and now it is time for Adobe Legal and others to review it. What format is the MXML spec in? MS Word. Does it include MXMLG/FXG? Not sure. Gordon wrote it. -Alex
RE: MXML spec (was: RE: Donation News)
RTF rather than HTML?? - Gordon -Original Message- From: Nicholas Kwiatkowski [mailto:nicho...@spoon.as] Sent: Monday, December 02, 2013 5:12 PM To: dev@flex.apache.org Subject: Re: MXML spec (was: RE: Donation News) They usually prefer txt, but if it has any markup, then RTF. -Nick On Mon, Dec 2, 2013 at 6:15 PM, Gordon Smith gosm...@adobe.com wrote: The MXML spec is a Microsoft Word document. Can we put such documents in an Apache repo? If not, do we want the spec to live in the repo in some other format? Or in our wiki? Or on a non-wiki web page? - Gordon -Original Message- From: omup...@gmail.com [mailto:omup...@gmail.com] On Behalf Of OmPrakash Muppirala Sent: Monday, December 02, 2013 11:39 AM To: dev@flex.apache.org Subject: Re: Donation News On Mon, Dec 2, 2013 at 10:51 AM, Gordon Smith gosm...@adobe.com wrote: The spec I wrote is for MXML 2006 and MXML 2009 (with various sections remaining incomplete) and it also contains proposals for a new dialect to fix various inconsistencies. It doesn't cover MXMLG/FXG, but I think Adobe had a spec for that and maybe Alex could arrange for it to be donated as well. Thanks for the info, Gordon. I have been asking for the MXMLG/FXG spec for a while now. So, if that is something that could be donated, it will be of a big help for the FlexJS project. Alex, my intention is to write an XSLT translator to make MXMLG/FXG and SVG to seamlessly work together. I have the beginnings of such an XSLT available here [1] and a basic example here[2] But if we have a programatic spec for FXG available, I can plug it in into a tool like Altova MapForce [3] to automatically generate an XSLT for FXG - SVG conversion. This would speed up things a lot and makes visual fidelity matching between Flash and HTML5 apps that much closer. Thanks, Om [1] https://github.com/apache/flex-asjs/blob/develop/fxg2svg/transform/tra nsform.xslt [2] http://people.apache.org/~bigosmallm/fxg2svg/svg.html [3] http://www.altova.com/mapforce.html - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, November 28, 2013 12:00 AM To: dev@flex.apache.org Subject: Re: Donation News On 11/27/13 11:55 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: Alex, What a great news, right in time for Thanksgiving! Thanks for getting this through. It isn't through yet. It just means that I've pulled out all the un-donatable stuff I could find and now it is time for Adobe Legal and others to review it. What format is the MXML spec in? MS Word. Does it include MXMLG/FXG? Not sure. Gordon wrote it. -Alex
RE: Project voting guidelines
I don't understand this part: --- Code changes A change made to a codebase of the project and committed by a committer. This includes source code, documentation, website content, etc Lazy Consensus approval of committers. --- Are you talking about when there is a controversy over a code change? - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Wednesday, November 06, 2013 4:12 PM To: dev@flex.apache.org Subject: Re: Project voting guidelines Hi, Anyone else? Do people think they are in a good enough start to start a VOTE? And would Lazy 2/3 majority of PMC members be the voting system to use? Thanks, Justin
RE: Project voting guidelines
If it's going to take a Lazy 2/3 Majority to change the rules, then I think it should take a Lazy 2/3 Majority to approve them in the first place. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, November 05, 2013 7:29 PM To: dev@flex.apache.org Subject: Project voting guidelines Hi, Despite Alex's efforts this seem to have stalled: http://mail-archives.apache.org/mod_mbox/incubator-general/201310.mbox/%3cce743d6a.14a96%25aha...@adobe.com%3e With a few voting issues coming up recently I think it time to consider having our own guidelines. Here some I put together from other Apache projects in combination how we have been working as a project: https://cwiki.apache.org/confluence/display/FLEX/Draft+Guidelines Recent changes include: - removed any mention of what defines an active committer or PMC member as it's controversial and can be easily gamed - put in some expected (but not required) committer responsibilities - filled in what are the default the voting rules There are some difference from the default Apache guidelines - Committers can veto checkins (seems a better match to me - not that there have been many veto's) - Release candidate votes can be carry over to the next RC by a release manager if they so desire - I also put the length of the Chair as a year with the option of them to stand for another year as that to me seem the fairest way to share that responsibility. Feedback is welcome. Thanks, Justin
RE: [FALCON/JX] guava dependencies in compiler AND closure
Oops, sorry I forgot that guava.jar gets downloaded rather than being under source control. I had replaced the copy in compiler/lib and didn't notice that git commit didn't commit it. Thanks for fixing the build script, Erik. - Gordon -Original Message- From: Erik de Bruin [mailto:e...@ixsoftware.nl] Sent: Tuesday, November 05, 2013 4:57 AM To: dev@flex.apache.org Subject: Re: [FALCON/JX] guava dependencies in compiler AND closure I've updated the Falcon build scripts. A fresh build ('ant wipe-all main') from the root now cleanly builds all the 'example' projects - where 'cleanly' means no weird exceptions from the compiler code itself ;-) EdB On Tue, Nov 5, 2013 at 6:10 AM, Alex Harui aha...@adobe.com wrote: Thanks Gordon! On 11/4/13 4:59 PM, Gordon Smith gosm...@adobe.com wrote: OK, the 'develop' branch of flex-falcon now has a compiler/lib/guava.jar that is the current release, 15.0. All the tests run by Falcon's 'ant main' still pass. - Gordon -Original Message- From: Erik de Bruin [mailto:e...@ixsoftware.nl] Sent: Sunday, November 03, 2013 9:00 PM To: dev@flex.apache.org Subject: Re: [FALCON/JX] guava dependencies in compiler AND closure Thank you, Gordon. Yes, I think it's best to go to the latest version and keep updating. EdB On Monday, November 4, 2013, Gordon Smith wrote: I can take a look at upgrading the version of Guava that Falcon uses. Do you want it to use the latest version, 15.0? - Gordon Sent from my iPad On Nov 1, 2013, at 3:24 PM, Erik de Bruin e...@ixsoftware.nl wrote: I've been away from Falcon(Jx) for a long time, coding wise. I had to basically set up my dev env all new and this is what happened. I really wish we got get Gordon or Darrel or even Mike to take a look at replacing the deprecated Guava API calls... Here's to hoping one of them reads this and accepts the challenge! EdB On Fri, Nov 1, 2013 at 10:29 PM, Alex Harui aha...@adobe.com wrote: DataBindingTest is the one I use. I never did figure out how old my Closure tools are. And there is a chance I mucked with the Guava's on my system to fix this. Did the compilation work before you started making changes? I think that's what I used to see. The problem would go away for a long time, then I would make some change and start getting it, then some other change would make it go away. But it never really made sense as to why some change would break it or fix it. -Alex On 11/1/13 2:21 PM, Erik de Bruin e...@ixsoftware.nl wrote: Which of the ASJS examples is working for you? I've tried the 'again' and 'binding' ones and both give me errors, although the resulting 'release JS' seems to work (with bugs). EdB On Fri, Nov 1, 2013 at 5:22 PM, Alex Harui aha...@adobe.com wrote: But there must be another newer one on our computers that google closure finds when it does work, right? I also have a vague recollection that this issue is somehow related to hitting certain code paths in Falcon which may be why it goes away for a while. -Alex On 11/1/13 8:36 AM, Erik de Bruin e...@ixsoftware.nl wrote: No, I wasn't clear. The only 'guava.jar' I can find is in the 'compiler/lib' directory. I don't know Java all that well, and certainly won't claim to know anything about project dependencies, but my guess is that the fact that the 'compiler.jx' project is dependent on the 'compiler' project has something to do with this. I figure that when the CC runs, it 'uses' (links?) the guava.jar in the 'compiler' project and since that's not the version it's expecting, it balks. EdB On Fri, Nov 1, 2013 at 4:19 PM, Alex Harui aha...@adobe.com wrote: But you found a guava.jar in your google closure files somewhere? Where was that? I'm not seeing one in my google folders. -Alex On 11/1/13 8:16 AM, Erik de Bruin e...@ixsoftware.nl wrote: I'd rather not fiddle with my setup right now, but I've definitely seen this error and somehow got it to go away for long periods of time. What kinds of things did you tweak to get around it? It's been so long that I don't recall how I got around it. I've been switching versions of the CC and Guava around, hoping to find a combination -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
ActionScript coding conventions
Didn't we used to have a coding conventions document for committers to follow? I can't find it anywhere on the site. - Gordon
RE: ActionScript coding conventions
it might be smart to link to the adobe wiki and give some sort of attribution. If we simply link to http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/ then people will see wiki markup rather than the intended HTML. Also, be forewarned, you might be sparking a long discussion about whether certain of these conventions should be adopted. Folks are not in favor of all of them. The fact remains that most of the existing SDK code follows -- not exactly, but mostly -- these conventions. IMHO it doesn't make much sense to change the conventions unless someone is willing to also change the code so that the two things are in sync. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, November 05, 2013 12:10 PM To: dev@flex.apache.org Subject: Re: ActionScript coding conventions Yes because it is CC-BY-SA. That is not universally true for other Adobe content. Even though there is no words about attribution with the license, it might be smart to link to the adobe wiki and give some sort of attribution. Also, be forewarned, you might be sparking a long discussion about whether certain of these conventions should be adopted. Folks are not in favor of all of them. Good luck, -Alex On 11/5/13 12:01 PM, Maurice Amsellem maurice.amsel...@systar.com wrote: Is it legal to copy them to our Apache Flex wiki ? I can do it, and also restore the formatting... Maurice -Message d'origine- De : Erik de Bruin [mailto:e...@ixsoftware.nl] Envoyé : mardi 5 novembre 2013 19:25 À : dev@flex.apache.org Objet : Re: ActionScript coding conventions I don't think we copied them over to Apache Flex yet... All I could find was this: http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/ EdB On Tue, Nov 5, 2013 at 7:16 PM, Gordon Smith gosm...@adobe.com wrote: Didn't we used to have a coding conventions document for committers to follow? I can't find it anywhere on the site. - Gordon -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
RE: ActionScript coding conventions
It looks great, Maurice! The only thing I noticed in a quick lookover is that the major and minor section separators are supposed to look like this: //-- // // Properties // //-- (columns 4 through 80) //-- // width //-- (columns 4 through 40) - Gordon -Original Message- From: Maurice Amsellem [mailto:maurice.amsel...@systar.com] Sent: Tuesday, November 05, 2013 3:08 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions https://cwiki.apache.org/confluence/display/FLEX/Flex+SDK+coding+conventions+and+best+practices Can you please review. Maurice -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:47 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions What is the --- wiki on its own line? Is it to underline the text above ? -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:30 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. Yes, that's also what I understood. Maurice -Message d'origine- De : Alex Harui [mailto:aha...@adobe.com] Envoyé : mardi 5 novembre 2013 22:08 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : Re: ActionScript coding conventions On 11/5/13 1:05 PM, Gordon Smith gosm...@adobe.commailto:gosm...@adobe.com wrote: it might be smart to link to the adobe wiki and give some sort of attribution. If we simply link to http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/ then people will see wiki markup rather than the intended HTML. Sorry, wasn't clear. We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. -Alex
RE: ActionScript coding conventions
Hmm... somewhere along the line extra blank lines are getting inserted by somebody's email system. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Tuesday, November 05, 2013 5:11 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions It looks great, Maurice! The only thing I noticed in a quick lookover is that the major and minor section separators are supposed to look like this: //-- // // Properties // //-- (columns 4 through 80) //-- // width //-- (columns 4 through 40) - Gordon -Original Message- From: Maurice Amsellem [mailto:maurice.amsel...@systar.com] Sent: Tuesday, November 05, 2013 3:08 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions https://cwiki.apache.org/confluence/display/FLEX/Flex+SDK+coding+conventions+and+best+practices Can you please review. Maurice -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:47 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions What is the --- wiki on its own line? Is it to underline the text above ? -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:30 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. Yes, that's also what I understood. Maurice -Message d'origine- De : Alex Harui [mailto:aha...@adobe.com] Envoyé : mardi 5 novembre 2013 22:08 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : Re: ActionScript coding conventions On 11/5/13 1:05 PM, Gordon Smith gosm...@adobe.commailto:gosm...@adobe.com wrote: it might be smart to link to the adobe wiki and give some sort of attribution. If we simply link to http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/ then people will see wiki markup rather than the intended HTML. Sorry, wasn't clear. We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. -Alex
RE: ActionScript coding conventions
BTW, the section separators under Class metadata also got shortened. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Tuesday, November 05, 2013 5:20 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions Hmm... somewhere along the line extra blank lines are getting inserted by somebody's email system. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Tuesday, November 05, 2013 5:11 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions It looks great, Maurice! The only thing I noticed in a quick lookover is that the major and minor section separators are supposed to look like this: //-- // // Properties // //-- (columns 4 through 80) //-- // width //-- (columns 4 through 40) - Gordon -Original Message- From: Maurice Amsellem [mailto:maurice.amsel...@systar.com] Sent: Tuesday, November 05, 2013 3:08 PM To: dev@flex.apache.org Subject: RE: ActionScript coding conventions https://cwiki.apache.org/confluence/display/FLEX/Flex+SDK+coding+conventions+and+best+practices Can you please review. Maurice -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:47 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions What is the --- wiki on its own line? Is it to underline the text above ? -Message d'origine- De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] Envoyé : mardi 5 novembre 2013 22:30 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : RE: ActionScript coding conventions We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. Yes, that's also what I understood. Maurice -Message d'origine- De : Alex Harui [mailto:aha...@adobe.com] Envoyé : mardi 5 novembre 2013 22:08 À : dev@flex.apache.orgmailto:dev@flex.apache.org Objet : Re: ActionScript coding conventions On 11/5/13 1:05 PM, Gordon Smith gosm...@adobe.commailto:gosm...@adobe.com wrote: it might be smart to link to the adobe wiki and give some sort of attribution. If we simply link to http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/ then people will see wiki markup rather than the intended HTML. Sorry, wasn't clear. We have our nice copy but somewhere in a footer mention that the original is from Adobe and lives at sourceforge and here's the link to it. -Alex
RE: [FALCON/JX] guava dependencies in compiler AND closure
OK, the 'develop' branch of flex-falcon now has a compiler/lib/guava.jar that is the current release, 15.0. All the tests run by Falcon's 'ant main' still pass. - Gordon -Original Message- From: Erik de Bruin [mailto:e...@ixsoftware.nl] Sent: Sunday, November 03, 2013 9:00 PM To: dev@flex.apache.org Subject: Re: [FALCON/JX] guava dependencies in compiler AND closure Thank you, Gordon. Yes, I think it's best to go to the latest version and keep updating. EdB On Monday, November 4, 2013, Gordon Smith wrote: I can take a look at upgrading the version of Guava that Falcon uses. Do you want it to use the latest version, 15.0? - Gordon Sent from my iPad On Nov 1, 2013, at 3:24 PM, Erik de Bruin e...@ixsoftware.nl wrote: I've been away from Falcon(Jx) for a long time, coding wise. I had to basically set up my dev env all new and this is what happened. I really wish we got get Gordon or Darrel or even Mike to take a look at replacing the deprecated Guava API calls... Here's to hoping one of them reads this and accepts the challenge! EdB On Fri, Nov 1, 2013 at 10:29 PM, Alex Harui aha...@adobe.com wrote: DataBindingTest is the one I use. I never did figure out how old my Closure tools are. And there is a chance I mucked with the Guava's on my system to fix this. Did the compilation work before you started making changes? I think that's what I used to see. The problem would go away for a long time, then I would make some change and start getting it, then some other change would make it go away. But it never really made sense as to why some change would break it or fix it. -Alex On 11/1/13 2:21 PM, Erik de Bruin e...@ixsoftware.nl wrote: Which of the ASJS examples is working for you? I've tried the 'again' and 'binding' ones and both give me errors, although the resulting 'release JS' seems to work (with bugs). EdB On Fri, Nov 1, 2013 at 5:22 PM, Alex Harui aha...@adobe.com wrote: But there must be another newer one on our computers that google closure finds when it does work, right? I also have a vague recollection that this issue is somehow related to hitting certain code paths in Falcon which may be why it goes away for a while. -Alex On 11/1/13 8:36 AM, Erik de Bruin e...@ixsoftware.nl wrote: No, I wasn't clear. The only 'guava.jar' I can find is in the 'compiler/lib' directory. I don't know Java all that well, and certainly won't claim to know anything about project dependencies, but my guess is that the fact that the 'compiler.jx' project is dependent on the 'compiler' project has something to do with this. I figure that when the CC runs, it 'uses' (links?) the guava.jar in the 'compiler' project and since that's not the version it's expecting, it balks. EdB On Fri, Nov 1, 2013 at 4:19 PM, Alex Harui aha...@adobe.com wrote: But you found a guava.jar in your google closure files somewhere? Where was that? I'm not seeing one in my google folders. -Alex On 11/1/13 8:16 AM, Erik de Bruin e...@ixsoftware.nl wrote: I'd rather not fiddle with my setup right now, but I've definitely seen this error and somehow got it to go away for long periods of time. What kinds of things did you tweak to get around it? It's been so long that I don't recall how I got around it. I've been switching versions of the CC and Guava around, hoping to find a combination -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
Re: [FALCON/JX] guava dependencies in compiler AND closure
I can take a look at upgrading the version of Guava that Falcon uses. Do you want it to use the latest version, 15.0? - Gordon Sent from my iPad On Nov 1, 2013, at 3:24 PM, Erik de Bruin e...@ixsoftware.nl wrote: I've been away from Falcon(Jx) for a long time, coding wise. I had to basically set up my dev env all new and this is what happened. I really wish we got get Gordon or Darrel or even Mike to take a look at replacing the deprecated Guava API calls... Here's to hoping one of them reads this and accepts the challenge! EdB On Fri, Nov 1, 2013 at 10:29 PM, Alex Harui aha...@adobe.com wrote: DataBindingTest is the one I use. I never did figure out how old my Closure tools are. And there is a chance I mucked with the Guava's on my system to fix this. Did the compilation work before you started making changes? I think that's what I used to see. The problem would go away for a long time, then I would make some change and start getting it, then some other change would make it go away. But it never really made sense as to why some change would break it or fix it. -Alex On 11/1/13 2:21 PM, Erik de Bruin e...@ixsoftware.nl wrote: Which of the ASJS examples is working for you? I've tried the 'again' and 'binding' ones and both give me errors, although the resulting 'release JS' seems to work (with bugs). EdB On Fri, Nov 1, 2013 at 5:22 PM, Alex Harui aha...@adobe.com wrote: But there must be another newer one on our computers that google closure finds when it does work, right? I also have a vague recollection that this issue is somehow related to hitting certain code paths in Falcon which may be why it goes away for a while. -Alex On 11/1/13 8:36 AM, Erik de Bruin e...@ixsoftware.nl wrote: No, I wasn't clear. The only 'guava.jar' I can find is in the 'compiler/lib' directory. I don't know Java all that well, and certainly won't claim to know anything about project dependencies, but my guess is that the fact that the 'compiler.jx' project is dependent on the 'compiler' project has something to do with this. I figure that when the CC runs, it 'uses' (links?) the guava.jar in the 'compiler' project and since that's not the version it's expecting, it balks. EdB On Fri, Nov 1, 2013 at 4:19 PM, Alex Harui aha...@adobe.com wrote: But you found a guava.jar in your google closure files somewhere? Where was that? I'm not seeing one in my google folders. -Alex On 11/1/13 8:16 AM, Erik de Bruin e...@ixsoftware.nl wrote: I'd rather not fiddle with my setup right now, but I've definitely seen this error and somehow got it to go away for long periods of time. What kinds of things did you tweak to get around it? It's been so long that I don't recall how I got around it. I've been switching versions of the CC and Guava around, hoping to find a combination that works... My guess is you have that combination. Maybe there is version information in the LICENSE files that are downloaded with the jars? I couldn't find any version stamp in my gcc folders or even a guava.jar. Did you see a separate guava.jar or did they bake it into their compiler.jar? The only guava.jar I see is the one that Falcon downloads. I can't find one in or around FalconJx. But FalconJx is dependent on Falcon, which is where I guess the troubles start. EdB -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
RE: [FALCON] Large App Compiles and Starts
Congratulatlons on reaching a huge milestone! - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, October 08, 2013 11:07 PM To: dev@flex.apache.org Subject: [FALCON] Large App Compiles and Starts I checked in a bunch of fixes to Falcon to get a large 20MB SWF to compile and get to its first screen. I'm sure there are more bugs to fix if I used that SWF, but I'm going to stop there for a bit and work on other issues. The Ant script that builds all of this code (several SWCs then one big SWF) takes about 4 minutes to run using MXMLC and 3.5 minutes with Falcon. That's not a huge gain, but maybe we'll find some optimizations. I tried to profile the compilation of the largest SWC, but the profiler got fooled by the the future tasks. I think I saw that most of the time is in the burm, but it is hard to say if it is an inordinate amount of time. Having fixed a number of bugs in Falcon, I'm still not an expert in the code, but my observation is that, besides the burm, there might be optimizations in passing down more state so you don't have to chase up the tree to see if you are in a member expression or assignment, and there might be a way to call the resolver less often, have it resolve faster by having more information about what the search is looking for, including whether you want a getter or a setter. Anyway, Falcon is now in much better shape than it used to be, especially in Flex-specific things like binding and skin parts. -Alex
Re: [FALCON] using coerce_a
Does that work for ternary expressions and left-hand-sides with other types, such as var i:int = true ? 1 : 2; ? - Gordon On 10/2/13 11:01 AM, Alex Harui aha...@adobe.com wrote: Update: Changing Falcon to generate the coerce_a in the ternary clauses allowed it to work for AIR. The code change is only in ternary expression reduction so I think it won't hurt performance too much. -Alex On 10/1/13 10:09 PM, Alex Harui aha...@adobe.com wrote: So, I added code to add the coerce_a and it did not help. I get the same corrupted output. Here is the AS: package { public class foo { private var dict:Dictionary = new Dictionary(); public function addInstance(instance:ISomeInterface):void { dict[instance.uid] = (instance.someBoolean ? new SomeClass(instance) : new SomeOtherClass(instance)); ... } } //internal class class SomeClass{ public function SomeClass(instance:ISomeInterface) { } //internal class class SomeOtherClass{ public function SomeOtherClass(instance:ISomeInterface) { } Here is the ABC from MXMLC that works: getlocal0 pushscope getlocal0 getproperty private:dict getlocal1 getproperty ISomeInterface:uid getlocal1 getproperty ISomeInterface:someBoolean iffalse L0 findpropstrict private:SomeClass getlocal1 constructprop private:SomeClass (1) coerce_a jumpL1 L0: findpropstrict private:SomeOtherClass getlocal1 constructprop private:SomeOtherClass (1) coerce_a L1: setproperty private,private,,http://adobe.com/AS3/2006/builtin:null Here is the ABC from Falcon that doesn't work: getlocal0 pushscope getlex private:dict getlocal1 getproperty ISomeInterface:uid getlocal1 getproperty ISomeInterface:someBoolean iffalse L0 findpropstrict private:SomeClass getlocal1 constructprop private:SomeClass (1) jumpL1 L0: findpropstrict private:SomeOtherClass getlocal1 constructprop private:SomeOtherClass (1) L1: coerce_a setproperty private,flash.events:EventDispatcher,Object,private,,http://adobe.com/AS 3 / 2006/builtin:null I'm beginning to think this is an AIR bug since the Falcon ABC runs fine on Flash. I'm going to try to replicate the MXMLC's placement of coerce_a and see if that gets the code to work in AIR. Thanks, -Alex On 9/30/13 10:50 PM, Alex Harui aha...@adobe.com wrote: There's no error, the Dictionary value appears be a Number instead of an instance. Are you sure that Vector access doesn't come through this code? I think I'll start by testing only for ANY_TYPE and adding a coerce_a instead of calling coerce() which would also coerce to any destination type. Thanks for the advice, -Alex From: Darrell Loverin [darrell.love...@gmail.com] Sent: Monday, September 30, 2013 6:11 PM To: dev@flex.apache.org Subject: Re: [FALCON] using coerce_a I generally agree. I don't think I'd try to do anything inside the ternary expression reduce. I'd look at the coerce() method in ABCGeneratingReducer to try to figure out why it is not being called. Question for Alex. What error are you seeing on AIR? A TypeError, a ReferenceError? -Darrell On Mon, Sep 30, 2013 at 8:00 PM, Gordon Smith gosm...@adobe.com wrote: Thanks Darrell. Here are my answers to Alex's questions: Should a complex assignment statement like the above know about the destination type as the clauses of the ternary statement are being reduced? No. Is it safe to add a coerce_a before an assignment to a Dictionary? Yes. If so, what would be the recommended way to determine the assignment is to a Dictionary? The compile-time type of foo[bar], where foo has any type (not just Dictionary), is type *. So I think it is OK to codegen coerce_a before assignment to any foo[bar] expression. Darrell, do you agree or disagree? - Gordon -Original Message- From: Darrell Loverin [mailto:darrell.love...@gmail.com] Sent: Monday, September 30, 2013 3:41 PM To: dev@flex.apache.org Subject: Re: [FALCON] using coerce_a coerce_a Operation Coerce a value to the any type. Format coerce_a Forms Stack ..., value = ..., value Description Indicates to the verifier that the value on the stack is of the any type (*). Does nothing to value. On Mon, Sep 30, 2013 at 6:03 PM, Gordon Smith gosm...@adobe.com wrote: Can you remind me what the a in coerce_a means? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, September 30, 2013 2:43 PM To: dev@flex.apache.org Subject: [FALCON] using coerce_a Gordon, Darrell (mostly) My latest problem appears to be in assigning
RE: [FALCON] using coerce_a
Can you remind me what the a in coerce_a means? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, September 30, 2013 2:43 PM To: dev@flex.apache.org Subject: [FALCON] using coerce_a Gordon, Darrell (mostly) My latest problem appears to be in assigning to a Dictionary. For the following code: var dict:Dictionary = new Dictionary(); Var i:int; Dict[foo] = (i == 0 ? new SomeClass() : new SomeOtherClass()); MXMLC generates a coerce_a after the constructProp for both SomeClass and SomeOtherClass. For some reason, FlashPlayer doesn't care if the coerce_a is missing, but AIR seems to. The question is, should a complex assignment statement like the above know about the destination type as the clauses of the ternary statement are being reduced? And if so, how would we get that knowledge into the reducer. Alternatively, is it safe to add a coerce_a before an assignment to a Dictionary? If so, what would be the recommended way to determine the assignment is to a Dictionary? Thanks, -Alex
RE: [FALCON] using coerce_a
Thanks Darrell. Here are my answers to Alex's questions: Should a complex assignment statement like the above know about the destination type as the clauses of the ternary statement are being reduced? No. Is it safe to add a coerce_a before an assignment to a Dictionary? Yes. If so, what would be the recommended way to determine the assignment is to a Dictionary? The compile-time type of foo[bar], where foo has any type (not just Dictionary), is type *. So I think it is OK to codegen coerce_a before assignment to any foo[bar] expression. Darrell, do you agree or disagree? - Gordon -Original Message- From: Darrell Loverin [mailto:darrell.love...@gmail.com] Sent: Monday, September 30, 2013 3:41 PM To: dev@flex.apache.org Subject: Re: [FALCON] using coerce_a coerce_a Operation Coerce a value to the any type. Format coerce_a Forms Stack ..., value = ..., value Description Indicates to the verifier that the value on the stack is of the any type (*). Does nothing to value. On Mon, Sep 30, 2013 at 6:03 PM, Gordon Smith gosm...@adobe.com wrote: Can you remind me what the a in coerce_a means? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, September 30, 2013 2:43 PM To: dev@flex.apache.org Subject: [FALCON] using coerce_a Gordon, Darrell (mostly) My latest problem appears to be in assigning to a Dictionary. For the following code: var dict:Dictionary = new Dictionary(); Var i:int; Dict[foo] = (i == 0 ? new SomeClass() : new SomeOtherClass()); MXMLC generates a coerce_a after the constructProp for both SomeClass and SomeOtherClass. For some reason, FlashPlayer doesn't care if the coerce_a is missing, but AIR seems to. The question is, should a complex assignment statement like the above know about the destination type as the clauses of the ternary statement are being reduced? And if so, how would we get that knowledge into the reducer. Alternatively, is it safe to add a coerce_a before an assignment to a Dictionary? If so, what would be the recommended way to determine the assignment is to a Dictionary? Thanks, -Alex
Re: [FALCON] Convert MXMLPropertySpecifierNode to Binding
I don't think using a Binding should be necessary. I think the bug is the getName() of MXMLPropertySpecifierNode isn't returning the right kind of Name when the property is protected or private. - Gordon On 9/26/13 11:13 AM, Alex Harui aha...@adobe.com wrote: Darrell, Gordon (mostly), I'm having trouble with the codegen for a Binding destination function. I have an MXMLPropertySpecifierNode for the property to be set. This property can be protected or private as well as public. I want to use the OP_setproperty instruction which seems to take a Name. However, the MXMLPropertySpecifierNode's getName() returns a Name that isn't qualified as protected or private. In looking around, I see that other code that uses OP_setproperty seems to have a Binding and the getName() of that Binding is used. I passed in the LexicalScope from the class and called getBinding on the MXMLPropertySpecifierNode's getDefinition() and that worked for protected and private members of the class, but what I'm seeing is that if the public variable is [Bindable] and comes from a class in a SWC then the MXMLPropertySpecifierNode has a VariableDefinition (instead of a SynthesizedBindableSetterDefinition) and getBinding returns a binding with the namespace set to the BindableNamespace instead of a public setter. I'm wondering if the MXMLPropertySpecifierNode's definition should be something other than a VariableDefinition when coming from a SWC, or the code should somehow special case that VariableDefinition and go hunting for a SetterDefinition, or something else. Thanks, -Alex
Re: [FALCON] Convert MXMLPropertySpecifierNode to Binding
I'm in a meeting in San Jose and don't have access to the Falcon code at the moment. But I think Idefinition (or maybe only DefinitionBase) has a getMName() method that returns a Name. - Gordon On 9/26/13 11:37 AM, Alex Harui aha...@adobe.com wrote: It turns out that MXMLPropertySpecifierNode just calls its definition's getBaseName(). There doesn't seem to be any API on IDefinition to return a fully qualified name. I can get the INamespaceReference from the definition, but then how to I convert the INamespaceReference to a Namespace I can pass into Name? Thanks, -Alex On 9/26/13 11:28 AM, Gordon Smith gosm...@adobe.com wrote: I don't think using a Binding should be necessary. I think the bug is the getName() of MXMLPropertySpecifierNode isn't returning the right kind of Name when the property is protected or private. - Gordon On 9/26/13 11:13 AM, Alex Harui aha...@adobe.com wrote: Darrell, Gordon (mostly), I'm having trouble with the codegen for a Binding destination function. I have an MXMLPropertySpecifierNode for the property to be set. This property can be protected or private as well as public. I want to use the OP_setproperty instruction which seems to take a Name. However, the MXMLPropertySpecifierNode's getName() returns a Name that isn't qualified as protected or private. In looking around, I see that other code that uses OP_setproperty seems to have a Binding and the getName() of that Binding is used. I passed in the LexicalScope from the class and called getBinding on the MXMLPropertySpecifierNode's getDefinition() and that worked for protected and private members of the class, but what I'm seeing is that if the public variable is [Bindable] and comes from a class in a SWC then the MXMLPropertySpecifierNode has a VariableDefinition (instead of a SynthesizedBindableSetterDefinition) and getBinding returns a binding with the namespace set to the BindableNamespace instead of a public setter. I'm wondering if the MXMLPropertySpecifierNode's definition should be something other than a VariableDefinition when coming from a SWC, or the code should somehow special case that VariableDefinition and go hunting for a SetterDefinition, or something else. Thanks, -Alex
Re: [FALCON] Convert MXMLPropertySpecifierNode to Binding
I was able to browse the Apache repo. getMName() is on DefinitionBase, but not on IDefinition. So try ((DefinitionBase)propertyNode.getDefinition()).getMName() and see whether it returns the right kind of Name when the property is private or protected. - Gordon On 9/26/13 12:05 PM, Gordon Smith gosm...@adobe.com wrote: I'm in a meeting in San Jose and don't have access to the Falcon code at the moment. But I think Idefinition (or maybe only DefinitionBase) has a getMName() method that returns a Name. - Gordon On 9/26/13 11:37 AM, Alex Harui aha...@adobe.com wrote: It turns out that MXMLPropertySpecifierNode just calls its definition's getBaseName(). There doesn't seem to be any API on IDefinition to return a fully qualified name. I can get the INamespaceReference from the definition, but then how to I convert the INamespaceReference to a Namespace I can pass into Name? Thanks, -Alex On 9/26/13 11:28 AM, Gordon Smith gosm...@adobe.com wrote: I don't think using a Binding should be necessary. I think the bug is the getName() of MXMLPropertySpecifierNode isn't returning the right kind of Name when the property is protected or private. - Gordon On 9/26/13 11:13 AM, Alex Harui aha...@adobe.com wrote: Darrell, Gordon (mostly), I'm having trouble with the codegen for a Binding destination function. I have an MXMLPropertySpecifierNode for the property to be set. This property can be protected or private as well as public. I want to use the OP_setproperty instruction which seems to take a Name. However, the MXMLPropertySpecifierNode's getName() returns a Name that isn't qualified as protected or private. In looking around, I see that other code that uses OP_setproperty seems to have a Binding and the getName() of that Binding is used. I passed in the LexicalScope from the class and called getBinding on the MXMLPropertySpecifierNode's getDefinition() and that worked for protected and private members of the class, but what I'm seeing is that if the public variable is [Bindable] and comes from a class in a SWC then the MXMLPropertySpecifierNode has a VariableDefinition (instead of a SynthesizedBindableSetterDefinition) and getBinding returns a binding with the namespace set to the BindableNamespace instead of a public setter. I'm wondering if the MXMLPropertySpecifierNode's definition should be something other than a VariableDefinition when coming from a SWC, or the code should somehow special case that VariableDefinition and go hunting for a SetterDefinition, or something else. Thanks, -Alex
Re: [FALCON] Convert MXMLPropertySpecifierNode to Binding
I didn't work on Falcon's data bindingŠ Bruce Frazer implemented what's there. If you can get the synthetic SetterDefinition then you can get its Name with getMName(). So find the code that synthesizes the getter/setter pair for a [Bindable] var, and make it store references to the getter and setter on the BindableVariableDefinition so that you can retrieve these synthetic definitions. - Gordon On 9/26/13 1:17 PM, Alex Harui aha...@adobe.com wrote: getMName returns a Name with the same namespace as calling getNamespaceReference() on the definition. That still doesn't help me when the property is a [Bindable] var in a class in a SWC. The definition is a VariableDefinition with the BindableNamespace which represents the backing variable for the generated [Bindable] code.I somehow have to find a SetterDefinition and figure out its namespace. Any thoughts on that? Thanks, -Alex On 9/26/13 12:13 PM, Gordon Smith gosm...@adobe.com wrote: I was able to browse the Apache repo. getMName() is on DefinitionBase, but not on IDefinition. So try ((DefinitionBase)propertyNode.getDefinition()).getMName() and see whether it returns the right kind of Name when the property is private or protected. - Gordon On 9/26/13 12:05 PM, Gordon Smith gosm...@adobe.com wrote: I'm in a meeting in San Jose and don't have access to the Falcon code at the moment. But I think Idefinition (or maybe only DefinitionBase) has a getMName() method that returns a Name. - Gordon On 9/26/13 11:37 AM, Alex Harui aha...@adobe.com wrote: It turns out that MXMLPropertySpecifierNode just calls its definition's getBaseName(). There doesn't seem to be any API on IDefinition to return a fully qualified name. I can get the INamespaceReference from the definition, but then how to I convert the INamespaceReference to a Namespace I can pass into Name? Thanks, -Alex On 9/26/13 11:28 AM, Gordon Smith gosm...@adobe.com wrote: I don't think using a Binding should be necessary. I think the bug is the getName() of MXMLPropertySpecifierNode isn't returning the right kind of Name when the property is protected or private. - Gordon On 9/26/13 11:13 AM, Alex Harui aha...@adobe.com wrote: Darrell, Gordon (mostly), I'm having trouble with the codegen for a Binding destination function. I have an MXMLPropertySpecifierNode for the property to be set. This property can be protected or private as well as public. I want to use the OP_setproperty instruction which seems to take a Name. However, the MXMLPropertySpecifierNode's getName() returns a Name that isn't qualified as protected or private. In looking around, I see that other code that uses OP_setproperty seems to have a Binding and the getName() of that Binding is used. I passed in the LexicalScope from the class and called getBinding on the MXMLPropertySpecifierNode's getDefinition() and that worked for protected and private members of the class, but what I'm seeing is that if the public variable is [Bindable] and comes from a class in a SWC then the MXMLPropertySpecifierNode has a VariableDefinition (instead of a SynthesizedBindableSetterDefinition) and getBinding returns a binding with the namespace set to the BindableNamespace instead of a public setter. I'm wondering if the MXMLPropertySpecifierNode's definition should be something other than a VariableDefinition when coming from a SWC, or the code should somehow special case that VariableDefinition and go hunting for a SetterDefinition, or something else. Thanks, -Alex
RE: [FALCON] MXML protected vars as attributes
---Actual.mxml--- s:Group foo=1 fx:Script protected var foo:int; /fx:Script /s:Group is supposed to be equivalent to public class Actual extends Group { public function Actual() { super(); foo = 1; } protected var foo:int; } and ActionScript allows a constructor to access a protected (or private or public) instance variable. So I think the fact that Falcon doesn't allow this MXML is a bug. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Wednesday, September 25, 2013 12:11 PM To: dev@flex.apache.org Subject: [FALCON] MXML protected vars as attributes @Gordon (mostly): I ran into a situation where someone is setting protected variables via MXML attributes. Is this allowed? I thought MXML attributes were only for public properties. MXMLC lets this happen. Falcon does in one case, but not another. What should Falcon do? MXMLC and Falcon allows: ---Base.mxml--- s:Group fx:Script protected var foo:int; /fx:Script /s:Group ---Actual.mxml--- Base foo=1 / MXMLC allows, but Falcon doesn't like: ---Actual.mxml--- s:Group foo=1 fx:Script protected var foo:int; /fx:Script /s:Group IOW, Falcon is ok with seeing protected vars on the base class but not new protected vars on the actual class. Thanks, -Alex
RE: User bug fix requests for next version of Apache Flex
https://issues.apache.org/jira/browse/FLEX-33779 sounds like an FTE (Flash Text Engine) bug in Flash Player. It may not be a bug that Apache Flex can fix. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Wednesday, September 25, 2013 2:59 PM To: dev@flex.apache.org Subject: User bug fix requests for next version of Apache Flex HI, From thread on linked in:: https://issues.apache.org/jira/browse/FLEX-33747 https://issues.apache.org/jira/browse/http://FLEX-33779 Thanks, Justin
RE: [DRAFT] Apache Flex September 2013 Report
Are you saying that the instructions on how to set up a build environment for Flex are incomplete or inaccurate? If so, we need to fix them. - Gordon -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Tuesday, September 10, 2013 2:46 AM To: dev@flex.apache.org Subject: RE: [DRAFT] Apache Flex September 2013 Report Carol helped me out to fix my setup when I was just getting my GIT setup started. I'm sure I gave her some gray hairs over it lol. But once you have it setup right the first time, it's much easier the next few times :P. -Mark -Original Message- Most committers (!) should be able to do this... And should actually have done this many, many times :-) EdB
Falcon progress
Congratulations on getting more SWCs to compile with Falcon! It looks like only the following 6 tests in SDKSWCTests still have problems: authoringsupportSWC() automation_flashflexkitSWC() chartsSWC() mxSWC() sparkSWC() textLayoutSWC() Is there a reason why the @Ignore was removed from these failing tests? I recommend keepng the Falcon test suite passing at all times, so that developers know when they've introduced a new failure. Most of the changes seem to have been minor changes to SDK code to placate Falcon since it is stricter than the old compiler, or changes to the compilation options for the test to suppress errors or warnings that we can fix later. However, I'm concerned about changes to Falcon itself like this that are workarounds rather than fixes: FLEX-33713: An NPE is thrown by this code when compiling 'spark.swc' from the SDK. The null check bypasses the issue, it doesn't do anything to fix the root cause... I think this kind of thing is OK as long as these changes are trackable in some way that makes it possible to go back and make the actual fix later. Do we have to just rely on 'git log' for to do this? If so, we should put something we can search for like WORKAROUND in the Git comment. Has anybody gotten a complete app to compile with Falcon yet? Does it run correctly? - Gordon
RE: Falcon progress
I see now that the workaround I mentioned was marked with FIXME in the source code, so that makes it trackable. - Gordon From: Gordon Smith Sent: Tuesday, September 24, 2013 2:38 PM To: dev@flex.apache.org Subject: Falcon progress Congratulations on getting more SWCs to compile with Falcon! It looks like only the following 6 tests in SDKSWCTests still have problems: authoringsupportSWC() automation_flashflexkitSWC() chartsSWC() mxSWC() sparkSWC() textLayoutSWC() Is there a reason why the @Ignore was removed from these failing tests? I recommend keepng the Falcon test suite passing at all times, so that developers know when they've introduced a new failure. Most of the changes seem to have been minor changes to SDK code to placate Falcon since it is stricter than the old compiler, or changes to the compilation options for the test to suppress errors or warnings that we can fix later. However, I'm concerned about changes to Falcon itself like this that are workarounds rather than fixes: FLEX-33713: An NPE is thrown by this code when compiling 'spark.swc' from the SDK. The null check bypasses the issue, it doesn't do anything to fix the root cause... I think this kind of thing is OK as long as these changes are trackable in some way that makes it possible to go back and make the actual fix later. Do we have to just rely on 'git log' for to do this? If so, we should put something we can search for like WORKAROUND in the Git comment. Has anybody gotten a complete app to compile with Falcon yet? Does it run correctly? - Gordon
RE: [Falcon] BasicTests compiles and runs
FLEX_COMPILER_HOME I thought Alex wanted to start including Falcon as part of the SDK. If that's the case, the Falcon JARs belong in the same lib directory as all the other JARs, including those for the old compiler, and there wouldn't be different homes for the two compilers. But there still needs to be a switch to tell the launch scripts which JAR to use. But I think getting FB to use Falcon ... The current FB can't use Falcon because we had to rename every package from com.adobe to org.apache when we donated Falcon. - Gordon -Original Message- From: Darrell Loverin [mailto:dlove...@adobe.com] Sent: Wednesday, September 04, 2013 8:59 AM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs I agree that an environment variable is a good way to break the flex sdk and compiler location dependencies. I'd suggest something like FLEX_COMPILER_HOME rather than a codename like FALCON. It would be pretty quick to see if this would work: 1. Command line - flex scripts defer to an alternate compiler's scripts (falcon) using an environment variable. 2. Ant scripts - find new location of flexTasks.jar from environment variable. But I think getting FB to use Falcon to create SWFs will more difficult since we don't have access to the FB source. I believe that FB is not only dependent on flex-compiler-oem.jar (oem api) but it cheats is also dependent on mxmlc.jar. An approach I think could work is to create a modified version of flex-compiler-oem.jar that satisfies FB and calls falcon jars. You could think of the oem api having two major parts. The first part is where FB calls in to convert its settings into mxmlc configuration settings. The second part sets the configuration and then compiles. We can probably keep the first part mostly in place. We modify the second part to get the configuration options as a command line string and use that to kick off the falcon build. -Darrell On 9/3/13 7:02 PM, Gordon Smith gosm...@adobe.com wrote: Ah. Then maybe set a FALCON environment variable to true and have the launch scripts check it? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 3:58 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Yeah, but I think FB only knows how to find and launch mxmlc. And folks with ant scripts, etc, should be able to switch easily. The shell script and batch files could check some environment variable, but I think some other places load up mxmlc.jar and start talking to it. -Alex On 9/3/13 3:52 PM, Gordon Smith gosm...@adobe.com wrote: The simplest thing is just to have dual launch scripts: fmxmlc (Falcon) vs. mxmlc (old compiler), fcompc vs. compc, etc. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 2:45 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Excellent. I'll try it out now. Now that you've seen how we manage the source code in Git for Apache Flex, what do you think we should do about packaging up Falcon to work with an Apache Flex SDK? There would need to be some sort of switch to allow someone to go back to the old MXMLC if they need to. Thanks, -Alex On 9/3/13 2:37 PM, Darrell Loverin dlove...@adobe.com wrote: Added a patch for the implicit import issue: https://issues.apache.org/jira/browse/FLEX-33701 -Darrell On 9/3/13 4:08 PM, Darrell Loverin dlove...@adobe.com wrote: The below args almost work for me from eclipse. There are three undefined classes because flash.filters.* is not auto included. I'm close to have the fix for that. args: /Users/dloverin/git-src/ApacheFlex/source/flex-sdk/frameworks/tests/ b a sic T e sts/BasicTests.mxml -debug -library-path+=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/mu -library-path+s -library-path+t -library-path+ell a / mustella.swc Vmargs: -Xmx1024m -Dsun.io.useCanonCaches=false -Dflexlib=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/framewo r k s -Dflexcompiler=/Users/dloverin/git-src/ApacheFlex/source/falcon/comp i l er -Darrell On 9/3/13 2:49 PM, Alex Harui aha...@adobe.com wrote: I'll try when I get back to my computer. Sent via the PANTECH Discover, an ATT 4G LTE smartphone. Erik de Bruin e...@ixsoftware.nl wrote: I did an 'ant wipe' which seems to delete 'generated'. EdB On Tue, Sep 3, 2013 at 7:50 PM, Alex Harui aha...@adobe.com wrote: I am using a launch configuration in eclipse. Maybe the jars in generated are not updated. Sent via the PANTECH Discover, an ATT 4G LTE smartphone. Erik de Bruin e...@ixsoftware.nl wrote: I am, last commit showing is more fixes for BasicTests... (6b5dbbcbbda894b7c7b2998af0fe4776862769cd) Falcon builds fine, all tests pass. I've added the generated/dist/sdk/bin directory to my PATH and cd to the basicTests dir before running mxmlc
RE: [Falcon] BasicTests compiles and runs
The current FB can't use Falcon By making a new flex-compiler-oem.jar based on Falcon, you could make FB use Falcon to compile. But I don't think you'd get memory-resident data structures, which was one of the main points of Falcon... I think with the flex-compiler-oem.jar approach you'd be starting over with each compilation, parsing files, parsing SWCs, building symbol tables. (Darrell, am I wrong here?) You definitely wouldn't get Falcon-based code hinting, and the data structures of the old Code Model would be taking up memory. The point of Falcon was to have the code hinting and the compilation share data structures that are resident in memory. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Wednesday, September 04, 2013 10:14 AM To: dev@flex.apache.org; Erik de Bruin Subject: RE: [Falcon] BasicTests compiles and runs FLEX_COMPILER_HOME I thought Alex wanted to start including Falcon as part of the SDK. If that's the case, the Falcon JARs belong in the same lib directory as all the other JARs, including those for the old compiler, and there wouldn't be different homes for the two compilers. But there still needs to be a switch to tell the launch scripts which JAR to use. But I think getting FB to use Falcon ... The current FB can't use Falcon because we had to rename every package from com.adobe to org.apache when we donated Falcon. - Gordon -Original Message- From: Darrell Loverin [mailto:dlove...@adobe.com] Sent: Wednesday, September 04, 2013 8:59 AM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs I agree that an environment variable is a good way to break the flex sdk and compiler location dependencies. I'd suggest something like FLEX_COMPILER_HOME rather than a codename like FALCON. It would be pretty quick to see if this would work: 1. Command line - flex scripts defer to an alternate compiler's scripts (falcon) using an environment variable. 2. Ant scripts - find new location of flexTasks.jar from environment variable. But I think getting FB to use Falcon to create SWFs will more difficult since we don't have access to the FB source. I believe that FB is not only dependent on flex-compiler-oem.jar (oem api) but it cheats is also dependent on mxmlc.jar. An approach I think could work is to create a modified version of flex-compiler-oem.jar that satisfies FB and calls falcon jars. You could think of the oem api having two major parts. The first part is where FB calls in to convert its settings into mxmlc configuration settings. The second part sets the configuration and then compiles. We can probably keep the first part mostly in place. We modify the second part to get the configuration options as a command line string and use that to kick off the falcon build. -Darrell On 9/3/13 7:02 PM, Gordon Smith gosm...@adobe.com wrote: Ah. Then maybe set a FALCON environment variable to true and have the launch scripts check it? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 3:58 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Yeah, but I think FB only knows how to find and launch mxmlc. And folks with ant scripts, etc, should be able to switch easily. The shell script and batch files could check some environment variable, but I think some other places load up mxmlc.jar and start talking to it. -Alex On 9/3/13 3:52 PM, Gordon Smith gosm...@adobe.com wrote: The simplest thing is just to have dual launch scripts: fmxmlc (Falcon) vs. mxmlc (old compiler), fcompc vs. compc, etc. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 2:45 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Excellent. I'll try it out now. Now that you've seen how we manage the source code in Git for Apache Flex, what do you think we should do about packaging up Falcon to work with an Apache Flex SDK? There would need to be some sort of switch to allow someone to go back to the old MXMLC if they need to. Thanks, -Alex On 9/3/13 2:37 PM, Darrell Loverin dlove...@adobe.com wrote: Added a patch for the implicit import issue: https://issues.apache.org/jira/browse/FLEX-33701 -Darrell On 9/3/13 4:08 PM, Darrell Loverin dlove...@adobe.com wrote: The below args almost work for me from eclipse. There are three undefined classes because flash.filters.* is not auto included. I'm close to have the fix for that. args: /Users/dloverin/git-src/ApacheFlex/source/flex-sdk/frameworks/tests/ b a sic T e sts/BasicTests.mxml -debug -library-path+=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk/mu -library-path+s -library-path+t -library-path+ell a / mustella.swc Vmargs: -Xmx1024m -Dsun.io.useCanonCaches=false -Dflexlib=/Users/dloverin/git-src/ApacheFlex/source/flex-sdk
RE: [Falcon] BasicTests compiles and runs
It would be a separate compile as you noted but what other choice is there if we don't have access to the FB sources? I don't see another choice. I vote for abandoning FB and trying to get another IDE to do proper Falcon integration. FB uses Falcon for code hinting today. FB uses the pre-donation com.adobe Falcon classes for code hinting. - Gordon -Original Message- From: Darrell Loverin [mailto:dlove...@adobe.com] Sent: Wednesday, September 04, 2013 10:32 AM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs It would be a separate compile as you noted but what other choice is there if we don't have access to the FB sources? You definitely wouldn't get Falcon-based code hinting, and the data structures of the old Code Model would be taking up memory. Not sure why we wouldn't get Falcon-based code hinting. FB uses Falcon for code hinting today. Not planning to change that. On 9/4/13 1:20 PM, Gordon Smith gosm...@adobe.com wrote: The current FB can't use Falcon By making a new flex-compiler-oem.jar based on Falcon, you could make FB use Falcon to compile. But I don't think you'd get memory-resident data structures, which was one of the main points of Falcon... I think with the flex-compiler-oem.jar approach you'd be starting over with each compilation, parsing files, parsing SWCs, building symbol tables. (Darrell, am I wrong here?) You definitely wouldn't get Falcon-based code hinting, and the data structures of the old Code Model would be taking up memory. The point of Falcon was to have the code hinting and the compilation share data structures that are resident in memory. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Wednesday, September 04, 2013 10:14 AM To: dev@flex.apache.org; Erik de Bruin Subject: RE: [Falcon] BasicTests compiles and runs FLEX_COMPILER_HOME I thought Alex wanted to start including Falcon as part of the SDK. If that's the case, the Falcon JARs belong in the same lib directory as all the other JARs, including those for the old compiler, and there wouldn't be different homes for the two compilers. But there still needs to be a switch to tell the launch scripts which JAR to use. But I think getting FB to use Falcon ... The current FB can't use Falcon because we had to rename every package from com.adobe to org.apache when we donated Falcon. - Gordon -Original Message- From: Darrell Loverin [mailto:dlove...@adobe.com] Sent: Wednesday, September 04, 2013 8:59 AM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs I agree that an environment variable is a good way to break the flex sdk and compiler location dependencies. I'd suggest something like FLEX_COMPILER_HOME rather than a codename like FALCON. It would be pretty quick to see if this would work: 1. Command line - flex scripts defer to an alternate compiler's scripts (falcon) using an environment variable. 2. Ant scripts - find new location of flexTasks.jar from environment variable. But I think getting FB to use Falcon to create SWFs will more difficult since we don't have access to the FB source. I believe that FB is not only dependent on flex-compiler-oem.jar (oem api) but it cheats is also dependent on mxmlc.jar. An approach I think could work is to create a modified version of flex-compiler-oem.jar that satisfies FB and calls falcon jars. You could think of the oem api having two major parts. The first part is where FB calls in to convert its settings into mxmlc configuration settings. The second part sets the configuration and then compiles. We can probably keep the first part mostly in place. We modify the second part to get the configuration options as a command line string and use that to kick off the falcon build. -Darrell On 9/3/13 7:02 PM, Gordon Smith gosm...@adobe.com wrote: Ah. Then maybe set a FALCON environment variable to true and have the launch scripts check it? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 3:58 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Yeah, but I think FB only knows how to find and launch mxmlc. And folks with ant scripts, etc, should be able to switch easily. The shell script and batch files could check some environment variable, but I think some other places load up mxmlc.jar and start talking to it. -Alex On 9/3/13 3:52 PM, Gordon Smith gosm...@adobe.com wrote: The simplest thing is just to have dual launch scripts: fmxmlc (Falcon) vs. mxmlc (old compiler), fcompc vs. compc, etc. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, September 03, 2013 2:45 PM To: dev@flex.apache.org; Erik de Bruin Subject: Re: [Falcon] BasicTests compiles and runs Excellent. I'll try it out now. Now that you've seen how we manage
RE: [Falcon] BasicTests compiles and runs
/ComboBoxTestScript.mxml: java.lang.NullPointerException Any ideas what I'm doing wrong? EdB On Sat, Aug 31, 2013 at 9:02 AM, Alex Harui aha...@adobe.com wrote: I finally got Falcon to compile and run BasicTests successfully using the old codegen. BasicTests is the test that runs when you run ant checkintests. Next task is to get it to run with the mxml.children-as-data flag. After that, I'll be trying to get my internal customer's app to run. Far off is getting BasicTests to run without Flash because we'd need to have JS versions of all of these components, but getting this far means that Falcon's MXML handling is in decent shape. Thanks to Darrell Loverin and Gordon Smith for code and advice. -Alex -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
RE: File modes
Alex, you're the only person in the log for the second of these two particular files, so we should be able to figure it out. Are you on Windows or Mac? What Git client are you using? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, June 20, 2013 8:57 PM To: dev@flex.apache.org Subject: Re: File modes That's accidental. I wonder why that's happening and how to prevent it. On 6/20/13 8:48 PM, Gordon Smith gosm...@adobe.com wrote: I pulled the sdk 'develop' branch for the first time in several weeks and got lots of lines like mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeri es_ filterData_filterDataValues.png mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeri es_ filterData_filterDataValues.png.xml I had previously gotten the file modes of every file set correctly. Why are we now setting the executable bits for some PNG and XML files? Is it accidental or intentional? - Gordon
RE: File modes
100644 for non-executables. 100755 for executables. A little web searching revealed that the problem might be this: If you've checked out a file from Subversion that had svn:executable set, either on Mac or using Cygwin on Windows, and then commit it to Git, Git assumes it should be executable and sets the file mode to 100755. So if you're getting files from Subversion the executable bit might have been set incorrectly there. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Friday, June 21, 2013 10:51 AM To: dev@flex.apache.org Subject: Re: File modes I've been fixing up baselines from three different computers, two on Windows and a Mac. I'm not quite sure what computers these came from. What do we want the file mode to be? On 6/21/13 10:33 AM, Gordon Smith gosm...@adobe.com wrote: Alex, you're the only person in the log for the second of these two particular files, so we should be able to figure it out. Are you on Windows or Mac? What Git client are you using? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, June 20, 2013 8:57 PM To: dev@flex.apache.org Subject: Re: File modes That's accidental. I wonder why that's happening and how to prevent it. On 6/20/13 8:48 PM, Gordon Smith gosm...@adobe.com wrote: I pulled the sdk 'develop' branch for the first time in several weeks and got lots of lines like mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSer i es_ filterData_filterDataValues.png mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSer i es_ filterData_filterDataValues.png.xml I had previously gotten the file modes of every file set correctly. Why are we now setting the executable bits for some PNG and XML files? Is it accidental or intentional? - Gordon
RE: File modes
Cleaning it up isn't a priority, and I can do it eventually. I'm more interested in determining why it's happening so it doesn't happen indefinitely. - Gordon -Original Message- From: Gordon Smith Sent: Friday, June 21, 2013 11:10 AM To: dev@flex.apache.org Subject: RE: File modes 100644 for non-executables. 100755 for executables. A little web searching revealed that the problem might be this: If you've checked out a file from Subversion that had svn:executable set, either on Mac or using Cygwin on Windows, and then commit it to Git, Git assumes it should be executable and sets the file mode to 100755. So if you're getting files from Subversion the executable bit might have been set incorrectly there. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Friday, June 21, 2013 10:51 AM To: dev@flex.apache.org Subject: Re: File modes I've been fixing up baselines from three different computers, two on Windows and a Mac. I'm not quite sure what computers these came from. What do we want the file mode to be? On 6/21/13 10:33 AM, Gordon Smith gosm...@adobe.com wrote: Alex, you're the only person in the log for the second of these two particular files, so we should be able to figure it out. Are you on Windows or Mac? What Git client are you using? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, June 20, 2013 8:57 PM To: dev@flex.apache.org Subject: Re: File modes That's accidental. I wonder why that's happening and how to prevent it. On 6/20/13 8:48 PM, Gordon Smith gosm...@adobe.com wrote: I pulled the sdk 'develop' branch for the first time in several weeks and got lots of lines like mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSer i es_ filterData_filterDataValues.png mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSer i es_ filterData_filterDataValues.png.xml I had previously gotten the file modes of every file set correctly. Why are we now setting the executable bits for some PNG and XML files? Is it accidental or intentional? - Gordon
File modes
I pulled the sdk 'develop' branch for the first time in several weeks and got lots of lines like mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_filterData_filterDataValues.png mode change 100644 = 100755 mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_filterData_filterDataValues.png.xml I had previously gotten the file modes of every file set correctly. Why are we now setting the executable bits for some PNG and XML files? Is it accidental or intentional? - Gordon
Vacation time again
I won't be committing, or responding on this list, for the next four weeks because I'll be on vacation until June 5. When I come back I plan to work on reducing the errors and warnings that Falcon produces when compiling various SDK SWCs. At the moment 20 of the tests in SDKSWCTests are passing but 9 are marked @Ignore. - Gordon
RE: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop
I think we're back to arguing about how to use Git properly. If merge commits are forbidden in flex-sdk, then I'll try to avoid causing them in the future. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, May 07, 2013 5:33 PM To: dev@flex.apache.org Subject: Re: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop HI, This is expected with pull+merge. Justin, why do you think something went badly wrong? Because a commit was made that has 100's of lines changed that should not of occurred. Justin
RE: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop
However, I see some merge commits that Justin has done. So maybe they're not forbidden? - Gordon -Original Message- From: Gordon Smith Sent: Tuesday, May 07, 2013 5:59 PM To: dev@flex.apache.org Subject: RE: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop I think we're back to arguing about how to use Git properly. If merge commits are forbidden in flex-sdk, then I'll try to avoid causing them in the future. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Tuesday, May 07, 2013 5:33 PM To: dev@flex.apache.org Subject: Re: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop HI, This is expected with pull+merge. Justin, why do you think something went badly wrong? Because a commit was made that has 100's of lines changed that should not of occurred. Justin
RE: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop
I agree. We seem to be getting tripped up with this kind of merge commits. I don't agree. Merge commits are a normal feature of Git and should not cause any confusion. They can simply be ignored. There's even an option for ignoring them: git log --no-merges. - Gordon -Original Message- From: omup...@gmail.com [mailto:omup...@gmail.com] On Behalf Of OmPrakash Muppirala Sent: Tuesday, May 07, 2013 5:31 PM To: dev@flex.apache.org Subject: Re: [2/7] git commit: [flex-sdk] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-sdk into develop This confusion could be avoided by doing a git pull --rebase on the develop branch before pushing new commits to develop. --Dasa I agree. We seem to be getting tripped up with this kind of merge commits. git pull --rebase seems like a very attractive option at this point.
RE: flex-sdk build failure
That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: flex-sdk build failure
I've been doing 'ant clean main' and I've verified that 'ant clean' by itself deletes that file (and the entire 'in' directory). The console output is the same: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 11:10 AM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I assume you've manually deleted that 0 byte file before each attempt to build? I've had bad downloads create a bad fail that doesn't have delete permissions. What is the console output around that download now? Is it the same as before? On 4/30/13 10:55 AM, Gordon Smith gosm...@adobe.com wrote: That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: flex-sdk build failure
I had the same problem after pulling your change. Do you use Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 12:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I was able to reproduce your situation. I updated the build script to use the latest URL and it seemed to work for me. I think ant doesn't follow redirects all of the time. Hopefully the new URL is a more permanent home and not temporary. On 4/30/13 11:46 AM, Gordon Smith gosm...@adobe.com wrote: I've been doing 'ant clean main' and I've verified that 'ant clean' by itself deletes that file (and the entire 'in' directory). The console output is the same: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 11:10 AM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I assume you've manually deleted that 0 byte file before each attempt to build? I've had bad downloads create a bad fail that doesn't have delete permissions. What is the console output around that download now? Is it the same as before? On 4/30/13 10:55 AM, Gordon Smith gosm...@adobe.com wrote: That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: flex-sdk build failure
Windows with Command Prompt or Windows with Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 1:36 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I ran on Windows. It is still building, but it downloaded javacc correctly. On 4/30/13 12:54 PM, Alex Harui aha...@adobe.com wrote: No, I'm on mac. On 4/30/13 12:49 PM, Gordon Smith gosm...@adobe.com wrote: I had the same problem after pulling your change. Do you use Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 12:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I was able to reproduce your situation. I updated the build script to use the latest URL and it seemed to work for me. I think ant doesn't follow redirects all of the time. Hopefully the new URL is a more permanent home and not temporary. On 4/30/13 11:46 AM, Gordon Smith gosm...@adobe.com wrote: I've been doing 'ant clean main' and I've verified that 'ant clean' by itself deletes that file (and the entire 'in' directory). The console output is the same: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 11:10 AM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I assume you've manually deleted that 0 byte file before each attempt to build? I've had bad downloads create a bad fail that doesn't have delete permissions. What is the console output around that download now? Is it the same as before? On 4/30/13 10:55 AM, Gordon Smith gosm...@adobe.com wrote: That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: flex-sdk build failure
[get] Getting: http://java.net/downloads/javacc/javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 2:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure Cygwin. I changed the download url for javacc, what is it reporting now in your console? On 4/30/13 2:06 PM, Gordon Smith gosm...@adobe.com wrote: Windows with Command Prompt or Windows with Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 1:36 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I ran on Windows. It is still building, but it downloaded javacc correctly. On 4/30/13 12:54 PM, Alex Harui aha...@adobe.com wrote: No, I'm on mac. On 4/30/13 12:49 PM, Gordon Smith gosm...@adobe.com wrote: I had the same problem after pulling your change. Do you use Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 12:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I was able to reproduce your situation. I updated the build script to use the latest URL and it seemed to work for me. I think ant doesn't follow redirects all of the time. Hopefully the new URL is a more permanent home and not temporary. On 4/30/13 11:46 AM, Gordon Smith gosm...@adobe.com wrote: I've been doing 'ant clean main' and I've verified that 'ant clean' by itself deletes that file (and the entire 'in' directory). The console output is the same: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 11:10 AM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I assume you've manually deleted that 0 byte file before each attempt to build? I've had bad downloads create a bad fail that doesn't have delete permissions. What is the console output around that download now? Is it the same as before? On 4/30/13 10:55 AM, Gordon Smith gosm...@adobe.com wrote: That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: flex-sdk build failure
And then an error? Yes, the same error, because the file is 0 bytes. The output is below. Did you get a redirect in the console? I don't think so. How does it show up? - Gordon javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/downloads/javacc/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 2:30 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure And then an error? I noticed that I still didn't get the URL quite right. Did you get a redirect in the console? Try fixing the URL so there is no redirect. On 4/30/13 2:25 PM, Gordon Smith gosm...@adobe.com wrote: [get] Getting: http://java.net/downloads/javacc/javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 2:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure Cygwin. I changed the download url for javacc, what is it reporting now in your console? On 4/30/13 2:06 PM, Gordon Smith gosm...@adobe.com wrote: Windows with Command Prompt or Windows with Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 1:36 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I ran on Windows. It is still building, but it downloaded javacc correctly. On 4/30/13 12:54 PM, Alex Harui aha...@adobe.com wrote: No, I'm on mac. On 4/30/13 12:49 PM, Gordon Smith gosm...@adobe.com wrote: I had the same problem after pulling your change. Do you use Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 12:16 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I was able to reproduce your situation. I updated the build script to use the latest URL and it seemed to work for me. I think ant doesn't follow redirects all of the time. Hopefully the new URL is a more permanent home and not temporary. On 4/30/13 11:46 AM, Gordon Smith gosm...@adobe.com wrote: I've been doing 'ant clean main' and I've verified that 'ant clean' by itself deletes that file (and the entire 'in' directory). The console output is the same: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 30, 2013 11:10 AM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I assume you've manually deleted that 0 byte file before each attempt to build? I've had bad downloads create a bad fail that doesn't have delete permissions. What is the console output around that download now? Is it the same as before? On 4/30/13 10:55 AM, Gordon Smith gosm...@adobe.com wrote: That doesn't seem to be the problem. I can download this file manually. But Ant is downloading a 0 byte file. It must be a problem in the Ant script. Is this a new addition? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 29, 2013 10:09 PM To: dev@flex.apache.org Subject: Re: flex-sdk build failure I think every once in a while, that download fails for a while. Maybe that server goes off-line or something. On 4/29/13 9:17 PM, Gordon Smith gosm...@adobe.com wrote: I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get
flex-sdk build failure
I get the following build failure doing 'ant clean main' in Cygwin: ... commons-jars: javacc-jar-check: javacc-jar: download-zip: get-zip: [get] Getting: http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz [get] To: D:\asf\flex-sdk\in\javacc-5.0.tar.gz check-sum: untar-file: BUILD FAILED D:\asf\flex-sdk\build.xml:128: The following error occurred while executing this line: D:\asf\flex-sdk\modules\build.xml:64: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:399: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:149: The following error occurred while executing this line: D:\asf\flex-sdk\modules\downloads.xml:189: Error while expanding D:\asf\flex-sdk\in\javacc-5.0.tar.gz Any ideas about why it can't expand javacc-5.0.tar.gz? - Gordon
RE: What's the easiest way to tell if a character is a letter or not?
There is no easy way to tell. You need a large lookup table containing all the characters in the LC, Ll, Lm, Lo, Lt, and Lu categories http://www.fileformat.info/info/unicode/category/index.htm - Gordon -Original Message- From: Paul Hastings [mailto:paul.hasti...@gmail.com] Sent: Monday, April 22, 2013 10:02 AM To: dev@flex.apache.org Subject: Re: What's the easiest way to tell if a character is a letter or not? On 4/22/2013 10:23 PM, Justin Mclean wrote: I'm not that familiar with Chinese date formats.. Can someone provide me with some examples? gregorian calendar, using latest icu4j lib (running full,long,medium,short formats): zh_CN/zh_HK locales date== 2013年4月22日星期一 2013年4月22日 2013年4月22日 13-4-22 time== 下午11:58:57 [印度支那時間] 下午11:58:57 [GMT+7] 下午11:58:57 下午11:58 zh_TW locale date== 2013年4月22日星期一 2013年4月22日 2013/4/22 2013/4/22 time== 印度支那時間上午12時00分24秒 GMT+7上午12時00分24秒 上午12:00:24 上午12:00 i'm in bangkok, so the tz is UTC+7.
RE: What's the easiest way to tell if a character is a letter or not?
An good utility would be a getUnicodeCategory() API. - Gordon -Original Message- From: Gordon Smith Sent: Monday, April 22, 2013 10:24 AM To: dev@flex.apache.org; 'paul.hasti...@gmail.com' Subject: RE: What's the easiest way to tell if a character is a letter or not? There is no easy way to tell. You need a large lookup table containing all the characters in the LC, Ll, Lm, Lo, Lt, and Lu categories http://www.fileformat.info/info/unicode/category/index.htm - Gordon -Original Message- From: Paul Hastings [mailto:paul.hasti...@gmail.com] Sent: Monday, April 22, 2013 10:02 AM To: dev@flex.apache.org Subject: Re: What's the easiest way to tell if a character is a letter or not? On 4/22/2013 10:23 PM, Justin Mclean wrote: I'm not that familiar with Chinese date formats.. Can someone provide me with some examples? gregorian calendar, using latest icu4j lib (running full,long,medium,short formats): zh_CN/zh_HK locales date== 2013年4月22日星期一 2013年4月22日 2013年4月22日 13-4-22 time== 下午11:58:57 [印度支那時間] 下午11:58:57 [GMT+7] 下午11:58:57 下午11:58 zh_TW locale date== 2013年4月22日星期一 2013年4月22日 2013/4/22 2013/4/22 time== 印度支那時間上午12時00分24秒 GMT+7上午12時00分24秒 上午12:00:24 上午12:00 i'm in bangkok, so the tz is UTC+7.
RE: Release target seems to be fixed
DidAlex's change require TLF_HOME to be set? I thought we agreed it shouldn't be necessary. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Wednesday, April 17, 2013 3:22 PM To: dev@flex.apache.org Subject: Re: Release target seems to be fixed Hi, I'm modified build.xml to set TLF_HOME to env.TLF_HOME but not 100% sure if that the correct way to do it. Justin
RE: Release target seems to be fixed
Alex, did this work on your system? It apparently doesn't on Justin's. I haven't tried it yet. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Wednesday, April 17, 2013 4:36 PM To: dev@flex.apache.org Subject: Re: Release target seems to be fixed Hi, What do you mean by a common named directory? Can't it look for a sibling directory named flex-tlf? It's looking for a sibling directory called ../flex-tlf/textLayout or ../tlf/textLayput from FLEX_HOME. From build.xml: available file=${FLEX_HOME}/../flex-tlf/textLayout type=dir property=TLF_HOME value=${FLEX_HOME}/../flex-tlf / available file=${FLEX_HOME}/../tlf/textLayout type=dir property=TLF_HOME value=${FLEX_HOME}/../tlf / Justin
RE: Git and build.properties
+1 to Alex's comments. Having to create your own build.properties is a bad idea because, in addition to being an extra setup step, when the template for it changes you won't know and you won't pick up the intended changes. A standard build.properties should exist and work if you use a standard setup. People using a nonstandard setup should override with local.properties. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, April 15, 2013 11:04 PM To: dev@flex.apache.org Subject: Re: Git and build.properties I just pulled and tried ant release and it immediately failed because there is no build.properties. I liked the old way we had it which was: 1) a build.properties is in version control 2) anything you need to override in your system was changed in local.properties for which there was a local.template.properties It had the advantage of not requiring a file to be copied to just run the default build configuration. The build.xml still references local.properties. What are the advantages of the build.template.properties way of doing things? Can we go back to local.properties? Won't it be easier to have a default build.properties that works on the CI server and the release kit builds instead and have all overrides in local.properties (and env.properties)? Thanks, -Alex On 4/14/13 6:40 PM, Justin Mclean jus...@classsoftware.com wrote: Hi, The local changes can be made in this file. The template remains unchanged. We can add a specific entry into gitignore for the build.properties file. I'll give it a try and see if I can get it to work. Looks like I got it working, checked in - as always feedback welcome. Thanks, Justin -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
RE: Git and build.properties
The default location for TLF should be a flex-tlf directory that is a sibling of the flex-sdk directory. You should not have to set TLF_HOME unless you rename your local repositories to have different names than they have remotely, or don't put them side-by-side in the same local directory. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 16, 2013 11:03 AM To: dev@flex.apache.org Subject: Re: Git and build.properties On 4/16/13 2:45 AM, Kessler CTR Mark J mark.kessler@usmc.mil wrote: +1 to the TLF_HOME I think I am going to go in the direction of a versioned build.properties, a local-template.properties and TLF_HOME. -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Tuesday, April 16, 2013 2:42 AM To: dev@flex.apache.org Subject: Re: Git and build.properties On 4/15/13 11:33 PM, Justin Mclean jus...@classsoftware.com wrote: I liked the old way So did I but it didn't work with git in a nice way. TLF is the only reason? Or did you run into other things? we had it which was: 1) a build.properties is in version control 2) anything you need to override in your system was changed in local.properties for which there was a local.template.properties Issue here is the TLF path - there's no reasonable default as it could be anything. You might be able to assume ../flex-tlf but that is only going to be a match a a small % of cases. Why couldn't we use the old way and a TLF_HOME environment variable? -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui
Re: [FalconJX] JSGoogEmitter.emitMethod
the code calls super(), but there is no super class The implicit superclass is Object. - Gordon Sent from my iPad On Apr 15, 2013, at 7:07 AM, Erik de Bruin e...@ixsoftware.nl wrote: Cyrill, I'm (usually) not easily offended ;-) My code is written in a whatever gets me there first style, so if you want to break it up, please feel free to refactor! On the topic of your code: will such code ever come from Flash Builder (or another IDE)? I mean: the code calls super(), but there is no super class... Not saying we shouldn't handle this properly, just want to make sure I understand the test case. EdB On Mon, Apr 15, 2013 at 3:17 PM, Cyrill Zadra cyrill.za...@gmail.com wrote: HI Erik Got following scenario: public function TestClass() { super(); } JSGoogEmiter produces following javascript - /** * @constructor */ TestClass = function() { var self = this; goog.base(this); }; .. which produces a google closure error - ERROR - incorrect use of goog.base: Could not find goog.inherits for base class So I'm looking for a way where goog.base is only written if TestClass has a superClass and I found the implementation for the output in emitMethod... don't want to offend you.. but with all those conditions in this method I'm a little confused .. can't we somehow seperate method and constructor case? Cyrill -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
RE: How to get a clean working tree for flex-sdk
And what does ant release give? After I do 'ant release', 'git status' says nothing to commit (working directory clean) as expected. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Friday, April 12, 2013 11:09 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Hi, After you do 'ant clean main checkintests' in flex-sdk, 'git status' now says nothing to commit (working directory clean) And what does ant release give? Thanks, Justin
Re: flex-config.xml is produced from template but air-config.xml is not
In that case it sounds like air-config.xml doesn't belong in the repo. - Gordon Sent from my iPad On Apr 14, 2013, at 7:56 PM, Justin Mclean jus...@classsoftware.com wrote: Hi, Does anybody know why flex-config.xml is produced from flex-config-template.xml by replacing the tokens @playerversion@, @swfversion@, and @locale@, but air-config is not similarly produced? As a guess it probably because the air (and air mobile) config files can be obtained form the version of AIR downloaded/merged with the SDK and not generated. Justin
RE: How to get a clean working tree for flex-sdk
I can't run that target because I don't understand how to set ADOBE_EXTENSION_MANAGER. These instructions from the README are incorrect: The Adobe Extension Manager for Windows can be downloaded from: http://download.macromedia.com/pub/dw_exchange/extension_manager/win/AdobeExtensionManager5All.zip On Windows, set ADOBE_EXTENSION_MANAGER to the absolute path of Adobe Extension Manager CS5.exe There is no file named Adobe Extension Manager CS5.exe inside AdobeExtensionManager5All.zip. - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Friday, April 12, 2013 11:09 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Hi, After you do 'ant clean main checkintests' in flex-sdk, 'git status' now says nothing to commit (working directory clean) And what does ant release give? Thanks, Justin
RE: [FALCON] Jenkins job
What part is Windows-only? - Gordon -Original Message- From: Cyrill Zadra [mailto:cyrill.za...@gmail.com] Sent: Saturday, April 13, 2013 3:36 AM To: dev@flex.apache.org Subject: [FALCON] Jenkins job Hi Jenkins job for falcon is currently quite massiv and runs only on windows1 node. 1) Checkout tlf(master), sdk(develop), falcon(develop) from git 2) Copy tlf to sdk 3) Download dependencies like playerglobal, air, JFlex 4) Build SDK 5) Build compiler 6) Execute compiler Tests 6a) unit-tests 6b) functional-tests 6c) feature-tests 7) Build compiler.jx 8) Execute compiler.jx.test My goal is to have two Falcon Jenkins. One which depends on Flex SDK, Flash Player and Air Runtime and one that has no flex, flash and air dependency. Jenkins job would contain following steps. 1) falcon(develop) from git 2) Build compiler 3) Execute compiler Tests 3a) unit-tests 4) Build compiler.jx 5) Execute compiler.jx.test The main advantage would be that this job would run on any os not just windows. Any thought about it? Cyrill
RE: How to get a clean working tree for flex-sdk
After you do 'ant clean main checkintests' in flex-sdk, 'git status' now says nothing to commit (working directory clean) as one would expect. I dealt with the bogus mode change of Version.java that I was seeing on Cygwin by no longer rewriting Version.java to inject a build number. Instead asc gets its build number in the same way that mxmlc, compc, and fdb do, namely from a version.properties file which gets written out at build time with the build.number in it. I dealt with the bogus mode change of flex-config.xml by removing flex-config.xml from the repository. It didn't belong there because it gets built from flex-config-template.xml. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Tuesday, April 09, 2013 8:18 PM To: dev@flex.apache.org Subject: RE: How to get a clean working tree for flex-sdk Background: I'm trying to get 'git status' to report nothing after simply doing a build of the SDK (which is what you expect because you haven't changed any source files). The problem is that a copy of flex-config.xml and a replace of Version.java in our Ant scripts seem to misbehave on Cygwin and have the side effect of doing chmod +x on these two files. This mode change then makes them show up as changed in 'git status'. Using Ant's chmod task to set -x doesn't seem to work. I don't think Alex's save-a-copy approach will work, because it use copy, which is causing the problem in the first place. I looked into his suggestion of doing a git checkout of the problematic files to put them back into their original states. This solves the problem. But is it OK for the Ant scripts to assume that a command-line git is installed? Some people might only have a Git GUI. And if so, is it OK for them to assume that git is on the path, or should GIT be another environment variable that you have to set? If we can't use Git, I think I would need to replace the copy and replace tasks with an exec that executes a small Java program (which we would have to compile from source). Is anybody else doing Apache Flex development using Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, April 04, 2013 10:44 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Can we get the build to save a copy of these files before modification and then replace them at the end of a build even if the build fails? Or maybe just add git checkout to the build script? On 4/4/13 9:28 PM, Gordon Smith gosm...@adobe.com wrote: After adding 3 entries to .gitignore to suppress some build output files from showing up in 'git status', I'm now at the point where 'git status' after a build shows only this: gosmith@GOSMITH-WIN7 /cygdrive/d/asf/flex-sdk $ git status # On branch develop # Changes not staged for commit: # (use git add file... to update what will be committed) # (use git checkout -- file... to discard changes in working directory) # # modified: frameworks/flex-config.xml # modified: modules/asc/src/java/macromedia/asc/util/Version.java # no changes added to commit (use git add and/or git commit -a) Git is detecting that the SDK's Ant build scripts change the file mode of flex-config.xml (which gets diddled with an Ant copy) and Version.java (diddled with an Ant replace). These tasks seem to have the side effect of doing chmod +x for some reason. I've tried using chmod file=... perm=-x to fix this, but it doesn't seem to work. Both of these issues are probably some unfortunate interaction between Ant and Cygwin, but googling does't confirm this.(It does confirm that the people who wrote Ant don't think much of Cygwin. If anybody has an idea of how to fix this, so that we get clean 'git status' output after a build -- other than configurating Git to ignore file modes -- let me know. I suppose one solution is to just use Command Prompt instead of Cygwin, but then I have to give up other stuff. And another is to use a Mac, which is what most people seem to be doing these days. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, April 04, 2013 8:46 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Awesome! Thanks. On 4/4/13 5:24 PM, Gordon Smith gosm...@adobe.com wrote: OK, I've cleaned up the bad file modes in flex_tlf. There don't seem to be any in flex-falcon or flex-asjs. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Thursday, April 04, 2013 1:31 PM To: dev@flex.apache.org Subject: RE: How to get a clean working tree for flex-sdk I've pushed the file mode fixes to flex-sdk. 'ant clean main checkintests' works for me in Cygwin on Windows. Please let me know if I screwed anything up on Macs. I'll clean up the bad file modes in flex-tlf tonight. - Gordon
flex-config.xml is produced from template but air-config.xml is not
Does anybody know why flex-config.xml is produced from flex-config-template.xml by replacing the tokens @playerversion@, @swfversion@, and @locale@, but air-config is not similarly produced? - Gordon
RE: Git commit emails
It didn't change at all. - Gordon -Original Message- From: omup...@gmail.com [mailto:omup...@gmail.com] On Behalf Of OmPrakash Muppirala Sent: Tuesday, April 09, 2013 7:24 AM To: dev@flex.apache.org Subject: Re: Git commit emails On Apr 9, 2013 5:42 AM, Erik de Bruin e...@ixsoftware.nl wrote: I have the feeling I read an update on this somewhere in one of the INFRA messages, but I can't find it... Anyway, the git commit emails are still not formatted the way we discussed. EdB I was told by Infra that this issue was fixed. Is the format wrong or did it not change at all? Thanks, Om On Wed, Mar 27, 2013 at 12:44 PM, Om bigosma...@gmail.com wrote: I made this request to INFRA a while ago. I will ping them again now. (I dont think we can do this ourselves, but if someone knows how, please feel free to) Thanks, Om On Wed, Mar 27, 2013 at 10:43 AM, Erik de Bruin e...@ixsoftware.nl wrote: Is this something we can implement ourselves, or must this go through INFRA? EdB On Mon, Mar 18, 2013 at 6:45 PM, Om bigosma...@gmail.com wrote: On Mon, Mar 18, 2013 at 10:20 AM, Gordon Smith gosm...@adobe.com wrote: The email subject is currently something like git commit: The files/directories to exclude while checkin. Since we have 4 different repos, can we customize this to show which repo the commit was for? (Why? Because I want to pay more attention to commits to flex-falcon than to flex-sdk.) I suggest something like git commit [flex-sdk] The files/directories to exclude while checkin which makes it easy for the eye to filter on the repo. - Gordon There is documentation on how this works: https://git-wip-us.apache.org/docs/switching-to-git.html#commit-email-subject-format I guess the format you want for Falcon would be something like: git commit [%(repo_name)s]: %(subject)s If folks want to come up with a commit email subject format for each repo, I can give that to Infra and they set it up for us. If everyone likes this format, we can keep this format for all the repos. Thanks, Om -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl
RE: How to get a clean working tree for flex-sdk
Background: I'm trying to get 'git status' to report nothing after simply doing a build of the SDK (which is what you expect because you haven't changed any source files). The problem is that a copy of flex-config.xml and a replace of Version.java in our Ant scripts seem to misbehave on Cygwin and have the side effect of doing chmod +x on these two files. This mode change then makes them show up as changed in 'git status'. Using Ant's chmod task to set -x doesn't seem to work. I don't think Alex's save-a-copy approach will work, because it use copy, which is causing the problem in the first place. I looked into his suggestion of doing a git checkout of the problematic files to put them back into their original states. This solves the problem. But is it OK for the Ant scripts to assume that a command-line git is installed? Some people might only have a Git GUI. And if so, is it OK for them to assume that git is on the path, or should GIT be another environment variable that you have to set? If we can't use Git, I think I would need to replace the copy and replace tasks with an exec that executes a small Java program (which we would have to compile from source). Is anybody else doing Apache Flex development using Cygwin? - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, April 04, 2013 10:44 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Can we get the build to save a copy of these files before modification and then replace them at the end of a build even if the build fails? Or maybe just add git checkout to the build script? On 4/4/13 9:28 PM, Gordon Smith gosm...@adobe.com wrote: After adding 3 entries to .gitignore to suppress some build output files from showing up in 'git status', I'm now at the point where 'git status' after a build shows only this: gosmith@GOSMITH-WIN7 /cygdrive/d/asf/flex-sdk $ git status # On branch develop # Changes not staged for commit: # (use git add file... to update what will be committed) # (use git checkout -- file... to discard changes in working directory) # # modified: frameworks/flex-config.xml # modified: modules/asc/src/java/macromedia/asc/util/Version.java # no changes added to commit (use git add and/or git commit -a) Git is detecting that the SDK's Ant build scripts change the file mode of flex-config.xml (which gets diddled with an Ant copy) and Version.java (diddled with an Ant replace). These tasks seem to have the side effect of doing chmod +x for some reason. I've tried using chmod file=... perm=-x to fix this, but it doesn't seem to work. Both of these issues are probably some unfortunate interaction between Ant and Cygwin, but googling does't confirm this.(It does confirm that the people who wrote Ant don't think much of Cygwin. If anybody has an idea of how to fix this, so that we get clean 'git status' output after a build -- other than configurating Git to ignore file modes -- let me know. I suppose one solution is to just use Command Prompt instead of Cygwin, but then I have to give up other stuff. And another is to use a Mac, which is what most people seem to be doing these days. - Gordon -Original Message- From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, April 04, 2013 8:46 PM To: dev@flex.apache.org Subject: Re: How to get a clean working tree for flex-sdk Awesome! Thanks. On 4/4/13 5:24 PM, Gordon Smith gosm...@adobe.com wrote: OK, I've cleaned up the bad file modes in flex_tlf. There don't seem to be any in flex-falcon or flex-asjs. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Thursday, April 04, 2013 1:31 PM To: dev@flex.apache.org Subject: RE: How to get a clean working tree for flex-sdk I've pushed the file mode fixes to flex-sdk. 'ant clean main checkintests' works for me in Cygwin on Windows. Please let me know if I screwed anything up on Macs. I'll clean up the bad file modes in flex-tlf tonight. - Gordon -Original Message- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Thursday, April 04, 2013 1:14 PM To: dev@flex.apache.org Subject: RE: How to get a clean working tree for flex-sdk After you're done, will a simple pull correct the local repo's? I'm not a Git expert, but I'm pretty sure that it will. However, the fact that many files were marked as executable (+x) when they shouldn't be is not causing any problems that I know of. Fixing this is just housecleaning. - Gordon -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Thursday, April 04, 2013 10:25 AM To: dev@flex.apache.org Subject: RE: How to get a clean working tree for flex-sdk After you're done, will a simple pull correct the local repo's? -Mark -Original Message- From: Gordon Smith [mailto:gosm
Seeing what 'ant clean' isn't cleaning
If you do 'git status --ignored' after 'ant clean', it will reveal any (normally-ignored) build output that didn't get cleaned. - Gordon
Git needs a KISS
KISS = Keep It Simple, Stupid We've gotten ourselves in a hole where contributors are overwhelmed by the complexity of our recommended Git workflows and command lines. We need to dig ourselves out, and quickly, before we lose momentum. I don't think we should move back to Subversion, but I think we accept that many people would prefer a radically simpler approach to Git which is more like the one we were used to in Subversion. I think we made a serious mistake by pushing the nvie branching model (http://nvie.com/posts/a-successful-git-branching-model/) Just looking at the first diagram makes me want to close the page. This is overkill if all you're doing is fixing a bug or adding a test or something simple. The only part of nvie that should be mandatory is Don't' do any work on the 'master' branch. It should be fine for most contributors to check out the 'develop' branch and do all their work there. Most contributors shouldn't need to worry about using Git's stage or index. They can just commit all. You only need to stage things when you DON'T want to commit everything you've done. How often is that? We SHOULD NOT CARE if there are extra merge commits in the log. That's the way Git naturally works. Using obscure and controversial command line options to keep the log clean is not worth it, especially if it makes it harder for people to use visual Git clients. Many people, including me, do not enjoy working on the command line (although that's how I'm currently using Git). With a KISS approach, what most people need to know to use Git each day, after they've cloned the repo and checked out the develop branch, can be really simple: 1. Edit your files. No Git command required. 2. Merge in other people's work with 'git pull'. 3. If there a merge conflicts, fix them by editing. No Git command required. 4. See what files you've changed or added with 'git status'. 5. See what you've changed in a file with 'git diff file'. 6. Commit (to your local repo) what you've done with 'git commit -a'. 7. Share what you've done (in the public repo) with 'git push'. Note: There are only 7 steps. It's lore in cognitive science that people can remember 7 things but not necessarily more. Note: The only command-line option is -a to commit all your changes. All of these commands are probably available through any Git GUI. If you are working on a significant feature with a group of people over a period of time, then learning more about Git so that you can work together on a separate branch makes sense. But many contributors just want to make small changes, and the above workflow should suffice. If this KISS approach resonates, I'd like to have a poll on it. - Gordon
RE: Git needs a KISS
Okay, at its heart, the danger Fred was worried about is that, using a merge workflow, the person who pulls the changes needs to make sure they commit all changes... even files they didn't touch, because they 'inherit' the merge. Do you have any advice on how to get around this issue in a simple way? I agree that it would be bad to edit 2 files, do a 'git pull' followed by a 'git status', and see changes to 200 files from other people mingling with your changes to 2. The simple way to prevent this is to commit your changes before pulling in other people's changes (I think). - Gordon -Original Message- From: Justin Mclean [mailto:jus...@classsoftware.com] Sent: Friday, April 05, 2013 4:07 PM To: dev@flex.apache.org Subject: Re: Git needs a KISS Hi, Okay, at its heart, the danger Fred was worried about is that, using a merge workflow, the person who pulls the changes needs to make sure they commit all changes... even files they didn't touch, because they 'inherit' the merge. Do you have any advice on how to get around this issue in a simple way? I would of though that those changes would of already been in develop (99% of git pulls/git push are going to be from develop right?). Could this issue occur in the develop branch? If so is it easy to recognise that it has occurred and what would be the steps to fix it? For those new to git, if you are using this workflow, take a look at SmartGit. Thanks for the pointer will give it a go. Thanks, Justin