You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Christofer Dutz <ch...@codecentric.de> on 2016/11/01 11:09:10 UTC
[FlexJS] MXMLFlexJSPublisher cleanup
Hi,
so I cleaned up the MXMLFlexJSPublisher class greatly. Currently I’m trying to figgure out why the release output of 3 modules doesn’t seem to work. The thing is that I never tested the release versions of the original build, so I’ll probably be comparing the new to the old output first. But I did encounter some things I have questions about:
1. I think it would be a good idea to omit this „marmotinini“ conditional code. What needs to be done differently for a marmotini run should be passed in by configuration
2. The default for outputting stuff if no ouput-directory is specified is the directory containing the main class ... I would prefer it to be the current working directory
3. All (image) resources need to be located relative to the main application class. I think they should be relative to the/any source directories (Would like to have a separate source and a resource directory)
4. The extern.js files seem to be dumped to the intermediate „debug-js“ directory. I think they should be dumped somewhere outsite (they should not be needed in the output)
There’s one part I didn’t quite understand:
if (!googConfiguration.getSkipTranspile()) {
appendEncodedCSS(projectIntermediateMainFile, projectName);
}
What does this do? Also I don’t understand the conditional of only requiring this if transpilation is not skipped (isn’t transpilation all the JS output is about ... so what’s the use of skiping transpilation?) Wouldn’t it be better to simply do a
if (googConfiguration.getSkipTranspile()) {
return;
}
at the start?
Chris
--
Mit freundlichen Grüßen | Best regards
Christofer Dutz | Senior IT Consultant
codecentric AG | Kreuznacher Straße 30 | 60486 Frankfurt am Main | Deutschland
mobil: +49 (0) 1525.3057806 | fax: +49 (0) 69.7593-8200
www.codecentric.de | blog.codecentric.de | www.meettheexperts.de | www.more4fi.de
Sitz der Gesellschaft: Solingen | HRB 25917| Amtsgericht Wuppertal
Vorstand: Michael Hochgürtel . Mirko Novakovic . Rainer Vehns
Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Klaus Jäger . Jürgen Schütz
Diese E-Mail einschließlich evtl. beigefügter Dateien enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und löschen Sie diese E-Mail und evtl. beigefügter Dateien umgehend. Das unerlaubte Kopieren, Nutzen oder Öffnen evtl. beigefügter Dateien sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.
Re: [FlexJS] MXMLFlexJSPublisher cleanup
Posted by Alex Harui <ah...@adobe.com>.
On 11/1/16, 5:43 AM, "Christofer Dutz" <ch...@c-ware.de> wrote:
>
>And it would be cool, if someone using Ant, could do a quick switch to
>the feature-autobuild/closure-classpath-sources branch and give me a
>short feedback if things are still running on Ant and I didn’t break
>anything with my refactoring.
Better, but not quite right. The GCL files are ending up like this:
bin/js-debug//library/closure/closure/goog/events/event.js
Instead of
bin/js-debug//library/closure/goog/events/event.js
-Alex
Re: [FlexJS] MXMLFlexJSPublisher cleanup
Posted by Christofer Dutz <ch...@c-ware.de>.
Ok so it seems as if the release builds on the develop branch for some of the modules don’t work either (at least for Maven)
It would be cool if you Ant guys could have a look at the Ant builds, if the following release builds work:
- CreateJSExample (Nothing happens at all)
- DesktopMap (The application comes up but without any Map)
- MapSearch (The application comes up but without any Map)
Something must be missing ... would be cool if you could have a look at this.
And it would be cool, if someone using Ant, could do a quick switch to the feature-autobuild/closure-classpath-sources branch and give me a short feedback if things are still running on Ant and I didn’t break anything with my refactoring.
Chris
Am 01.11.16, 12:09 schrieb "Christofer Dutz" <ch...@codecentric.de>:
Hi,
so I cleaned up the MXMLFlexJSPublisher class greatly. Currently I’m trying to figgure out why the release output of 3 modules doesn’t seem to work. The thing is that I never tested the release versions of the original build, so I’ll probably be comparing the new to the old output first. But I did encounter some things I have questions about:
1. I think it would be a good idea to omit this „marmotinini“ conditional code. What needs to be done differently for a marmotini run should be passed in by configuration
2. The default for outputting stuff if no ouput-directory is specified is the directory containing the main class ... I would prefer it to be the current working directory
3. All (image) resources need to be located relative to the main application class. I think they should be relative to the/any source directories (Would like to have a separate source and a resource directory)
4. The extern.js files seem to be dumped to the intermediate „debug-js“ directory. I think they should be dumped somewhere outsite (they should not be needed in the output)
There’s one part I didn’t quite understand:
if (!googConfiguration.getSkipTranspile()) {
appendEncodedCSS(projectIntermediateMainFile, projectName);
}
What does this do? Also I don’t understand the conditional of only requiring this if transpilation is not skipped (isn’t transpilation all the JS output is about ... so what’s the use of skiping transpilation?) Wouldn’t it be better to simply do a
if (googConfiguration.getSkipTranspile()) {
return;
}
at the start?
Chris
--
Mit freundlichen Grüßen | Best regards
Christofer Dutz | Senior IT Consultant
codecentric AG | Kreuznacher Straße 30 | 60486 Frankfurt am Main | Deutschland
mobil: +49 (0) 1525.3057806 | fax: +49 (0) 69.7593-8200
www.codecentric.de | blog.codecentric.de | www.meettheexperts.de | www.more4fi.de
Sitz der Gesellschaft: Solingen | HRB 25917| Amtsgericht Wuppertal
Vorstand: Michael Hochgürtel . Mirko Novakovic . Rainer Vehns
Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Klaus Jäger . Jürgen Schütz
Diese E-Mail einschließlich evtl. beigefügter Dateien enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und löschen Sie diese E-Mail und evtl. beigefügter Dateien umgehend. Das unerlaubte Kopieren, Nutzen oder Öffnen evtl. beigefügter Dateien sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.
Re: [FlexJS] MXMLFlexJSPublisher cleanup
Posted by Alex Harui <ah...@adobe.com>.
On 11/1/16, 4:09 AM, "Christofer Dutz" <ch...@codecentric.de>
wrote:
>Hi,
>
>
>
>so I cleaned up the MXMLFlexJSPublisher class greatly. Currently I’m
>trying to figgure out why the release output of 3 modules doesn’t seem to
>work. The thing is that I never tested the release versions of the
>original build, so I’ll probably be comparing the new to the old output
>first. But I did encounter some things I have questions about:
>
>1. I think it would be a good idea to omit this „marmotinini“
>conditional code. What needs to be done differently for a marmotini run
>should be passed in by configuration
Take it out and I'll see if checkintests still works. We might have
already bypassed the marmotinni code paths as far as checkintests is
concerned.
>
>2. The default for outputting stuff if no ouput-directory is
>specified is the directory containing the main class ... I would prefer
>it to be the current working directory
It is? I thought it was a level higher. SWF output goes in the same
directory as the main class, but JS output seems to go in the parent. If
I transpire foo/bar/MainClass.mxml, I think the output ends up in
foo/bin/js-debug.
Anyway, what if we had more intelligent defaults. If the main class is in
a "src" folder, then use the parent (IMO, that's more desirable for the
way Flash Builder sets up projects), if the main class is in a
src/main/flex folder, then use ../../../target.
>
>3. All (image) resources need to be located relative to the main
>application class. I think they should be relative to the/any source
>directories (Would like to have a separate source and a resource
>directory)
I'm not sure I want to spend time searching in lots of places, but having
one more place to look would be fine with me.
>
>4. The extern.js files seem to be dumped to the intermediate
>„debug-js“ directory. I think they should be dumped somewhere outsite
>(they should not be needed in the output)
Such as? Again, you could pick different places if you find the Main
Class is in a src/main/flex folder.
>
>
>
>There’s one part I didn’t quite understand:
>
>
>
>if (!googConfiguration.getSkipTranspile()) {
> appendEncodedCSS(projectIntermediateMainFile, projectName);
>}
>
>
>
>What does this do? Also I don’t understand the conditional of only
>requiring this if transpilation is not skipped (isn’t transpilation all
>the JS output is about ... so what’s the use of skiping transpilation?)
>Wouldn’t it be better to simply do a
The goal of -skip-transpile is to let someone generate the js-debug
version, muck with the results, then have FalconJX send the results to the
GCC without overwriting modifications with new generated code. So, first
you would run FalconJX with -debug=true to get the js-debug version, then
after you muck with the results, you would run FalconJX with -debug=false,
-skip-transpile=true and no JS or CSS files would be generated, just the
code where GCC is handed the js-debug folder and told to generate the
js-release folder should be run.
It is basically a short cut for calling GCC yourself from the command line
and lets you workaround any bugs in our code-generation.
-Alex