Hi Nicolas,

OK, I looked into it.  Turns out that FB doesn't use the -output
parameter.  Please file a JIRA bug so we can track this issue.

A workaround is to specify the output parameter in a -config.xml file.  If
you don't already have one specified in your project, you can always
create a -config.xml file in the src folder for your project.  The
compiler automatically looks for a <projectname>-config.xml file in the
same folder as the main .MXML file.

For example, I was testing with a DataBindingExample project with the main
MXML file in src/DataBindingExample.mxml.  I created a
DataBindingExample-config.xml file in the src folder and its contents are:

<flex-config>
        
  
<output>/Users/aharui/temp/AltFolder/bin-debug/DataBindingExample.swf</outp
ut>
        
</flex-config>

Then the compiler put the output in
/Users/aharui/temp/AltFolder/bin/js-debug


HTH,
-Alex

On 9/25/17, 3:07 PM, "Idylog - Nicolas Granon" <ngra...@idylog.com> wrote:

>Alex, thank you for your answer.
>
>OK.
>
>Here is exactly what I have done so far.
>(FB 4.7, Windows).
>
>The project itself is minimal, since I only wanted to validate that the
>installation was correct and that FB could compile.
>In fact, it is the 'hello world' project.
>
>All settings described below are in the 'project settings' of FB, "Flex
>compiler" pane.
>
>Compiler options that I have tried :
>
>-output=<some existing folder>
>Is invalid if the folder already exists. I believe you cannot have
>-output to a folder. You should have -output to a filename. If you
>specify a folder, no output is generated at all (or you have the 'ok'
>button greyed and cannot validate the compiler settings). Probably FB
>sees that the output name is a folder and not a file.
>
>-output=<some folder><filename>
>Works ok for the SWF output. If <filename> has an inconsistent extension
>(or no extension at all), the resulting file is named "as is".
>If <filename> exists, it is overwritten.
>The JS output goes under the project root, in bin/js-debug, and is named
>after the project name. the filename specified is ignored.
>("JS output" means 3 files : index.html, <projectname>.js and
><projectname>.css, plus subdirs and all their content).
>
>-targets=JSFlex -output=<somefolder><filename>
>An empty (length=0) file is created in the output dir.
>The JS output is generated exactly as before.
>
>Tried to use forward slashes instead of backslashes in the path : the
>results are identical.
>
>When launching the compiler *from the command line*, tried both
>-output=<somepath> and -output=<somepath><filename>
>Both work.
>If no <filename> specified, the resulting file has the name of the
>project.
>If a filename is specified, the filename is used.
>All files are correctly directed to the <somepath> specified (folders are
>created as expected, bin-debug, bin/js-debug).
>
>In FB settings :
>You cannot specify the *same* output folder in the "build path output
>folder" and as an additional compiler option : if you do, you get an
>"access denied" error (in the "errors" pane of FB, which is logical since
>the -output option expects a file name, while the "build output folder"
>expects a folder).
>
>All checks are done through the file system (explorer) including
>timestamp check. Not through the FB "package explorer" pane.
>
>All outputs are valid (can be loaded in browser and display correctly)
>which is good news !
>
>So, yes, I can confirm that, when using the "build path" options and/or
>the "additional compiler arguments" of FB, the resulting JS output is
>always sent to <project path> and never to <build output path>.
>
>I do not have any specific or fancy internal mappings, virtual drives or
>anything special. All tests are made on a local hard drive. OS is Win7.
>I can make snapshots of FB settings if you think that could help...???
>
>Maybe somebody else is using FB under Windows and could confirm ?
>
>Nicolas Granon
>
>
>
>
>> -----Message d'origine-----
>> De : Alex Harui [mailto:aha...@adobe.com.INVALID]
>> Envoyé : lundi 25 septembre 2017 22:46
>> À : users@flex.apache.org; ngra...@idylog.com
>> Objet : Re: [FlexJS] Output folders with FB
>> 
>> The FB project settings are combined with any "Additional compiler
>> arguments" and passed to the compiler.  I have a hard time believing
>> that the compiler in 0.8.0 would write a SWF according to the -output
>> parameter but would then not write bin/js-debug to the _grandparent_ of
>> the SWF file specified, because there should only be one compiler
>> "launch" to create both when targets=SWF,JSFlex.  But you never know,
>> this is relatively new code.
>> 
>> It would be easier for me to believe that FB is making assumptions.  FB
>> doesn't launch the compiler like you did on the command line.  It loads
>> the compiler class via a bunch of jars and calls directly into the
>> compiler's entry points.  There are several classes in FB code we don't
>> control that are involved and they might assume a SWF is being created.
>> Apache Flex owns one jar specific to FB integration and we don't know
>> the code that well so there is a chance that some code we own is
>> involved, but it is unlikely.
>> 
>> Just to double-check:  what did you set your -output parameter to?  If
>> you set it to:
>> 
>>   -output=mypath\myfile.swf
>> 
>> 
>> Are you sure that there isn't now a bin/js-debug folder in the parent
>> folder of mypath (and not mypath itself)?  Then FB might have copied it
>> around or is showing it to you in the Package Explorer even though it
>> lives outside the project folder.
>> 
>> HTH,
>> -Alex
>> 
>> On 9/25/17, 12:54 PM, "Idylog - Nicolas Granon" <ngra...@idylog.com>
>> wrote:
>> 
>> >Well, Alex, you are right : when launching from the command-line,
>> >everything goes to the specified dir.
>> >Even more surprising : *no* empty swf file generated (with
>> >"-targets=JSFlex" option).
>> >
>> >This is confusing... Is there any specific configuration for FB ? I
>> >thought that the "compiler options" from FB where simply applied to
>> the
>> >task. Seems like it does not work that way...
>> >We have to get the correct configuration (we do not want to have to
>> >launch a compile task manually on each save).
>> >
>> >Any clue ? (config file mismatch ? incorrect path to build task ?...)
>> >
>> >Nicolas Granon
>> >
>> >
>> >
>> >
>> >> -----Message d'origine-----
>> >> De : Alex Harui [mailto:aha...@adobe.com.INVALID] Envoyé : lundi 25
>> >> septembre 2017 18:53 À : users@flex.apache.org; ngra...@idylog.com
>> >> Objet : Re: [FlexJS] Output folders with FB
>> >>
>> >> Hi Nicolas,
>> >>
>> >> I just tried setting –output= to an absolute path for the swf and it
>> >> worked for me.  It will take whatever path you specify for the SWF
>> >> and use the grandparent folder (not the parent) because it is
>> >> expecting the SWF to go in something like
>> /Users/username/output/bin-debug/foo.swf.
>> >> Then the JS output will go in  /Users/username/output/bin/js-debug.
>> >>
>> >> If it isn't working from within Flash Builder, try the command-line
>> >> (js/bin/mxmlc).  Also try manually deleting the bin/js-debug folder
>> >> to prove that you aren't seeing old output from before you changed
>> >> the settings and the new output is going somewhere else.
>> >>
>> >> HTH,
>> >> -Alex
>> >>
>> >> From: Idylog - Nicolas Granon
>> >> <ngra...@idylog.com<mailto:ngra...@idylog.com>>
>> >> Organization: IDYLOG
>> >> Reply-To: "users@flex.apache.org<mailto:users@flex.apache.org>"
>> >> <users@flex.apache.org<mailto:users@flex.apache.org>>,
>> >> "ngra...@idylog.com<mailto:ngra...@idylog.com>"
>> >> <ngra...@idylog.com<mailto:ngra...@idylog.com>>
>> >> Date: Monday, September 25, 2017 at 9:06 AM
>> >> To: "users@flex.apache.org<mailto:users@flex.apache.org>"
>> >> <users@flex.apache.org<mailto:users@flex.apache.org>>
>> >> Subject: RE: [FlexJS] Output folders with FB
>> >>
>> >> Hi Piotr,
>> >>
>> >> Many thanks for your answer.
>> >>
>> >> However, this does not work : the documentation clearly states that
>> >> the –output compiler option is used to specify an “output directory
>> >> AND file name”.
>> >> And that is true !
>> >>
>> >> If you add
>> >> -output=mypath\myfile.swf
>> >> to the compiler “command line” options it makes the compiler write
>> >> the SWF output with the name “myfile.swf” in the folder specified by
>> >> “mypath”.
>> >>
>> >> But the JS output is still written in the js-debug folder under the
>> >> workspace root !
>> >>
>> >> In fact, the “output folder” text input from “project > properties >
>> >> flex build path” pane just passes the text input value to the –
>> output
>> >> option of the compiler (after appending {project name}.swf).
>> >> The only difference is that if you specify the output folder in
>> “flex
>> >> build path” AND the compiler option, the compiler option overrides
>> >> the specified build path (it overrides both the path and the output
>> >> SWF
>> >> filename) which seems quite understable.
>> >>
>> >> What seems missing is some kind of “js-compiler-output” parameter.
>> >>
>> >> But, at least, it seems to me that the js compiler should use the
>> >> path from the “-output” option when building its own output path…and
>> >> not the source path.
>> >>
>> >> All suggestions are welcome !
>> >>
>> >> Nicolas Granon
>> >>
>> >> [signature_e_mail]
>> >>
>> >> De : Piotr Zarzycki [mailto:piotrzarzyck...@gmail.com]
>> >> Envoyé : lundi 25 septembre 2017 14:14 À :
>> >> users@flex.apache.org<mailto:users@flex.apache.org>;
>> >> ngra...@idylog.com<mailto:ngra...@idylog.com>
>> >> Objet : Re: [FlexJS] Output folders with FB
>> >>
>> >> Hi Nicolas,
>> >>
>> >> The first which come up to my mind is to specify for compiler option
>> >> - output=pathtofolder.
>> >>
>> >> Glad to hear that you are trying FlexJS!
>> >>
>> >> Thanks, Piotr
>> >>
>> >>
>> >> 2017-09-25 14:01 GMT+02:00 Nicolas Granon
>> >> <ngra...@online.fr<mailto:ngra...@online.fr>>:
>> >> We are currently investigating FlexJS (we have a large code base
>> >> developed with Flex 4.7, using FlashBuilder 4.7 and have to decide
>> to
>> >> migrate to FlexJS or ReactJS).
>> >>
>> >>
>> >>
>> >> Our concern is about web apps only (we will keep all AIR apps as
>> they
>> >> are).
>> >>
>> >>
>> >>
>> >> On our first tests, we have successfully installed FlexJS 0.8.
>> >>
>> >> FB seems to compile correctly to both SWF and JS.
>> >>
>> >>
>> >>
>> >> However, we cannot figure out how we can setup FB so that the JS
>> >> output is sent to a location relative to the SWF output ???
>> >>
>> >> We send the SWF output (using FB's project settings / output folder)
>> >> to a folder under the http server root (in the bin-debug folder) but
>> >> the generated js version always goes automatically in the
>> >> bin/js-debug folder located in the workspace/project folder.
>> >>
>> >>
>> >>
>> >> How is it possible to override the output folder for the js version
>> ?
>> >> (since of course there is nothing in FB for specifying JS output
>> >> folders)
>> >>
>> >> Shouldn't it go automatically to the bin/js-debug relative to the
>> >> bin- debug folder ? Or is there a compiler option that must be set
>> in
>> >> the project settings/compiler pane ?
>> >>
>> >>
>> >>
>> >> (our setup is windows, FlashBuilder 4.7)
>> >>
>> >>
>> >>
>> >> Many thanks in advance
>> >>
>> >>
>> >>
>> >> Nicolas
>> >>
>> >>
>> >>
>> >> --
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >>
>> >> Piotr Zarzycki
>> >>
>> >> mobile: +48 880 859 557
>> >> skype: zarzycki10
>> >>
>> >> LinkedIn:
>> >>
>> >>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.l
>> i
>> >>nke
>> >>din.com%2Fpiotrzarzycki&data=02%7C01%7C%7C29af24245ba04419596108d5044
>> f
>> >>3f9
>> >>0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636419660775178744&sda
>> t
>> >>a=f
>> >>tJm0JriFYtt8GE7xlbiOzbLxVzcSkN9iChnB%2BBGAsw%3D&reserved=0<https://na
>> 0
>> >>1.s
>> >>afelinks.protection.outlook.com/?url=https%3A%2F%2Fna01.safelinks.pro
>> t
>> >>ect
>> >>ion&data=02%7C01%7C%7C29af24245ba04419596108d5044f3f90%7Cfa7b1b5a7b34
>> 4
>> >>387
>> >>94aed2c178decee1%7C0%7C0%7C636419660775178744&sdata=eTseR2dPXKgkFfMIP
>> d
>> >>qOD
>> >>enqdLSNmvPSw54mOi8qrX0%3D&reserved=0
>> >>
>> >>.outlook.com/?url=https%3A%2F%2Fpl.linkedin.com%2Fin%2Fpiotr-
>> zarzycki-
>> >>
>> >>92a53552&data=02%7C01%7C%7Cf1f069b8962f4acb644408d5042f64e3%7Cfa7b1b5
>> a
>> >>7
>> >>
>> >>b34438794aed2c178decee1%7C0%7C0%7C636419523962836460&sdata=6SYIu2fzoj
>> Q
>> >>0  fyT1PzMZA0EFvJbLfl%2FXJM6A27JVbHo%3D&reserved=0>
>> >>
>> >> GitHub:
>> >>
>> >>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>> u
>> >>b.c
>> >>om%2Fpiotrzarzycki21&data=02%7C01%7C%7C29af24245ba04419596108d5044f3f
>> 9
>> >>0%7
>> >>Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636419660775178744&sdata=
>> C
>> >>vh%
>> >>2B73itACKqEqgjhcF47O%2Bbdz1d6MGnehIQRalKShE%3D&reserved=0<https://na0
>> 1
>> >>.sa
>> >>felinks.protection.outlook.com/?url=https%3A%2F%2Fna01.safelinks.prot
>> e
>> >>cti
>> >>on.ou&data=02%7C01%7C%7C29af24245ba04419596108d5044f3f90%7Cfa7b1b5a7b
>> 3
>> >>443
>> >>8794aed2c178decee1%7C0%7C0%7C636419660775178744&sdata=rI2Mscn0POAqguo
>> X
>> >>IR%
>> >>2BEf4aNYzA%2BdYKY%2F0lUEml4kUA%3D&reserved=0
>> >>
>> >>tlook.com/?url=https%3A%2F%2Fgithub.com%2Fpiotrzarzycki21&data=02%7C0
>> 1
>> >>%
>> >>7C%7Cf1f069b8962f4acb644408d5042f64e3%7Cfa7b1b5a7b34438794aed2c178dec
>> e
>> >>e
>> >>
>> >>1%7C0%7C0%7C636419523962836460&sdata=oQOlISfb1SZU4xiP31mZa%2Bxztie9hl
>> s
>> >>3
>> >> 9tEphlXOW6o%3D&reserved=0>
>> >
>
>

Reply via email to