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