I'm about to start working on this.  I haven't actually tried anything
yet, but my thinking is that there are some interesting issues regarding
configuration.  Typically, when compiling an application, you define a
bunch of compiler options, but for a compilation that should produce two
different outputs, you might need two different sets of compiler options.
How should that be managed?

For example, you might want a different library-path for the SWF compile
vs the JS compile.  Or set COMPILE::SWF=true for the SWF build and
COMPILE::SWF=false for the JS compile.

One possibility is that all platform-specific options have to be specified
in -config.xml files and not on the command line.  Then for any
-load-config option, the JS compile will look for a js-prefixed file.  So
instead of using compile-as-config.xml and compile-js-config.xml, we would
use compile-config.xml and js-compile-config.mxml and you would specify
-load-config=compile-config.xml as the compiler option.

Another possibility is that the SWF compile would always set
COMPILE::SWF=true and COMPILE::JS=false and the JS compile would do the
opposite.  The JS compile would see if -js-library-path was specified and
if not, use the -library-path.  The weird thing about this approach is
that the SWF compiler needs to support a -js-library-path option otherwise
the SWF compiler's configuration checker will throw an error.  Adding
options that the SWF compiler must ignore doesn't seem right to me.

Any other ideas?  Thoughts?
-Alex


On 10/7/16, 8:09 AM, "Alex Harui" <aha...@adobe.com> wrote:

>I don't know enough about how Flex Tool Groups work to form an opinion.
>Can you provide more details and explain how folks would configure things
>on the command-line?
>
>AIUI, -js-output-type is sort of overloaded right now, because the
>FLEXJS_DUAL dictates the output of a SWF.  In my plan to combine things, I
>would introduce a new configuration parameter like -output-type or
>-targets or something like that.  I supposed it could be a list of
>compiler jars to run.  But -js-output-type doesn't currently go through
>different jars for JSC, NODE, and FLEXJS.  That parameter just sets up a
>few configuration changes within the output classes.
>
>I'm pretty sure Schmalle imagined a true plug-in architecture for the
>emitters as well.  Not sure we want to take all of that on right now, but
>we might want to consider that as well.
>
>-Alex
>
>On 10/7/16, 12:14 AM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote:
>
>>I would like to propose a different approach:
>>
>>
>>Unless these approaches led to a dead end and there is no solution down
>>that path, I would rather suggest to refactor the compiler to allow
>>dynamic adding of alternate compilers. Currently the supported compilers
>>are limited by the JsOutputType enum. If we however used something like
>>the Java service thing I used for the Flex Tool Groups, we could allow
>>new experiments to start in dedicated Jars and we wouldn't have such a
>>mixture in case someone wants to try something out.
>>
>>
>>Chris
>>
>>________________________________
>>Von: Alex Harui <aha...@adobe.com>
>>Gesendet: Freitag, 7. Oktober 2016 00:25:30
>>An: dev@flex.apache.org
>>Betreff: Re: [FALCONJX] Combining SWF and JS compilers (was Re: AW:
>>[FalconJX][FlexJS] COMPJSC and Build order)
>>
>>+1.  Bonus points for making a tag and/or branch before deleting.
>>
>>-Alex
>>
>>On 10/6/16, 3:02 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:
>>
>>>Makes sense to me. I say we simply delete it. No need to transfer to
>>>another folder. It'll still be in the repository's history.
>>>
>>>- Josh
>>>
>>>On Thu, Oct 6, 2016 at 2:55 PM, Carlos Rovira
>>><carlos.rov...@codeoscopic.com
>>>> wrote:
>>>
>>>> I want to propose the same. I something was an experiment and is no
>>>>more
>>>> developed. I think it should go to some folder that make people avoid
>>>> confusion about what code is valid and what is left behind.
>>>>
>>>> 2016-10-06 23:12 GMT+02:00 Christofer Dutz
>>>><christofer.d...@c-ware.de>:
>>>>
>>>> > I stumble over tons of VF2JS classes and think it would be better to
>>>>move
>>>> > stuf like that to some sort of attic. What do you think?
>>>> >
>>>> >
>>>> > Chris
>>>> >
>>>> > ________________________________
>>>> > Von: Josh Tynjala <joshtynj...@gmail.com>
>>>> > Gesendet: Donnerstag, 6. Oktober 2016 17:13:49
>>>> > An: dev@flex.apache.org
>>>> > Betreff: Re: [FALCONJX] Combining SWF and JS compilers (was Re: AW:
>>>> > [FalconJX][FlexJS] COMPJSC and Build order)
>>>> >
>>>> > JSC is meant to be purely an ActionScript to JavaScript transpiler
>>>> without
>>>> > any frameworks. By default, it doesn't export an HTML file, but it
>>>>will
>>>> > optionally support custom HTML templates in 0.8.0. It is exposed
>>>>through
>>>> > the js/bin/asjsc executable, where it loads the
>>>>frameworks/js-config.xml
>>>> > configuration. js-config.xml references js.swc to give ActionScript
>>>> access
>>>> > to browser APIs.
>>>> >
>>>> > NODE generates an index.js that bootstraps things for Node.js. It is
>>>> > exposed through the js/bin/asnodec executable, which it loads the
>>>> > frameworks/node-config.xml configuration. In addition to js.swc,
>>>> > node-config.xml references node.swc to give ActionScript access to
>>>> Node.js
>>>> > APIs.
>>>> >
>>>> > As far as I know, AMD and VF2JS are no longer maintained. I assume
>>>>AMD
>>>> > tried to output AMD modules instead of goog modules. I remember Alex
>>>>or
>>>> > someone mentioning that VF2JS had something to do with the original
>>>>Flex
>>>> > framework, but I don't know the details.
>>>> >
>>>> > - Josh
>>>> >
>>>> > On Thu, Oct 6, 2016 at 12:10 AM, Christofer Dutz <
>>>> > christofer.d...@c-ware.de>
>>>> > wrote:
>>>> >
>>>> > > Hi Alex,
>>>> > >
>>>> > >
>>>> > > yesterday I stumbled over this flexjs-dual output type while
>>>>looking
>>>> for
>>>> > > the correct settings to buid a pure JS app. Would it be possible
>>>>for
>>>> you
>>>> > > guys to give a short summary of what the different output types
>>>> actually
>>>> > > are? The enum doesn't contain any documentation on this and I
>>>>guess
>>>> this
>>>> > > would be really helpful.
>>>> > >
>>>> > >
>>>> > > So far I see these output types:
>>>> > >
>>>> > > AMD
>>>> > > FLEXJS
>>>> > > GOOG
>>>> > > VF2JS
>>>> > > FLEXJS_DUAL
>>>> > > JSC
>>>> > > NODE
>>>> > >
>>>> > > And I guess I only used no value and FLEXJS
>>>> > >
>>>> > >
>>>> > > Chris
>>>> > >
>>>> > > ________________________________
>>>> > > Von: Alex Harui <aha...@adobe.com>
>>>> > > Gesendet: Donnerstag, 6. Oktober 2016 07:45:48
>>>> > > An: dev@flex.apache.org
>>>> > > Betreff: [FALCONJX] Combining SWF and JS compilers (was Re: AW:
>>>> > > [FalconJX][FlexJS] COMPJSC and Build order)
>>>> > >
>>>> > > Fred Thomas did some work in this area about a year ago.  In the
>>>> > > flex-oem-compiler module that FB (and maybe other IDEs) use to
>>>>talk
>>>>to
>>>> > the
>>>> > > compiler, he added a FLEXJS_DUAL -js-output-type.  Not sure how
>>>>well it
>>>> > > works.
>>>> > >
>>>> > > Thinking about this some more we'd have to have the same
>>>>configuration
>>>> > > options available to both compilers which might be a bit strange.
>>>>Or
>>>> > > maybe we can convince the compilers to not complain about unknown
>>>> config
>>>> > > parameters.
>>>> > >
>>>> > > We'd have to decide on how to reset the library-path for each
>>>>compile.
>>>> > > The JS compile might use different SWCs than the SWF compile.
>>>> > >
>>>> > > We'd have to select a few conditional compile options that would
>>>>be
>>>> > > different for each compiler.  For example, COMPILE::SWF would be
>>>>true
>>>> for
>>>> > > SWF compiling and false for JS compiling and vice versa, and maybe
>>>> > finding
>>>> > > those params on the command-line would have no effect since they
>>>>would
>>>> be
>>>> > > dictated by the compiler.
>>>> > >
>>>> > > Thoughts?
>>>> > > -Alex
>>>> > >
>>>> > > On 10/2/16, 1:45 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:
>>>> > >
>>>> > > >That would be ideal!
>>>> > > >
>>>> > > >- Josh
>>>> > > >
>>>> > > >On Oct 1, 2016 10:47 PM, "Alex Harui" <aha...@adobe.com> wrote:
>>>> > > >
>>>> > > >> One more thought on this:  now that COMPJSC can more or less
>>>>build
>>>> its
>>>> > > >>own
>>>> > > >> output instead of relying on COMPC to package its pile of .js
>>>>files,
>>>> > it
>>>> > > >> might be worth experimenting with combining Falcon and FalconJX
>>>>so
>>>> > COMPC
>>>> > > >> can produce a SWC or a SWC with JS files based on some
>>>>configuration
>>>> > > >> parameter.  Then there would only be one compiler that produces
>>>>SWFs
>>>> > or
>>>> > > >>JS
>>>> > > >> based on some -output-type flag.
>>>> > > >>
>>>> > > >> Thoughts?
>>>> > > >> -Alex
>>>> > > >>
>>>> > > >> On 10/1/16, 10:18 PM, "Alex Harui" <aha...@adobe.com> wrote:
>>>> > > >>
>>>> > > >> >Hi Chris,
>>>> > > >> >
>>>> > > >> >When I read this, I realized I already pushed the changes when
>>>>I
>>>> > pushed
>>>> > > >> >some other changes yesterday.  If the Maven build didn't blow
>>>>up,
>>>> it
>>>> > is
>>>> > > >> >probably because it is using its own compile-xx-config.xml
>>>>files so
>>>> > is
>>>> > > >> >still generating a pile of .js files and packaging them up on
>>>>the
>>>> SWF
>>>> > > >> >COMPC run.
>>>> > > >> >
>>>> > > >> >-Alex
>>>> > > >> >
>>>> > > >> >On 10/1/16, 6:10 AM, "Christofer Dutz"
>>>><christofer.d...@c-ware.de>
>>>> > > >>wrote:
>>>> > > >> >
>>>> > > >> >>Hi Alex,
>>>> > > >> >>
>>>> > > >> >>
>>>> > > >> >>so I guess ideally this change should be done on a feature
>>>>branch,
>>>> > so
>>>> > > >>I
>>>> > > >> >>can sort out the Maven issues and we'll merge that back as
>>>>soon as
>>>> > > >>all is
>>>> > > >> >>working. I would like to ask you to create a
>>>> > > >>"feature-autobuild/"-branch
>>>> > > >> >>for that. Just give me a short note what branch the stuff is
>>>>in
>>>> and
>>>> > > >>I'll
>>>> > > >> >>try to sort out the Maven issues.
>>>> > > >> >>
>>>> > > >> >>
>>>> > > >> >>Chris
>>>> > > >> >
>>>> > > >>
>>>> > > >>
>>>> > >
>>>> > >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Carlos Rovira
>>>> Director General
>>>> M: +34 607 22 60 05
>>>> http://www.codeoscopic.com
>>>> http://www.avant2.es
>>>>
>>>>
>>>> Este mensaje se dirige exclusivamente a su destinatario y puede
>>>>contener
>>>> información privilegiada o confidencial. Si ha recibido este mensaje
>>>>por
>>>> error, le rogamos que nos lo comunique inmediatamente por esta misma
>>>>vía y
>>>> proceda a su destrucción.
>>>>
>>>> De la vigente Ley Orgánica de Protección de Datos (15/1999), le
>>>>comunicamos
>>>> que sus datos forman parte de un fichero cuyo responsable es
>>>>CODEOSCOPIC
>>>> S.A. La finalidad de dicho tratamiento es facilitar la prestación del
>>>> servicio o información solicitados, teniendo usted derecho de acceso,
>>>> rectificación, cancelación y oposición de sus datos dirigiéndose a
>>>>nuestras
>>>> oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la
>>>>documentación
>>>> necesaria.
>>>>
>>
>

Reply via email to