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> >> > > >