You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by sankar <sa...@gmail.com> on 2017/06/01 11:49:17 UTC

[FlexJS] Why FlexJS compiler statically looks for 'src' folder

Hello,

I'm using current release branch 0.8.0 FlexJS SDK. I noticed running FlexJS
project compilation always produce me 'bin' folder to somewhere unexpected
when I have source folder named anything but 'src'. 

I have my project's source folder in project root named "*srcx*" and
contains on FlexJS application file. 

I tried to run following command in my project root:
set FLEX_HOME=E:\out\apache-flex-flexjs-0.8.0-bin&&
E:\out\apache-flex-flexjs-0.8.0-bin\js\bin\mxmlc.bat
-load-config+=obj/OldFlexJSBrowserProjectConfig.xml  -optimize=false
-compiler.targets=JSFLEX

(Here's the config file: https://kobra.io/#/e/-KlYWM07_bjF8CDhUgF6)

If I ran the above command I noticed the 'bin' folder always produces inside
the 'srcx' folder - not in the root project directory where I ran the
command. 

Furthermore, if I have my application file resides anywhere in more deep
sub-folder, and run the command in project root, it's anyway produce the
'bin' folder in 'srcx'!

If I modify the folder name from "srcx" to "*src*" (and also does requisite
changes in the config file above), FlexJS compiler produce the 'bin' folder
now correctly in project root! 

It seems like compiler statically checks for 'src' folder existence and
therefore (if exists) produce the 'bin' folder to it's parent. 

This may not right when a situation when source folder named something other
than 'src' (like in my case) and the compiler produce the 'bin' folder and I
was keep thinking where is the 'bin' folder by just searching into the
project root! 

Thanks!



--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-compiler-statically-looks-for-src-folder-tp61991.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Christofer Dutz <ch...@c-ware.de>.
Even if the src/main/flex is the default for maven flex project, it should already be configurable … same as the output directory.

Chris



Am 01.06.17, 15:30 schrieb "Josh Tynjala" <jo...@gmail.com>:

    I ran into this issue too because I frequently use "source" instead of
    "src".
    
    It is indeed true that "src" is hard coded, along with "src/main/flex" (for
    Maven). I wonder if it would be better to simply produce bin in the current
    working directory by default, instead of having these two hard coded
    values. Usually, the cwd will be the parent of the main source path.
    
    The -js-output compiler option may be used to customize where the bin
    directory is created for JS. To force it to be the current working
    directory, you should be able to use:
    
    -js-output=.
    
    - Josh
    
    On Jun 1, 2017 5:04 AM, "sankar" <sa...@gmail.com> wrote:
    
    > Hello,
    >
    > I'm using current release branch 0.8.0 FlexJS SDK. I noticed running FlexJS
    > project compilation always produce me 'bin' folder to somewhere unexpected
    > when I have source folder named anything but 'src'.
    >
    > I have my project's source folder in project root named "*srcx*" and
    > contains on FlexJS application file.
    >
    > I tried to run following command in my project root:
    > set FLEX_HOME=E:\out\apache-flex-flexjs-0.8.0-bin&&
    > E:\out\apache-flex-flexjs-0.8.0-bin\js\bin\mxmlc.bat
    > -load-config+=obj/OldFlexJSBrowserProjectConfig.xml  -optimize=false
    > -compiler.targets=JSFLEX
    >
    > (Here's the config file: https://kobra.io/#/e/-KlYWM07_bjF8CDhUgF6)
    >
    > If I ran the above command I noticed the 'bin' folder always produces
    > inside
    > the 'srcx' folder - not in the root project directory where I ran the
    > command.
    >
    > Furthermore, if I have my application file resides anywhere in more deep
    > sub-folder, and run the command in project root, it's anyway produce the
    > 'bin' folder in 'srcx'!
    >
    > If I modify the folder name from "srcx" to "*src*" (and also does requisite
    > changes in the config file above), FlexJS compiler produce the 'bin' folder
    > now correctly in project root!
    >
    > It seems like compiler statically checks for 'src' folder existence and
    > therefore (if exists) produce the 'bin' folder to it's parent.
    >
    > This may not right when a situation when source folder named something
    > other
    > than 'src' (like in my case) and the compiler produce the 'bin' folder and
    > I
    > was keep thinking where is the 'bin' folder by just searching into the
    > project root!
    >
    > Thanks!
    >
    >
    >
    > --
    > View this message in context: http://apache-flex-development
    > .2333347.n4.nabble.com/FlexJS-Why-FlexJS-compiler-
    > statically-looks-for-src-folder-tp61991.html
    > Sent from the Apache Flex Development mailing list archive at Nabble.com.
    >
    


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
I re-read your description of outputFolderMap, and I now I understand how
my proposal can be included as its default.

- Josh

On Fri, Jun 2, 2017 at 10:04 PM, Alex Harui <ah...@adobe.com.invalid>
wrote:

> Hmm.  We seem to be miscommunicating.  My proposal is to implement your
> proposal via outputFolderMap and some default mappings in flex-config.xml.
>
> -Alex
>
> On 6/2/17, 9:06 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >Oh, I didn't realize that you wanted to add -outputFolderMap in addition
> >to
> >my proposal. That sounds good to me!
> >
> >- Josh
> >
> >On Fri, Jun 2, 2017 at 9:03 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> Agreed.  So I think with the defaults I propose we will implement what
> >>you
> >> propose and I can tweak it for my needs?
> >>
> >> -Alex
> >>
> >> On 6/2/17, 8:55 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >That's a perfectly valid solution for some people. I prefer to work
> >>with
> >> >unmodified SDKs so that I don't accidentally release any projects that
> >> >break for other people because their SDKs are not modified like mine.
> >> >
> >> >- Josh
> >> >
> >> >On Fri, Jun 2, 2017 at 8:42 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> I would modify my flex-config.xml, so I don't have to modify every
> >> >>project.
> >> >>
> >> >> -Alex
> >> >>
> >> >> On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >If I need to set an option, then I might as well set -output or
> >> >> >-js-output.
> >> >> >I simply wouldn't use -outputFolderMap.
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> OK, sorry, I did miss that.  I thought you were the one who wanted
> >> >>the
> >> >> >> output in the same folder, but I was mistaken.
> >> >> >>
> >> >> >> Keep in mind that:
> >> >> >>
> >> >> >> 1) The SWF compiler (MXMLC for both the regular Flex SDK and
> >>FlexJS)
> >> >> >> defaults to putting the output in the same folder.  So, if you
> >>have:
> >> >> >>
> >> >> >> /projects/SomeProject/SomeProject.mxml
> >> >> >>
> >> >> >> By default, the SWF is:
> >> >> >>
> >> >> >> /projects/SomeProject/SomeProject.swf
> >> >> >>
> >> >> >> 2) I have another folder of projects that don't have src folders
> >>at
> >> >>all.
> >> >> >> So before November 2016, when the default was as you propose it
> >>to be
> >> >> >> again, the problem was this.  If I have two projects:
> >> >> >>
> >> >> >> /projects/SomeProject/SomeProject.mxml
> >> >> >> /projects/SomeOtherProject/SomeOtherProject/mxml
> >> >> >>
> >> >> >> Compiling one overwrites the bin folder of the other in
> >>projects/bin.
> >> >> >>
> >> >> >>
> >> >> >> IMO, there is "no right answer", so I now think that we should
> >>add a
> >> >> >> configuration option like:
> >> >> >>
> >> >> >> -outputFolderMap=src/main/flex,bin
> >> >> >> -outputFolderMap+=.,../bin
> >> >> >>
> >> >> >> Then folks can configure defaults any way they want.  The "." is
> >>the
> >> >> >> special case for no matches with other patterns.  You have
> >>proposed
> >> >>the
> >> >> >> default to be
> >> >> >>
> >> >> >>
> >> >> >> -outputFolderMap+=.,../bin
> >> >> >>
> >> >> >>
> >> >> >> It is currently:
> >> >> >>
> >> >> >> -outputFolderMap+=.,bin
> >> >> >>
> >> >> >>
> >> >> >> AIUI, Maven actually specifies the equivalent of:
> >> >> >>
> >> >> >> -outputFolderMap=src/main/flex,target
> >> >> >>
> >> >> >> So folks who want to leverage that somehow could do so.
> >> >> >>
> >> >> >>
> >> >> >> Thoughts?
> >> >> >> -Alex
> >> >> >>
> >> >> >>
> >> >> >> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >> >>
> >> >> >> >You seem to be missing the most important part of my proposal.
> >>The
> >> >> >> >compiler
> >> >> >> >will put the "bin" directory in the parent of the main source
> >> >>folder,
> >> >> >> >regardless of whether it's named "src", "source", "alex-is-cool"
> >>or
> >> >> >>*any*
> >> >> >> >name whatsoever. I put some pseudo-code to explain that in one
> >>of my
> >> >> >> >emails, but I guess you missed it. That's the main proposal. In
> >> >> >>addition
> >> >> >> >to
> >> >> >> >that, "src/main/flex" would still be a special exception because
> >> >>it's a
> >> >> >> >more complex nested structure (otherwise, you'd get
> >> >>"src/main/bin"). I
> >> >> >> >hope
> >> >> >> >that makes it clear!
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> Maybe I don't understand your proposal.  Currently I think you
> >>can
> >> >> >>say
> >> >> >> >> that there are exceptions for "src" and "src/main/flex".  AIUI,
> >> >>your
> >> >> >> >> proposal is that only "src/main/flex" would be handled
> >> >>differently.
> >> >> >> >>
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com>
> >> wrote:
> >> >> >> >>
> >> >> >> >> >Why would you need to stop and reconfigure all of those
> >>projects?
> >> >> >>With
> >> >> >> >>the
> >> >> >> >> >change that I suggested, all of your projects that use "src"
> >> >>would
> >> >> >> >> >continue
> >> >> >> >> >to work just fine with no changes required.
> >> >> >> >> >
> >> >> >> >> >Yes, I'm perfectly happy making any changes after this
> >>release.
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >wrote:
> >> >> >> >> >
> >> >> >> >> >> Believe me, I am not worried about perfection here.
> >> >> >> >> >>
> >> >> >> >> >> I am saying that if we make changes, we should allow the
> >>set of
> >> >> >> >>patterns
> >> >> >> >> >> to be configurable so we don't have to change the compiler
> >>to
> >> >>add
> >> >> >>new
> >> >> >> >> >> patterns.  I already have a large set of projects with only
> >> >>"src"
> >> >> >> >>and I
> >> >> >> >> >> would prefer not to have to stop and reconfigure all of
> >>those
> >> >> >> >>projects.
> >> >> >> >> >> When I have to debug into the compiling of a Flash Builder
> >> >> >>project,
> >> >> >> >>it
> >> >> >> >> >> will save me time to not have to remember to add the output
> >> >> >>folder.
> >> >> >> >> >>
> >> >> >> >> >> Having a config option would allow you to have what you want
> >> >>and
> >> >> >>for
> >> >> >> >>me
> >> >> >> >> >>to
> >> >> >> >> >> have what I want.  Can we agree to add a config option, but
> >> >>maybe
> >> >> >> >>after
> >> >> >> >> >> this release?
> >> >> >> >> >>
> >> >> >> >> >> Thanks,
> >> >> >> >> >> -Alex
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com>
> >> >> wrote:
> >> >> >> >> >>
> >> >> >> >> >> >If there are other nested source directory structures
> >> >> >>recommended as
> >> >> >> >> >> >standard practice by opinionated tools, similar to how
> >>Maven
> >> >>use
> >> >> >> >> >> >"src/main/flex", then sure, let's add them as we become
> >>aware
> >> >>of
> >> >> >> >>them.
> >> >> >> >> >> >
> >> >> >> >> >> >"srcx/main/flex" would indeed not be solved by my
> >>recommended
> >> >> >> >>change.
> >> >> >> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it"
> >> >>would
> >> >> >> >>all be
> >> >> >> >> >> >solved, and I think a single directory with a different
> >>name
> >> >>than
> >> >> >> >> >>"src" is
> >> >> >> >> >> >vastly more common than another nested directory structure
> >> >>like
> >> >> >> >> >> >"srcx/main/flex". At least from my experience looking at
> >>real
> >> >> >>world
> >> >> >> >> >> >projects over the years. Let's not let perfection stop us
> >>from
> >> >> >> >>making
> >> >> >> >> >>an
> >> >> >> >> >> >improvement that will reduce the time users spend on
> >>figuring
> >> >>out
> >> >> >> >>why
> >> >> >> >> >> >something isn't working as expected and contributors spend
> >> >> >> >>explaining
> >> >> >> >> >>why
> >> >> >> >> >> >"src" is a special case when it doesn't need to be.
> >> >> >> >> >> >
> >> >> >> >> >> >- Josh
> >> >> >> >> >> >
> >> >> >> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >wrote:
> >> >> >> >> >> >
> >> >> >> >> >> >> If we allow one exception, why not more than one?
> >> >> >> >> >> >>
> >> >> >> >> >> >> What if we add an "outputFolderExceptions" list and
> >>default
> >> >>it
> >> >> >>to
> >> >> >> >> >>just
> >> >> >> >> >> >> contain "src/main/flex".  Then I could add "src" in my
> >>SDK
> >> >> >> >>installs
> >> >> >> >> >>to
> >> >> >> >> >> >>get
> >> >> >> >> >> >> what I want.  Still not sure how it solves the original
> >> >>problem
> >> >> >> >> >>though.
> >> >> >> >> >> >> If someone has a src/main/flex pattern and changes it to
> >> >> >> >> >>srcx/main/flex
> >> >> >> >> >> >> seems like they will still be surprised.
> >> >> >> >> >> >>
> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >>
> >> >> >> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala"
> >><jo...@gmail.com>
> >> >> >> wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >> >If we do as I suggest, there would no longer be a list
> >>of
> >> >> >> >>patterns.
> >> >> >> >> >>I
> >> >> >> >> >> >>want
> >> >> >> >> >> >> >to allow *any* folder name. That's what I mean by
> >> >> >>generalizing.
> >> >> >> >>Just
> >> >> >> >> >> >> >automatically put the "bin" directory relative to the
> >> >>parent
> >> >> >> >> >>directory
> >> >> >> >> >> >>of
> >> >> >> >> >> >> >the main source file. (with one exception: Maven-style
> >> >>project
> >> >> >> >> >> >>structures
> >> >> >> >> >> >> >with src/main/flex would still be a special case).
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >Right now, if you compile like this...
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >mxmlc src/MyProject.mxml
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >...you get a "bin" directory in the same parent
> >>directory
> >> >>as
> >> >> >> >>"src".
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >I want to allow you to use ANY name instead of "src"
> >>too,
> >> >>like
> >> >> >> >>this:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >mxmlc source/MyProject.mxml
> >> >> >> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >... and still get a "bin" directory relative to
> >>"source" or
> >> >> >> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >> >> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at
> >> >>random,
> >> >> >> >>and I
> >> >> >> >> >> >>want
> >> >> >> >> >> >> >it to just work.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >The compiler would do something similar to this
> >> >>pseudo-code:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >File mainClass = new
> >> >> >> >> >> >>
> >> >> >> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
> >> >> >> MyProject.mxml");
> >> >> >> >> >> >> >File bin =
> >> >>mainClass.getParent().getParent().resolve("bin");
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >You'd get /path/to/MyProject/bin/
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> I just want to optimize for a couple of common cases
> >>in
> >> >> >>order
> >> >> >> >>to
> >> >> >> >> >> >>save me
> >> >> >> >> >> >> >> and maybe other folks some time.  If for some reason I
> >> >>need
> >> >> >>to
> >> >> >> >> >> >>compile a
> >> >> >> >> >> >> >> Flash Builder project from the command-line or Ant or
> >> >>Java
> >> >> >> >> >>debugger,
> >> >> >> >> >> >>I
> >> >> >> >> >> >> >> don't have to remember to set the -output parameter.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> I used to get FB projects in JIRA and email and then
> >> >>unpack
> >> >> >> >>them
> >> >> >> >> >>and
> >> >> >> >> >> >> >> compile them outside of FB because then I can get the
> >> >> >>debugger
> >> >> >> >>on
> >> >> >> >> >> >>them
> >> >> >> >> >> >> >> more easily.  All of our examples are set up so you
> >>can
> >> >> >>compile
> >> >> >> >> >>them
> >> >> >> >> >> >> >>from
> >> >> >> >> >> >> >> the command line and not have to type the -output
> >> >>parameter.
> >> >> >> >>And
> >> >> >> >> >>if
> >> >> >> >> >> >>you
> >> >> >> >> >> >> >> make a mistake typing the output folder name, it ends
> >>up
> >> >> >> >>creating
> >> >> >> >> >>a
> >> >> >> >> >> >>new
> >> >> >> >> >> >> >> folder with that name.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
> >> >> >>suggesting
> >> >> >> >> >> >>allowing
> >> >> >> >> >> >> >> folks to add more patterns to the set of folders where
> >> >>the
> >> >> >> >> >>compiler
> >> >> >> >> >> >>will
> >> >> >> >> >> >> >> chose the parent of the folder pattern?  I'm not sure
> >>how
> >> >> >>that
> >> >> >> >> >>solves
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> problem.  Seems like you'd still be surprised if you
> >>use
> >> >> >> >>"source"
> >> >> >> >> >>or
> >> >> >> >> >> >> >> something that isn't in the default list so a warning
> >> >>would
> >> >> >> >>still
> >> >> >> >> >> >>help,
> >> >> >> >> >> >> >> but if that's what you want to do, seems like it
> >>wouldn't
> >> >> >>hurt.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala"
> >> >><jo...@gmail.com>
> >> >> >> >>wrote:
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >I'm not sure that I understand why you mentioned
> >> >>changing
> >> >> >> >>Flash
> >> >> >> >> >> >> >>Builder's
> >> >> >> >> >> >> >> >default source path. That seems mostly tangential
> >>here.
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >I'm saying that the compiler shouldn't care whether
> >>it's
> >> >> >>named
> >> >> >> >> >> >>"src",
> >> >> >> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should
> >> >>simply
> >> >> >> >> >>default
> >> >> >> >> >> >>to
> >> >> >> >> >> >> >> >putting "bin" in the parent of that folder. A warning
> >> >>might
> >> >> >> >>be a
> >> >> >> >> >> >>good
> >> >> >> >> >> >> >> >temporary workaround, but generalizing this behavior
> >>is
> >> >> >> >> >> >>significantly
> >> >> >> >> >> >> >> >better, in my opinion.
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know
> >> >>what it
> >> >> >> >>would
> >> >> >> >> >> >>take
> >> >> >> >> >> >> >>to
> >> >> >> >> >> >> >> >> get FB to default to something else.  I know I have
> >> >>lots
> >> >> >>of
> >> >> >> >> >> >>projects
> >> >> >> >> >> >> >> >>with
> >> >> >> >> >> >> >> >> just a "src" folder.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> I agree it is confusing.  We could output a
> >>warning or
> >> >> >> >>error if
> >> >> >> >> >> >>you
> >> >> >> >> >> >> >> >> haven't specified -output, -js-output and don't
> >>have
> >> >> >>"src"
> >> >> >> >>or
> >> >> >> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning:
> >> >>output
> >> >> >> >> >>folder
> >> >> >> >> >> >>not
> >> >> >> >> >> >> >> >> specified and src or src/main/flex folders not
> >> >>specified.
> >> >> >> >> >>Output
> >> >> >> >> >> >> >>will
> >> >> >> >> >> >> >> >>be
> >> >> >> >> >> >> >> >> in <name of output folder".
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> Would that help eliminate confusion?  That's easy
> >>for
> >> >> >> >>someone
> >> >> >> >> >>to
> >> >> >> >> >> >>add
> >> >> >> >> >> >> >>to
> >> >> >> >> >> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> Thoughts?
> >> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
> >> >> >><jo...@gmail.com>
> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >I think I had some trouble trying to get -output
> >>to
> >> >> >>accept
> >> >> >> >>a
> >> >> >> >> >> >> >>directory
> >> >> >> >> >> >> >> >>for
> >> >> >> >> >> >> >> >> >a JS-only project, and that's when I figured out
> >>that
> >> >> >> >> >>-js-output
> >> >> >> >> >> >> >> >>exists.
> >> >> >> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or
> >> >>maybe
> >> >> >>it
> >> >> >> >> >>didn't
> >> >> >> >> >> >> >>quite
> >> >> >> >> >> >> >> >> >work properly yet.
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >Although, I still think it's confusing to those
> >>who
> >> >> >>don't
> >> >> >> >> >>realize
> >> >> >> >> >> >> >>that
> >> >> >> >> >> >> >> >> >"src" and "src/main/flex" get special treatment
> >>and
> >> >>then
> >> >> >> >>"bin"
> >> >> >> >> >> >>ends
> >> >> >> >> >> >> >>up
> >> >> >> >> >> >> >> >> >somewhere else if they happen to choose a
> >>different
> >> >>name
> >> >> >> >>for a
> >> >> >> >> >> >>new
> >> >> >> >> >> >> >> >> >project.
> >> >> >> >> >> >> >> >> >Between me and Santanu, that's two people who had
> >>to
> >> >> >>waste
> >> >> >> >> >>time
> >> >> >> >> >> >>on
> >> >> >> >> >> >> >> >> >figuring
> >> >> >> >> >> >> >> >> >out why "bin" ended up somewhere we didn't
> >>expect. I
> >> >> >>could
> >> >> >> >> >>live
> >> >> >> >> >> >> >> >>without it
> >> >> >> >> >> >> >> >> >being the current working directory if "bin" would
> >> >> >>simply
> >> >> >> >>go
> >> >> >> >> >>into
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> >parent directory of the directory containing the
> >>main
> >> >> >> >>class by
> >> >> >> >> >> >> >>default,
> >> >> >> >> >> >> >> >> >regardless of whether it's named "src" or not. If
> >> >> >> >> >> >>"src/main/flex" is
> >> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> And if you just use -output and not -js-output
> >>the
> >> >>bin
> >> >> >> >> >>folder
> >> >> >> >> >> >> >>will be
> >> >> >> >> >> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will
> >>be
> >> >>in
> >> >> >> >> >> >> >> somefolder\bin.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> The logic is trying to say:
> >> >> >> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use
> >>the
> >> >> >> >>parent
> >> >> >> >> >> >>folder
> >> >> >> >> >> >> >>of
> >> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> >> SWF
> >> >> >> >> >> >> >> >> >> 2) If you specify -output as a folder, we will
> >>use
> >> >> >>that
> >> >> >> >> >>folder
> >> >> >> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
> >> >> >> >>regardless of
> >> >> >> >> >> >>what
> >> >> >> >> >> >> >>you
> >> >> >> >> >> >> >> >> >>used
> >> >> >> >> >> >> >> >> >> for -output
> >> >> >> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output
> >>then
> >> >> >> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex
> >> >>folder
> >> >> >>we
> >> >> >> >> >>will
> >> >> >> >> >> >>use
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> >> parent of src
> >> >> >> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of
> >>the
> >> >> >>main
> >> >> >> >> >>source
> >> >> >> >> >> >> >>file.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> I don't agree that CWD is the right default.
> >>For
> >> >>me,
> >> >> >> >>I've
> >> >> >> >> >> >>always
> >> >> >> >> >> >> >> >>had a
> >> >> >> >> >> >> >> >> >> folder full of test cases and am not always
> >> >>changing
> >> >> >> >> >>folders.
> >> >> >> >> >> >>I
> >> >> >> >> >> >> >> >>think
> >> >> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I
> >> >>didn't
> >> >> >> >>want
> >> >> >> >> >>to
> >> >> >> >> >> >> >>change
> >> >> >> >> >> >> >> >> >>that
> >> >> >> >> >> >> >> >> >> pattern.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> 4A is just a convenience for those who follow
> >> >>certain
> >> >> >> >>common
> >> >> >> >> >> >> >> >>patterns so
> >> >> >> >> >> >> >> >> >> they don't have to do as much typing on the
> >>command
> >> >> >>line.
> >> >> >> >> >>It
> >> >> >> >> >> >> >>might
> >> >> >> >> >> >> >> >>also
> >> >> >> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I
> >> >>think
> >> >> >> >>Maven
> >> >> >> >> >> >> >>always
> >> >> >> >> >> >> >> >> >> specifies the output folder.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
> >> >> >> >><jo...@gmail.com>
> >> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> >In that case, the SWF will use the -output
> >>option:
> >> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf
> >>-js-output=.
> >> >> >> >> >> >> >>source/MyProject.as
> >> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >> >> >> >> >> >><pi...@gmail.com>
> >> >> >> >> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we
> >>have
> >> >> >> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> >> >> >> >> >> So -js-output will be also the place where
> >>SWF
> >> >>file
> >> >> >> >>will
> >> >> >> >> >> >> >>landed?
> >> >> >> >> >> >> >> >>- If
> >> >> >> >> >> >> >> >> >> >>yes
> >> >> >> >> >> >> >> >> >> >> in
> >> >> >> >> >> >> >> >> >> >> that case this param could have different
> >>name.
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> >> Thanks,
> >> >> >> >> >> >> >> >> >> >> Piotr
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> >> -----
> >> >> >> >> >> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> >> >> >> >> >> --
> >> >> >> >> >> >> >> >> >> >> View this message in context:
> >> >>http://apache-flex-
> >> >> >> >> >> >> >> >> >> >>
> >> >> >>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing
> >> >>list
> >> >> >> >> >>archive
> >> >> >> >> >> >>at
> >> >> >> >> >> >> >> >> >> >>Nabble.com.
> >> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Hmm.  We seem to be miscommunicating.  My proposal is to implement your
proposal via outputFolderMap and some default mappings in flex-config.xml.

-Alex

On 6/2/17, 9:06 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>Oh, I didn't realize that you wanted to add -outputFolderMap in addition
>to
>my proposal. That sounds good to me!
>
>- Josh
>
>On Fri, Jun 2, 2017 at 9:03 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> Agreed.  So I think with the defaults I propose we will implement what
>>you
>> propose and I can tweak it for my needs?
>>
>> -Alex
>>
>> On 6/2/17, 8:55 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >That's a perfectly valid solution for some people. I prefer to work
>>with
>> >unmodified SDKs so that I don't accidentally release any projects that
>> >break for other people because their SDKs are not modified like mine.
>> >
>> >- Josh
>> >
>> >On Fri, Jun 2, 2017 at 8:42 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> I would modify my flex-config.xml, so I don't have to modify every
>> >>project.
>> >>
>> >> -Alex
>> >>
>> >> On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >If I need to set an option, then I might as well set -output or
>> >> >-js-output.
>> >> >I simply wouldn't use -outputFolderMap.
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> OK, sorry, I did miss that.  I thought you were the one who wanted
>> >>the
>> >> >> output in the same folder, but I was mistaken.
>> >> >>
>> >> >> Keep in mind that:
>> >> >>
>> >> >> 1) The SWF compiler (MXMLC for both the regular Flex SDK and
>>FlexJS)
>> >> >> defaults to putting the output in the same folder.  So, if you
>>have:
>> >> >>
>> >> >> /projects/SomeProject/SomeProject.mxml
>> >> >>
>> >> >> By default, the SWF is:
>> >> >>
>> >> >> /projects/SomeProject/SomeProject.swf
>> >> >>
>> >> >> 2) I have another folder of projects that don't have src folders
>>at
>> >>all.
>> >> >> So before November 2016, when the default was as you propose it
>>to be
>> >> >> again, the problem was this.  If I have two projects:
>> >> >>
>> >> >> /projects/SomeProject/SomeProject.mxml
>> >> >> /projects/SomeOtherProject/SomeOtherProject/mxml
>> >> >>
>> >> >> Compiling one overwrites the bin folder of the other in
>>projects/bin.
>> >> >>
>> >> >>
>> >> >> IMO, there is "no right answer", so I now think that we should
>>add a
>> >> >> configuration option like:
>> >> >>
>> >> >> -outputFolderMap=src/main/flex,bin
>> >> >> -outputFolderMap+=.,../bin
>> >> >>
>> >> >> Then folks can configure defaults any way they want.  The "." is
>>the
>> >> >> special case for no matches with other patterns.  You have
>>proposed
>> >>the
>> >> >> default to be
>> >> >>
>> >> >>
>> >> >> -outputFolderMap+=.,../bin
>> >> >>
>> >> >>
>> >> >> It is currently:
>> >> >>
>> >> >> -outputFolderMap+=.,bin
>> >> >>
>> >> >>
>> >> >> AIUI, Maven actually specifies the equivalent of:
>> >> >>
>> >> >> -outputFolderMap=src/main/flex,target
>> >> >>
>> >> >> So folks who want to leverage that somehow could do so.
>> >> >>
>> >> >>
>> >> >> Thoughts?
>> >> >> -Alex
>> >> >>
>> >> >>
>> >> >> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >You seem to be missing the most important part of my proposal.
>>The
>> >> >> >compiler
>> >> >> >will put the "bin" directory in the parent of the main source
>> >>folder,
>> >> >> >regardless of whether it's named "src", "source", "alex-is-cool"
>>or
>> >> >>*any*
>> >> >> >name whatsoever. I put some pseudo-code to explain that in one
>>of my
>> >> >> >emails, but I guess you missed it. That's the main proposal. In
>> >> >>addition
>> >> >> >to
>> >> >> >that, "src/main/flex" would still be a special exception because
>> >>it's a
>> >> >> >more complex nested structure (otherwise, you'd get
>> >>"src/main/bin"). I
>> >> >> >hope
>> >> >> >that makes it clear!
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> Maybe I don't understand your proposal.  Currently I think you
>>can
>> >> >>say
>> >> >> >> that there are exceptions for "src" and "src/main/flex".  AIUI,
>> >>your
>> >> >> >> proposal is that only "src/main/flex" would be handled
>> >>differently.
>> >> >> >>
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com>
>> wrote:
>> >> >> >>
>> >> >> >> >Why would you need to stop and reconfigure all of those
>>projects?
>> >> >>With
>> >> >> >>the
>> >> >> >> >change that I suggested, all of your projects that use "src"
>> >>would
>> >> >> >> >continue
>> >> >> >> >to work just fine with no changes required.
>> >> >> >> >
>> >> >> >> >Yes, I'm perfectly happy making any changes after this
>>release.
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
>> >> >><ah...@adobe.com.invalid>
>> >> >> >> >wrote:
>> >> >> >> >
>> >> >> >> >> Believe me, I am not worried about perfection here.
>> >> >> >> >>
>> >> >> >> >> I am saying that if we make changes, we should allow the
>>set of
>> >> >> >>patterns
>> >> >> >> >> to be configurable so we don't have to change the compiler
>>to
>> >>add
>> >> >>new
>> >> >> >> >> patterns.  I already have a large set of projects with only
>> >>"src"
>> >> >> >>and I
>> >> >> >> >> would prefer not to have to stop and reconfigure all of
>>those
>> >> >> >>projects.
>> >> >> >> >> When I have to debug into the compiling of a Flash Builder
>> >> >>project,
>> >> >> >>it
>> >> >> >> >> will save me time to not have to remember to add the output
>> >> >>folder.
>> >> >> >> >>
>> >> >> >> >> Having a config option would allow you to have what you want
>> >>and
>> >> >>for
>> >> >> >>me
>> >> >> >> >>to
>> >> >> >> >> have what I want.  Can we agree to add a config option, but
>> >>maybe
>> >> >> >>after
>> >> >> >> >> this release?
>> >> >> >> >>
>> >> >> >> >> Thanks,
>> >> >> >> >> -Alex
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com>
>> >> wrote:
>> >> >> >> >>
>> >> >> >> >> >If there are other nested source directory structures
>> >> >>recommended as
>> >> >> >> >> >standard practice by opinionated tools, similar to how
>>Maven
>> >>use
>> >> >> >> >> >"src/main/flex", then sure, let's add them as we become
>>aware
>> >>of
>> >> >> >>them.
>> >> >> >> >> >
>> >> >> >> >> >"srcx/main/flex" would indeed not be solved by my
>>recommended
>> >> >> >>change.
>> >> >> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it"
>> >>would
>> >> >> >>all be
>> >> >> >> >> >solved, and I think a single directory with a different
>>name
>> >>than
>> >> >> >> >>"src" is
>> >> >> >> >> >vastly more common than another nested directory structure
>> >>like
>> >> >> >> >> >"srcx/main/flex". At least from my experience looking at
>>real
>> >> >>world
>> >> >> >> >> >projects over the years. Let's not let perfection stop us
>>from
>> >> >> >>making
>> >> >> >> >>an
>> >> >> >> >> >improvement that will reduce the time users spend on
>>figuring
>> >>out
>> >> >> >>why
>> >> >> >> >> >something isn't working as expected and contributors spend
>> >> >> >>explaining
>> >> >> >> >>why
>> >> >> >> >> >"src" is a special case when it doesn't need to be.
>> >> >> >> >> >
>> >> >> >> >> >- Josh
>> >> >> >> >> >
>> >> >> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
>> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >wrote:
>> >> >> >> >> >
>> >> >> >> >> >> If we allow one exception, why not more than one?
>> >> >> >> >> >>
>> >> >> >> >> >> What if we add an "outputFolderExceptions" list and
>>default
>> >>it
>> >> >>to
>> >> >> >> >>just
>> >> >> >> >> >> contain "src/main/flex".  Then I could add "src" in my
>>SDK
>> >> >> >>installs
>> >> >> >> >>to
>> >> >> >> >> >>get
>> >> >> >> >> >> what I want.  Still not sure how it solves the original
>> >>problem
>> >> >> >> >>though.
>> >> >> >> >> >> If someone has a src/main/flex pattern and changes it to
>> >> >> >> >>srcx/main/flex
>> >> >> >> >> >> seems like they will still be surprised.
>> >> >> >> >> >>
>> >> >> >> >> >> -Alex
>> >> >> >> >> >>
>> >> >> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala"
>><jo...@gmail.com>
>> >> >> wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> >If we do as I suggest, there would no longer be a list
>>of
>> >> >> >>patterns.
>> >> >> >> >>I
>> >> >> >> >> >>want
>> >> >> >> >> >> >to allow *any* folder name. That's what I mean by
>> >> >>generalizing.
>> >> >> >>Just
>> >> >> >> >> >> >automatically put the "bin" directory relative to the
>> >>parent
>> >> >> >> >>directory
>> >> >> >> >> >>of
>> >> >> >> >> >> >the main source file. (with one exception: Maven-style
>> >>project
>> >> >> >> >> >>structures
>> >> >> >> >> >> >with src/main/flex would still be a special case).
>> >> >> >> >> >> >
>> >> >> >> >> >> >Right now, if you compile like this...
>> >> >> >> >> >> >
>> >> >> >> >> >> >mxmlc src/MyProject.mxml
>> >> >> >> >> >> >
>> >> >> >> >> >> >...you get a "bin" directory in the same parent
>>directory
>> >>as
>> >> >> >>"src".
>> >> >> >> >> >> >
>> >> >> >> >> >> >I want to allow you to use ANY name instead of "src"
>>too,
>> >>like
>> >> >> >>this:
>> >> >> >> >> >> >
>> >> >> >> >> >> >mxmlc source/MyProject.mxml
>> >> >> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >> >> >> >> >> >
>> >> >> >> >> >> >... and still get a "bin" directory relative to
>>"source" or
>> >> >> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
>> >> >> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at
>> >>random,
>> >> >> >>and I
>> >> >> >> >> >>want
>> >> >> >> >> >> >it to just work.
>> >> >> >> >> >> >
>> >> >> >> >> >> >The compiler would do something similar to this
>> >>pseudo-code:
>> >> >> >> >> >> >
>> >> >> >> >> >> >File mainClass = new
>> >> >> >> >> >>
>> >> >> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
>> >> >> MyProject.mxml");
>> >> >> >> >> >> >File bin =
>> >>mainClass.getParent().getParent().resolve("bin");
>> >> >> >> >> >> >
>> >> >> >> >> >> >You'd get /path/to/MyProject/bin/
>> >> >> >> >> >> >
>> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
>> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >
>> >> >> >> >> >> >> I just want to optimize for a couple of common cases
>>in
>> >> >>order
>> >> >> >>to
>> >> >> >> >> >>save me
>> >> >> >> >> >> >> and maybe other folks some time.  If for some reason I
>> >>need
>> >> >>to
>> >> >> >> >> >>compile a
>> >> >> >> >> >> >> Flash Builder project from the command-line or Ant or
>> >>Java
>> >> >> >> >>debugger,
>> >> >> >> >> >>I
>> >> >> >> >> >> >> don't have to remember to set the -output parameter.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> I used to get FB projects in JIRA and email and then
>> >>unpack
>> >> >> >>them
>> >> >> >> >>and
>> >> >> >> >> >> >> compile them outside of FB because then I can get the
>> >> >>debugger
>> >> >> >>on
>> >> >> >> >> >>them
>> >> >> >> >> >> >> more easily.  All of our examples are set up so you
>>can
>> >> >>compile
>> >> >> >> >>them
>> >> >> >> >> >> >>from
>> >> >> >> >> >> >> the command line and not have to type the -output
>> >>parameter.
>> >> >> >>And
>> >> >> >> >>if
>> >> >> >> >> >>you
>> >> >> >> >> >> >> make a mistake typing the output folder name, it ends
>>up
>> >> >> >>creating
>> >> >> >> >>a
>> >> >> >> >> >>new
>> >> >> >> >> >> >> folder with that name.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
>> >> >>suggesting
>> >> >> >> >> >>allowing
>> >> >> >> >> >> >> folks to add more patterns to the set of folders where
>> >>the
>> >> >> >> >>compiler
>> >> >> >> >> >>will
>> >> >> >> >> >> >> chose the parent of the folder pattern?  I'm not sure
>>how
>> >> >>that
>> >> >> >> >>solves
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> problem.  Seems like you'd still be surprised if you
>>use
>> >> >> >>"source"
>> >> >> >> >>or
>> >> >> >> >> >> >> something that isn't in the default list so a warning
>> >>would
>> >> >> >>still
>> >> >> >> >> >>help,
>> >> >> >> >> >> >> but if that's what you want to do, seems like it
>>wouldn't
>> >> >>hurt.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala"
>> >><jo...@gmail.com>
>> >> >> >>wrote:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> >I'm not sure that I understand why you mentioned
>> >>changing
>> >> >> >>Flash
>> >> >> >> >> >> >>Builder's
>> >> >> >> >> >> >> >default source path. That seems mostly tangential
>>here.
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >I'm saying that the compiler shouldn't care whether
>>it's
>> >> >>named
>> >> >> >> >> >>"src",
>> >> >> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should
>> >>simply
>> >> >> >> >>default
>> >> >> >> >> >>to
>> >> >> >> >> >> >> >putting "bin" in the parent of that folder. A warning
>> >>might
>> >> >> >>be a
>> >> >> >> >> >>good
>> >> >> >> >> >> >> >temporary workaround, but generalizing this behavior
>>is
>> >> >> >> >> >>significantly
>> >> >> >> >> >> >> >better, in my opinion.
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>> >> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know
>> >>what it
>> >> >> >>would
>> >> >> >> >> >>take
>> >> >> >> >> >> >>to
>> >> >> >> >> >> >> >> get FB to default to something else.  I know I have
>> >>lots
>> >> >>of
>> >> >> >> >> >>projects
>> >> >> >> >> >> >> >>with
>> >> >> >> >> >> >> >> just a "src" folder.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> I agree it is confusing.  We could output a
>>warning or
>> >> >> >>error if
>> >> >> >> >> >>you
>> >> >> >> >> >> >> >> haven't specified -output, -js-output and don't
>>have
>> >> >>"src"
>> >> >> >>or
>> >> >> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning:
>> >>output
>> >> >> >> >>folder
>> >> >> >> >> >>not
>> >> >> >> >> >> >> >> specified and src or src/main/flex folders not
>> >>specified.
>> >> >> >> >>Output
>> >> >> >> >> >> >>will
>> >> >> >> >> >> >> >>be
>> >> >> >> >> >> >> >> in <name of output folder".
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> Would that help eliminate confusion?  That's easy
>>for
>> >> >> >>someone
>> >> >> >> >>to
>> >> >> >> >> >>add
>> >> >> >> >> >> >>to
>> >> >> >> >> >> >> >> MXMLFlexJSPublisher.java.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> Thoughts?
>> >> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
>> >> >><jo...@gmail.com>
>> >> >> >> >>wrote:
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >I think I had some trouble trying to get -output
>>to
>> >> >>accept
>> >> >> >>a
>> >> >> >> >> >> >>directory
>> >> >> >> >> >> >> >>for
>> >> >> >> >> >> >> >> >a JS-only project, and that's when I figured out
>>that
>> >> >> >> >>-js-output
>> >> >> >> >> >> >> >>exists.
>> >> >> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or
>> >>maybe
>> >> >>it
>> >> >> >> >>didn't
>> >> >> >> >> >> >>quite
>> >> >> >> >> >> >> >> >work properly yet.
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >Although, I still think it's confusing to those
>>who
>> >> >>don't
>> >> >> >> >>realize
>> >> >> >> >> >> >>that
>> >> >> >> >> >> >> >> >"src" and "src/main/flex" get special treatment
>>and
>> >>then
>> >> >> >>"bin"
>> >> >> >> >> >>ends
>> >> >> >> >> >> >>up
>> >> >> >> >> >> >> >> >somewhere else if they happen to choose a
>>different
>> >>name
>> >> >> >>for a
>> >> >> >> >> >>new
>> >> >> >> >> >> >> >> >project.
>> >> >> >> >> >> >> >> >Between me and Santanu, that's two people who had
>>to
>> >> >>waste
>> >> >> >> >>time
>> >> >> >> >> >>on
>> >> >> >> >> >> >> >> >figuring
>> >> >> >> >> >> >> >> >out why "bin" ended up somewhere we didn't
>>expect. I
>> >> >>could
>> >> >> >> >>live
>> >> >> >> >> >> >> >>without it
>> >> >> >> >> >> >> >> >being the current working directory if "bin" would
>> >> >>simply
>> >> >> >>go
>> >> >> >> >>into
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> >parent directory of the directory containing the
>>main
>> >> >> >>class by
>> >> >> >> >> >> >>default,
>> >> >> >> >> >> >> >> >regardless of whether it's named "src" or not. If
>> >> >> >> >> >>"src/main/flex" is
>> >> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> >only special case, that's better, in my opinion.
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >> >> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> And if you just use -output and not -js-output
>>the
>> >>bin
>> >> >> >> >>folder
>> >> >> >> >> >> >>will be
>> >> >> >> >> >> >> >> >> where you specified -output, and if you specify
>> >> >> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will
>>be
>> >>in
>> >> >> >> >> >> >> somefolder\bin.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> The logic is trying to say:
>> >> >> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use
>>the
>> >> >> >>parent
>> >> >> >> >> >>folder
>> >> >> >> >> >> >>of
>> >> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> >> SWF
>> >> >> >> >> >> >> >> >> 2) If you specify -output as a folder, we will
>>use
>> >> >>that
>> >> >> >> >>folder
>> >> >> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
>> >> >> >>regardless of
>> >> >> >> >> >>what
>> >> >> >> >> >> >>you
>> >> >> >> >> >> >> >> >>used
>> >> >> >> >> >> >> >> >> for -output
>> >> >> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output
>>then
>> >> >> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex
>> >>folder
>> >> >>we
>> >> >> >> >>will
>> >> >> >> >> >>use
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> >> parent of src
>> >> >> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of
>>the
>> >> >>main
>> >> >> >> >>source
>> >> >> >> >> >> >>file.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> I don't agree that CWD is the right default.
>>For
>> >>me,
>> >> >> >>I've
>> >> >> >> >> >>always
>> >> >> >> >> >> >> >>had a
>> >> >> >> >> >> >> >> >> folder full of test cases and am not always
>> >>changing
>> >> >> >> >>folders.
>> >> >> >> >> >>I
>> >> >> >> >> >> >> >>think
>> >> >> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I
>> >>didn't
>> >> >> >>want
>> >> >> >> >>to
>> >> >> >> >> >> >>change
>> >> >> >> >> >> >> >> >>that
>> >> >> >> >> >> >> >> >> pattern.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> 4A is just a convenience for those who follow
>> >>certain
>> >> >> >>common
>> >> >> >> >> >> >> >>patterns so
>> >> >> >> >> >> >> >> >> they don't have to do as much typing on the
>>command
>> >> >>line.
>> >> >> >> >>It
>> >> >> >> >> >> >>might
>> >> >> >> >> >> >> >>also
>> >> >> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I
>> >>think
>> >> >> >>Maven
>> >> >> >> >> >> >>always
>> >> >> >> >> >> >> >> >> specifies the output folder.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
>> >> >> >><jo...@gmail.com>
>> >> >> >> >> >>wrote:
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >In that case, the SWF will use the -output
>>option:
>> >> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf
>>-js-output=.
>> >> >> >> >> >> >>source/MyProject.as
>> >> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >> >> >> >> >> >><pi...@gmail.com>
>> >> >> >> >> >> >> >> >>wrote:
>> >> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we
>>have
>> >> >> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> >> >> >> >> >> So -js-output will be also the place where
>>SWF
>> >>file
>> >> >> >>will
>> >> >> >> >> >> >>landed?
>> >> >> >> >> >> >> >>- If
>> >> >> >> >> >> >> >> >> >>yes
>> >> >> >> >> >> >> >> >> >> in
>> >> >> >> >> >> >> >> >> >> that case this param could have different
>>name.
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >> Thanks,
>> >> >> >> >> >> >> >> >> >> Piotr
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >> -----
>> >> >> >> >> >> >> >> >> >> Apache Flex PMC
>> >> >> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> >> >> >> >> >> --
>> >> >> >> >> >> >> >> >> >> View this message in context:
>> >>http://apache-flex-
>> >> >> >> >> >> >> >> >> >>
>> >> >>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing
>> >>list
>> >> >> >> >>archive
>> >> >> >> >> >>at
>> >> >> >> >> >> >> >> >> >>Nabble.com.
>> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
Oh, I didn't realize that you wanted to add -outputFolderMap in addition to
my proposal. That sounds good to me!

- Josh

On Fri, Jun 2, 2017 at 9:03 AM, Alex Harui <ah...@adobe.com.invalid> wrote:

> Agreed.  So I think with the defaults I propose we will implement what you
> propose and I can tweak it for my needs?
>
> -Alex
>
> On 6/2/17, 8:55 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >That's a perfectly valid solution for some people. I prefer to work with
> >unmodified SDKs so that I don't accidentally release any projects that
> >break for other people because their SDKs are not modified like mine.
> >
> >- Josh
> >
> >On Fri, Jun 2, 2017 at 8:42 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> I would modify my flex-config.xml, so I don't have to modify every
> >>project.
> >>
> >> -Alex
> >>
> >> On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >If I need to set an option, then I might as well set -output or
> >> >-js-output.
> >> >I simply wouldn't use -outputFolderMap.
> >> >
> >> >- Josh
> >> >
> >> >On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> OK, sorry, I did miss that.  I thought you were the one who wanted
> >>the
> >> >> output in the same folder, but I was mistaken.
> >> >>
> >> >> Keep in mind that:
> >> >>
> >> >> 1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
> >> >> defaults to putting the output in the same folder.  So, if you have:
> >> >>
> >> >> /projects/SomeProject/SomeProject.mxml
> >> >>
> >> >> By default, the SWF is:
> >> >>
> >> >> /projects/SomeProject/SomeProject.swf
> >> >>
> >> >> 2) I have another folder of projects that don't have src folders at
> >>all.
> >> >> So before November 2016, when the default was as you propose it to be
> >> >> again, the problem was this.  If I have two projects:
> >> >>
> >> >> /projects/SomeProject/SomeProject.mxml
> >> >> /projects/SomeOtherProject/SomeOtherProject/mxml
> >> >>
> >> >> Compiling one overwrites the bin folder of the other in projects/bin.
> >> >>
> >> >>
> >> >> IMO, there is "no right answer", so I now think that we should add a
> >> >> configuration option like:
> >> >>
> >> >> -outputFolderMap=src/main/flex,bin
> >> >> -outputFolderMap+=.,../bin
> >> >>
> >> >> Then folks can configure defaults any way they want.  The "." is the
> >> >> special case for no matches with other patterns.  You have proposed
> >>the
> >> >> default to be
> >> >>
> >> >>
> >> >> -outputFolderMap+=.,../bin
> >> >>
> >> >>
> >> >> It is currently:
> >> >>
> >> >> -outputFolderMap+=.,bin
> >> >>
> >> >>
> >> >> AIUI, Maven actually specifies the equivalent of:
> >> >>
> >> >> -outputFolderMap=src/main/flex,target
> >> >>
> >> >> So folks who want to leverage that somehow could do so.
> >> >>
> >> >>
> >> >> Thoughts?
> >> >> -Alex
> >> >>
> >> >>
> >> >> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >You seem to be missing the most important part of my proposal. The
> >> >> >compiler
> >> >> >will put the "bin" directory in the parent of the main source
> >>folder,
> >> >> >regardless of whether it's named "src", "source", "alex-is-cool" or
> >> >>*any*
> >> >> >name whatsoever. I put some pseudo-code to explain that in one of my
> >> >> >emails, but I guess you missed it. That's the main proposal. In
> >> >>addition
> >> >> >to
> >> >> >that, "src/main/flex" would still be a special exception because
> >>it's a
> >> >> >more complex nested structure (otherwise, you'd get
> >>"src/main/bin"). I
> >> >> >hope
> >> >> >that makes it clear!
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> Maybe I don't understand your proposal.  Currently I think you can
> >> >>say
> >> >> >> that there are exceptions for "src" and "src/main/flex".  AIUI,
> >>your
> >> >> >> proposal is that only "src/main/flex" would be handled
> >>differently.
> >> >> >>
> >> >> >> -Alex
> >> >> >>
> >> >> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com>
> wrote:
> >> >> >>
> >> >> >> >Why would you need to stop and reconfigure all of those projects?
> >> >>With
> >> >> >>the
> >> >> >> >change that I suggested, all of your projects that use "src"
> >>would
> >> >> >> >continue
> >> >> >> >to work just fine with no changes required.
> >> >> >> >
> >> >> >> >Yes, I'm perfectly happy making any changes after this release.
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> Believe me, I am not worried about perfection here.
> >> >> >> >>
> >> >> >> >> I am saying that if we make changes, we should allow the set of
> >> >> >>patterns
> >> >> >> >> to be configurable so we don't have to change the compiler to
> >>add
> >> >>new
> >> >> >> >> patterns.  I already have a large set of projects with only
> >>"src"
> >> >> >>and I
> >> >> >> >> would prefer not to have to stop and reconfigure all of those
> >> >> >>projects.
> >> >> >> >> When I have to debug into the compiling of a Flash Builder
> >> >>project,
> >> >> >>it
> >> >> >> >> will save me time to not have to remember to add the output
> >> >>folder.
> >> >> >> >>
> >> >> >> >> Having a config option would allow you to have what you want
> >>and
> >> >>for
> >> >> >>me
> >> >> >> >>to
> >> >> >> >> have what I want.  Can we agree to add a config option, but
> >>maybe
> >> >> >>after
> >> >> >> >> this release?
> >> >> >> >>
> >> >> >> >> Thanks,
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com>
> >> wrote:
> >> >> >> >>
> >> >> >> >> >If there are other nested source directory structures
> >> >>recommended as
> >> >> >> >> >standard practice by opinionated tools, similar to how Maven
> >>use
> >> >> >> >> >"src/main/flex", then sure, let's add them as we become aware
> >>of
> >> >> >>them.
> >> >> >> >> >
> >> >> >> >> >"srcx/main/flex" would indeed not be solved by my recommended
> >> >> >>change.
> >> >> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it"
> >>would
> >> >> >>all be
> >> >> >> >> >solved, and I think a single directory with a different name
> >>than
> >> >> >> >>"src" is
> >> >> >> >> >vastly more common than another nested directory structure
> >>like
> >> >> >> >> >"srcx/main/flex". At least from my experience looking at real
> >> >>world
> >> >> >> >> >projects over the years. Let's not let perfection stop us from
> >> >> >>making
> >> >> >> >>an
> >> >> >> >> >improvement that will reduce the time users spend on figuring
> >>out
> >> >> >>why
> >> >> >> >> >something isn't working as expected and contributors spend
> >> >> >>explaining
> >> >> >> >>why
> >> >> >> >> >"src" is a special case when it doesn't need to be.
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >wrote:
> >> >> >> >> >
> >> >> >> >> >> If we allow one exception, why not more than one?
> >> >> >> >> >>
> >> >> >> >> >> What if we add an "outputFolderExceptions" list and default
> >>it
> >> >>to
> >> >> >> >>just
> >> >> >> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
> >> >> >>installs
> >> >> >> >>to
> >> >> >> >> >>get
> >> >> >> >> >> what I want.  Still not sure how it solves the original
> >>problem
> >> >> >> >>though.
> >> >> >> >> >> If someone has a src/main/flex pattern and changes it to
> >> >> >> >>srcx/main/flex
> >> >> >> >> >> seems like they will still be surprised.
> >> >> >> >> >>
> >> >> >> >> >> -Alex
> >> >> >> >> >>
> >> >> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com>
> >> >> wrote:
> >> >> >> >> >>
> >> >> >> >> >> >If we do as I suggest, there would no longer be a list of
> >> >> >>patterns.
> >> >> >> >>I
> >> >> >> >> >>want
> >> >> >> >> >> >to allow *any* folder name. That's what I mean by
> >> >>generalizing.
> >> >> >>Just
> >> >> >> >> >> >automatically put the "bin" directory relative to the
> >>parent
> >> >> >> >>directory
> >> >> >> >> >>of
> >> >> >> >> >> >the main source file. (with one exception: Maven-style
> >>project
> >> >> >> >> >>structures
> >> >> >> >> >> >with src/main/flex would still be a special case).
> >> >> >> >> >> >
> >> >> >> >> >> >Right now, if you compile like this...
> >> >> >> >> >> >
> >> >> >> >> >> >mxmlc src/MyProject.mxml
> >> >> >> >> >> >
> >> >> >> >> >> >...you get a "bin" directory in the same parent directory
> >>as
> >> >> >>"src".
> >> >> >> >> >> >
> >> >> >> >> >> >I want to allow you to use ANY name instead of "src" too,
> >>like
> >> >> >>this:
> >> >> >> >> >> >
> >> >> >> >> >> >mxmlc source/MyProject.mxml
> >> >> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >> >> >> >> >
> >> >> >> >> >> >... and still get a "bin" directory relative to "source" or
> >> >> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at
> >>random,
> >> >> >>and I
> >> >> >> >> >>want
> >> >> >> >> >> >it to just work.
> >> >> >> >> >> >
> >> >> >> >> >> >The compiler would do something similar to this
> >>pseudo-code:
> >> >> >> >> >> >
> >> >> >> >> >> >File mainClass = new
> >> >> >> >> >>
> >> >> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
> >> >> MyProject.mxml");
> >> >> >> >> >> >File bin =
> >>mainClass.getParent().getParent().resolve("bin");
> >> >> >> >> >> >
> >> >> >> >> >> >You'd get /path/to/MyProject/bin/
> >> >> >> >> >> >
> >> >> >> >> >> >- Josh
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >wrote:
> >> >> >> >> >> >
> >> >> >> >> >> >> I just want to optimize for a couple of common cases in
> >> >>order
> >> >> >>to
> >> >> >> >> >>save me
> >> >> >> >> >> >> and maybe other folks some time.  If for some reason I
> >>need
> >> >>to
> >> >> >> >> >>compile a
> >> >> >> >> >> >> Flash Builder project from the command-line or Ant or
> >>Java
> >> >> >> >>debugger,
> >> >> >> >> >>I
> >> >> >> >> >> >> don't have to remember to set the -output parameter.
> >> >> >> >> >> >>
> >> >> >> >> >> >> I used to get FB projects in JIRA and email and then
> >>unpack
> >> >> >>them
> >> >> >> >>and
> >> >> >> >> >> >> compile them outside of FB because then I can get the
> >> >>debugger
> >> >> >>on
> >> >> >> >> >>them
> >> >> >> >> >> >> more easily.  All of our examples are set up so you can
> >> >>compile
> >> >> >> >>them
> >> >> >> >> >> >>from
> >> >> >> >> >> >> the command line and not have to type the -output
> >>parameter.
> >> >> >>And
> >> >> >> >>if
> >> >> >> >> >>you
> >> >> >> >> >> >> make a mistake typing the output folder name, it ends up
> >> >> >>creating
> >> >> >> >>a
> >> >> >> >> >>new
> >> >> >> >> >> >> folder with that name.
> >> >> >> >> >> >>
> >> >> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
> >> >>suggesting
> >> >> >> >> >>allowing
> >> >> >> >> >> >> folks to add more patterns to the set of folders where
> >>the
> >> >> >> >>compiler
> >> >> >> >> >>will
> >> >> >> >> >> >> chose the parent of the folder pattern?  I'm not sure how
> >> >>that
> >> >> >> >>solves
> >> >> >> >> >> >>the
> >> >> >> >> >> >> problem.  Seems like you'd still be surprised if you use
> >> >> >>"source"
> >> >> >> >>or
> >> >> >> >> >> >> something that isn't in the default list so a warning
> >>would
> >> >> >>still
> >> >> >> >> >>help,
> >> >> >> >> >> >> but if that's what you want to do, seems like it wouldn't
> >> >>hurt.
> >> >> >> >> >> >>
> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala"
> >><jo...@gmail.com>
> >> >> >>wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >> >I'm not sure that I understand why you mentioned
> >>changing
> >> >> >>Flash
> >> >> >> >> >> >>Builder's
> >> >> >> >> >> >> >default source path. That seems mostly tangential here.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >I'm saying that the compiler shouldn't care whether it's
> >> >>named
> >> >> >> >> >>"src",
> >> >> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should
> >>simply
> >> >> >> >>default
> >> >> >> >> >>to
> >> >> >> >> >> >> >putting "bin" in the parent of that folder. A warning
> >>might
> >> >> >>be a
> >> >> >> >> >>good
> >> >> >> >> >> >> >temporary workaround, but generalizing this behavior is
> >> >> >> >> >>significantly
> >> >> >> >> >> >> >better, in my opinion.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know
> >>what it
> >> >> >>would
> >> >> >> >> >>take
> >> >> >> >> >> >>to
> >> >> >> >> >> >> >> get FB to default to something else.  I know I have
> >>lots
> >> >>of
> >> >> >> >> >>projects
> >> >> >> >> >> >> >>with
> >> >> >> >> >> >> >> just a "src" folder.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> I agree it is confusing.  We could output a warning or
> >> >> >>error if
> >> >> >> >> >>you
> >> >> >> >> >> >> >> haven't specified -output, -js-output and don't have
> >> >>"src"
> >> >> >>or
> >> >> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning:
> >>output
> >> >> >> >>folder
> >> >> >> >> >>not
> >> >> >> >> >> >> >> specified and src or src/main/flex folders not
> >>specified.
> >> >> >> >>Output
> >> >> >> >> >> >>will
> >> >> >> >> >> >> >>be
> >> >> >> >> >> >> >> in <name of output folder".
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> Would that help eliminate confusion?  That's easy for
> >> >> >>someone
> >> >> >> >>to
> >> >> >> >> >>add
> >> >> >> >> >> >>to
> >> >> >> >> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> Thoughts?
> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
> >> >><jo...@gmail.com>
> >> >> >> >>wrote:
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >I think I had some trouble trying to get -output to
> >> >>accept
> >> >> >>a
> >> >> >> >> >> >>directory
> >> >> >> >> >> >> >>for
> >> >> >> >> >> >> >> >a JS-only project, and that's when I figured out that
> >> >> >> >>-js-output
> >> >> >> >> >> >> >>exists.
> >> >> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or
> >>maybe
> >> >>it
> >> >> >> >>didn't
> >> >> >> >> >> >>quite
> >> >> >> >> >> >> >> >work properly yet.
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >Although, I still think it's confusing to those who
> >> >>don't
> >> >> >> >>realize
> >> >> >> >> >> >>that
> >> >> >> >> >> >> >> >"src" and "src/main/flex" get special treatment and
> >>then
> >> >> >>"bin"
> >> >> >> >> >>ends
> >> >> >> >> >> >>up
> >> >> >> >> >> >> >> >somewhere else if they happen to choose a different
> >>name
> >> >> >>for a
> >> >> >> >> >>new
> >> >> >> >> >> >> >> >project.
> >> >> >> >> >> >> >> >Between me and Santanu, that's two people who had to
> >> >>waste
> >> >> >> >>time
> >> >> >> >> >>on
> >> >> >> >> >> >> >> >figuring
> >> >> >> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I
> >> >>could
> >> >> >> >>live
> >> >> >> >> >> >> >>without it
> >> >> >> >> >> >> >> >being the current working directory if "bin" would
> >> >>simply
> >> >> >>go
> >> >> >> >>into
> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >parent directory of the directory containing the main
> >> >> >>class by
> >> >> >> >> >> >>default,
> >> >> >> >> >> >> >> >regardless of whether it's named "src" or not. If
> >> >> >> >> >>"src/main/flex" is
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> And if you just use -output and not -js-output the
> >>bin
> >> >> >> >>folder
> >> >> >> >> >> >>will be
> >> >> >> >> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will be
> >>in
> >> >> >> >> >> >> somefolder\bin.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> The logic is trying to say:
> >> >> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
> >> >> >>parent
> >> >> >> >> >>folder
> >> >> >> >> >> >>of
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> SWF
> >> >> >> >> >> >> >> >> 2) If you specify -output as a folder, we will use
> >> >>that
> >> >> >> >>folder
> >> >> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
> >> >> >>regardless of
> >> >> >> >> >>what
> >> >> >> >> >> >>you
> >> >> >> >> >> >> >> >>used
> >> >> >> >> >> >> >> >> for -output
> >> >> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex
> >>folder
> >> >>we
> >> >> >> >>will
> >> >> >> >> >>use
> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> parent of src
> >> >> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of the
> >> >>main
> >> >> >> >>source
> >> >> >> >> >> >>file.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> I don't agree that CWD is the right default.  For
> >>me,
> >> >> >>I've
> >> >> >> >> >>always
> >> >> >> >> >> >> >>had a
> >> >> >> >> >> >> >> >> folder full of test cases and am not always
> >>changing
> >> >> >> >>folders.
> >> >> >> >> >>I
> >> >> >> >> >> >> >>think
> >> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I
> >>didn't
> >> >> >>want
> >> >> >> >>to
> >> >> >> >> >> >>change
> >> >> >> >> >> >> >> >>that
> >> >> >> >> >> >> >> >> pattern.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> 4A is just a convenience for those who follow
> >>certain
> >> >> >>common
> >> >> >> >> >> >> >>patterns so
> >> >> >> >> >> >> >> >> they don't have to do as much typing on the command
> >> >>line.
> >> >> >> >>It
> >> >> >> >> >> >>might
> >> >> >> >> >> >> >>also
> >> >> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I
> >>think
> >> >> >>Maven
> >> >> >> >> >> >>always
> >> >> >> >> >> >> >> >> specifies the output folder.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
> >> >> >><jo...@gmail.com>
> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >> >> >> >> >> >>source/MyProject.as
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >> >> >> >> >><pi...@gmail.com>
> >> >> >> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> >> >> >> >> So -js-output will be also the place where SWF
> >>file
> >> >> >>will
> >> >> >> >> >> >>landed?
> >> >> >> >> >> >> >>- If
> >> >> >> >> >> >> >> >> >>yes
> >> >> >> >> >> >> >> >> >> in
> >> >> >> >> >> >> >> >> >> that case this param could have different name.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> Thanks,
> >> >> >> >> >> >> >> >> >> Piotr
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> >> -----
> >> >> >> >> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> >> >> >> >> --
> >> >> >> >> >> >> >> >> >> View this message in context:
> >>http://apache-flex-
> >> >> >> >> >> >> >> >> >>
> >> >>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> >> >> >> >>
> >> >> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing
> >>list
> >> >> >> >>archive
> >> >> >> >> >>at
> >> >> >> >> >> >> >> >> >>Nabble.com.
> >> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Agreed.  So I think with the defaults I propose we will implement what you
propose and I can tweak it for my needs?

-Alex

On 6/2/17, 8:55 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>That's a perfectly valid solution for some people. I prefer to work with
>unmodified SDKs so that I don't accidentally release any projects that
>break for other people because their SDKs are not modified like mine.
>
>- Josh
>
>On Fri, Jun 2, 2017 at 8:42 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> I would modify my flex-config.xml, so I don't have to modify every
>>project.
>>
>> -Alex
>>
>> On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >If I need to set an option, then I might as well set -output or
>> >-js-output.
>> >I simply wouldn't use -outputFolderMap.
>> >
>> >- Josh
>> >
>> >On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> OK, sorry, I did miss that.  I thought you were the one who wanted
>>the
>> >> output in the same folder, but I was mistaken.
>> >>
>> >> Keep in mind that:
>> >>
>> >> 1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
>> >> defaults to putting the output in the same folder.  So, if you have:
>> >>
>> >> /projects/SomeProject/SomeProject.mxml
>> >>
>> >> By default, the SWF is:
>> >>
>> >> /projects/SomeProject/SomeProject.swf
>> >>
>> >> 2) I have another folder of projects that don't have src folders at
>>all.
>> >> So before November 2016, when the default was as you propose it to be
>> >> again, the problem was this.  If I have two projects:
>> >>
>> >> /projects/SomeProject/SomeProject.mxml
>> >> /projects/SomeOtherProject/SomeOtherProject/mxml
>> >>
>> >> Compiling one overwrites the bin folder of the other in projects/bin.
>> >>
>> >>
>> >> IMO, there is "no right answer", so I now think that we should add a
>> >> configuration option like:
>> >>
>> >> -outputFolderMap=src/main/flex,bin
>> >> -outputFolderMap+=.,../bin
>> >>
>> >> Then folks can configure defaults any way they want.  The "." is the
>> >> special case for no matches with other patterns.  You have proposed
>>the
>> >> default to be
>> >>
>> >>
>> >> -outputFolderMap+=.,../bin
>> >>
>> >>
>> >> It is currently:
>> >>
>> >> -outputFolderMap+=.,bin
>> >>
>> >>
>> >> AIUI, Maven actually specifies the equivalent of:
>> >>
>> >> -outputFolderMap=src/main/flex,target
>> >>
>> >> So folks who want to leverage that somehow could do so.
>> >>
>> >>
>> >> Thoughts?
>> >> -Alex
>> >>
>> >>
>> >> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >You seem to be missing the most important part of my proposal. The
>> >> >compiler
>> >> >will put the "bin" directory in the parent of the main source
>>folder,
>> >> >regardless of whether it's named "src", "source", "alex-is-cool" or
>> >>*any*
>> >> >name whatsoever. I put some pseudo-code to explain that in one of my
>> >> >emails, but I guess you missed it. That's the main proposal. In
>> >>addition
>> >> >to
>> >> >that, "src/main/flex" would still be a special exception because
>>it's a
>> >> >more complex nested structure (otherwise, you'd get
>>"src/main/bin"). I
>> >> >hope
>> >> >that makes it clear!
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> Maybe I don't understand your proposal.  Currently I think you can
>> >>say
>> >> >> that there are exceptions for "src" and "src/main/flex".  AIUI,
>>your
>> >> >> proposal is that only "src/main/flex" would be handled
>>differently.
>> >> >>
>> >> >> -Alex
>> >> >>
>> >> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >Why would you need to stop and reconfigure all of those projects?
>> >>With
>> >> >>the
>> >> >> >change that I suggested, all of your projects that use "src"
>>would
>> >> >> >continue
>> >> >> >to work just fine with no changes required.
>> >> >> >
>> >> >> >Yes, I'm perfectly happy making any changes after this release.
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> Believe me, I am not worried about perfection here.
>> >> >> >>
>> >> >> >> I am saying that if we make changes, we should allow the set of
>> >> >>patterns
>> >> >> >> to be configurable so we don't have to change the compiler to
>>add
>> >>new
>> >> >> >> patterns.  I already have a large set of projects with only
>>"src"
>> >> >>and I
>> >> >> >> would prefer not to have to stop and reconfigure all of those
>> >> >>projects.
>> >> >> >> When I have to debug into the compiling of a Flash Builder
>> >>project,
>> >> >>it
>> >> >> >> will save me time to not have to remember to add the output
>> >>folder.
>> >> >> >>
>> >> >> >> Having a config option would allow you to have what you want
>>and
>> >>for
>> >> >>me
>> >> >> >>to
>> >> >> >> have what I want.  Can we agree to add a config option, but
>>maybe
>> >> >>after
>> >> >> >> this release?
>> >> >> >>
>> >> >> >> Thanks,
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >>
>> >> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com>
>> wrote:
>> >> >> >>
>> >> >> >> >If there are other nested source directory structures
>> >>recommended as
>> >> >> >> >standard practice by opinionated tools, similar to how Maven
>>use
>> >> >> >> >"src/main/flex", then sure, let's add them as we become aware
>>of
>> >> >>them.
>> >> >> >> >
>> >> >> >> >"srcx/main/flex" would indeed not be solved by my recommended
>> >> >>change.
>> >> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it"
>>would
>> >> >>all be
>> >> >> >> >solved, and I think a single directory with a different name
>>than
>> >> >> >>"src" is
>> >> >> >> >vastly more common than another nested directory structure
>>like
>> >> >> >> >"srcx/main/flex". At least from my experience looking at real
>> >>world
>> >> >> >> >projects over the years. Let's not let perfection stop us from
>> >> >>making
>> >> >> >>an
>> >> >> >> >improvement that will reduce the time users spend on figuring
>>out
>> >> >>why
>> >> >> >> >something isn't working as expected and contributors spend
>> >> >>explaining
>> >> >> >>why
>> >> >> >> >"src" is a special case when it doesn't need to be.
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
>> >> >><ah...@adobe.com.invalid>
>> >> >> >> >wrote:
>> >> >> >> >
>> >> >> >> >> If we allow one exception, why not more than one?
>> >> >> >> >>
>> >> >> >> >> What if we add an "outputFolderExceptions" list and default
>>it
>> >>to
>> >> >> >>just
>> >> >> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
>> >> >>installs
>> >> >> >>to
>> >> >> >> >>get
>> >> >> >> >> what I want.  Still not sure how it solves the original
>>problem
>> >> >> >>though.
>> >> >> >> >> If someone has a src/main/flex pattern and changes it to
>> >> >> >>srcx/main/flex
>> >> >> >> >> seems like they will still be surprised.
>> >> >> >> >>
>> >> >> >> >> -Alex
>> >> >> >> >>
>> >> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com>
>> >> wrote:
>> >> >> >> >>
>> >> >> >> >> >If we do as I suggest, there would no longer be a list of
>> >> >>patterns.
>> >> >> >>I
>> >> >> >> >>want
>> >> >> >> >> >to allow *any* folder name. That's what I mean by
>> >>generalizing.
>> >> >>Just
>> >> >> >> >> >automatically put the "bin" directory relative to the
>>parent
>> >> >> >>directory
>> >> >> >> >>of
>> >> >> >> >> >the main source file. (with one exception: Maven-style
>>project
>> >> >> >> >>structures
>> >> >> >> >> >with src/main/flex would still be a special case).
>> >> >> >> >> >
>> >> >> >> >> >Right now, if you compile like this...
>> >> >> >> >> >
>> >> >> >> >> >mxmlc src/MyProject.mxml
>> >> >> >> >> >
>> >> >> >> >> >...you get a "bin" directory in the same parent directory
>>as
>> >> >>"src".
>> >> >> >> >> >
>> >> >> >> >> >I want to allow you to use ANY name instead of "src" too,
>>like
>> >> >>this:
>> >> >> >> >> >
>> >> >> >> >> >mxmlc source/MyProject.mxml
>> >> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >> >> >> >> >
>> >> >> >> >> >... and still get a "bin" directory relative to "source" or
>> >> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
>> >> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at
>>random,
>> >> >>and I
>> >> >> >> >>want
>> >> >> >> >> >it to just work.
>> >> >> >> >> >
>> >> >> >> >> >The compiler would do something similar to this
>>pseudo-code:
>> >> >> >> >> >
>> >> >> >> >> >File mainClass = new
>> >> >> >> >>
>> >> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
>> >> MyProject.mxml");
>> >> >> >> >> >File bin =
>>mainClass.getParent().getParent().resolve("bin");
>> >> >> >> >> >
>> >> >> >> >> >You'd get /path/to/MyProject/bin/
>> >> >> >> >> >
>> >> >> >> >> >- Josh
>> >> >> >> >> >
>> >> >> >> >> >
>> >> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
>> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >wrote:
>> >> >> >> >> >
>> >> >> >> >> >> I just want to optimize for a couple of common cases in
>> >>order
>> >> >>to
>> >> >> >> >>save me
>> >> >> >> >> >> and maybe other folks some time.  If for some reason I
>>need
>> >>to
>> >> >> >> >>compile a
>> >> >> >> >> >> Flash Builder project from the command-line or Ant or
>>Java
>> >> >> >>debugger,
>> >> >> >> >>I
>> >> >> >> >> >> don't have to remember to set the -output parameter.
>> >> >> >> >> >>
>> >> >> >> >> >> I used to get FB projects in JIRA and email and then
>>unpack
>> >> >>them
>> >> >> >>and
>> >> >> >> >> >> compile them outside of FB because then I can get the
>> >>debugger
>> >> >>on
>> >> >> >> >>them
>> >> >> >> >> >> more easily.  All of our examples are set up so you can
>> >>compile
>> >> >> >>them
>> >> >> >> >> >>from
>> >> >> >> >> >> the command line and not have to type the -output
>>parameter.
>> >> >>And
>> >> >> >>if
>> >> >> >> >>you
>> >> >> >> >> >> make a mistake typing the output folder name, it ends up
>> >> >>creating
>> >> >> >>a
>> >> >> >> >>new
>> >> >> >> >> >> folder with that name.
>> >> >> >> >> >>
>> >> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
>> >>suggesting
>> >> >> >> >>allowing
>> >> >> >> >> >> folks to add more patterns to the set of folders where
>>the
>> >> >> >>compiler
>> >> >> >> >>will
>> >> >> >> >> >> chose the parent of the folder pattern?  I'm not sure how
>> >>that
>> >> >> >>solves
>> >> >> >> >> >>the
>> >> >> >> >> >> problem.  Seems like you'd still be surprised if you use
>> >> >>"source"
>> >> >> >>or
>> >> >> >> >> >> something that isn't in the default list so a warning
>>would
>> >> >>still
>> >> >> >> >>help,
>> >> >> >> >> >> but if that's what you want to do, seems like it wouldn't
>> >>hurt.
>> >> >> >> >> >>
>> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> -Alex
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala"
>><jo...@gmail.com>
>> >> >>wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> >I'm not sure that I understand why you mentioned
>>changing
>> >> >>Flash
>> >> >> >> >> >>Builder's
>> >> >> >> >> >> >default source path. That seems mostly tangential here.
>> >> >> >> >> >> >
>> >> >> >> >> >> >I'm saying that the compiler shouldn't care whether it's
>> >>named
>> >> >> >> >>"src",
>> >> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should
>>simply
>> >> >> >>default
>> >> >> >> >>to
>> >> >> >> >> >> >putting "bin" in the parent of that folder. A warning
>>might
>> >> >>be a
>> >> >> >> >>good
>> >> >> >> >> >> >temporary workaround, but generalizing this behavior is
>> >> >> >> >>significantly
>> >> >> >> >> >> >better, in my opinion.
>> >> >> >> >> >> >
>> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >
>> >> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >
>> >> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know
>>what it
>> >> >>would
>> >> >> >> >>take
>> >> >> >> >> >>to
>> >> >> >> >> >> >> get FB to default to something else.  I know I have
>>lots
>> >>of
>> >> >> >> >>projects
>> >> >> >> >> >> >>with
>> >> >> >> >> >> >> just a "src" folder.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> I agree it is confusing.  We could output a warning or
>> >> >>error if
>> >> >> >> >>you
>> >> >> >> >> >> >> haven't specified -output, -js-output and don't have
>> >>"src"
>> >> >>or
>> >> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning:
>>output
>> >> >> >>folder
>> >> >> >> >>not
>> >> >> >> >> >> >> specified and src or src/main/flex folders not
>>specified.
>> >> >> >>Output
>> >> >> >> >> >>will
>> >> >> >> >> >> >>be
>> >> >> >> >> >> >> in <name of output folder".
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Would that help eliminate confusion?  That's easy for
>> >> >>someone
>> >> >> >>to
>> >> >> >> >>add
>> >> >> >> >> >>to
>> >> >> >> >> >> >> MXMLFlexJSPublisher.java.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Thoughts?
>> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
>> >><jo...@gmail.com>
>> >> >> >>wrote:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> >I think I had some trouble trying to get -output to
>> >>accept
>> >> >>a
>> >> >> >> >> >>directory
>> >> >> >> >> >> >>for
>> >> >> >> >> >> >> >a JS-only project, and that's when I figured out that
>> >> >> >>-js-output
>> >> >> >> >> >> >>exists.
>> >> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or
>>maybe
>> >>it
>> >> >> >>didn't
>> >> >> >> >> >>quite
>> >> >> >> >> >> >> >work properly yet.
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >Although, I still think it's confusing to those who
>> >>don't
>> >> >> >>realize
>> >> >> >> >> >>that
>> >> >> >> >> >> >> >"src" and "src/main/flex" get special treatment and
>>then
>> >> >>"bin"
>> >> >> >> >>ends
>> >> >> >> >> >>up
>> >> >> >> >> >> >> >somewhere else if they happen to choose a different
>>name
>> >> >>for a
>> >> >> >> >>new
>> >> >> >> >> >> >> >project.
>> >> >> >> >> >> >> >Between me and Santanu, that's two people who had to
>> >>waste
>> >> >> >>time
>> >> >> >> >>on
>> >> >> >> >> >> >> >figuring
>> >> >> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I
>> >>could
>> >> >> >>live
>> >> >> >> >> >> >>without it
>> >> >> >> >> >> >> >being the current working directory if "bin" would
>> >>simply
>> >> >>go
>> >> >> >>into
>> >> >> >> >> >>the
>> >> >> >> >> >> >> >parent directory of the directory containing the main
>> >> >>class by
>> >> >> >> >> >>default,
>> >> >> >> >> >> >> >regardless of whether it's named "src" or not. If
>> >> >> >> >>"src/main/flex" is
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >only special case, that's better, in my opinion.
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> And if you just use -output and not -js-output the
>>bin
>> >> >> >>folder
>> >> >> >> >> >>will be
>> >> >> >> >> >> >> >> where you specified -output, and if you specify
>> >> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will be
>>in
>> >> >> >> >> >> somefolder\bin.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> The logic is trying to say:
>> >> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
>> >> >>parent
>> >> >> >> >>folder
>> >> >> >> >> >>of
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> SWF
>> >> >> >> >> >> >> >> 2) If you specify -output as a folder, we will use
>> >>that
>> >> >> >>folder
>> >> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
>> >> >>regardless of
>> >> >> >> >>what
>> >> >> >> >> >>you
>> >> >> >> >> >> >> >>used
>> >> >> >> >> >> >> >> for -output
>> >> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
>> >> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex
>>folder
>> >>we
>> >> >> >>will
>> >> >> >> >>use
>> >> >> >> >> >>the
>> >> >> >> >> >> >> >> parent of src
>> >> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of the
>> >>main
>> >> >> >>source
>> >> >> >> >> >>file.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> I don't agree that CWD is the right default.  For
>>me,
>> >> >>I've
>> >> >> >> >>always
>> >> >> >> >> >> >>had a
>> >> >> >> >> >> >> >> folder full of test cases and am not always
>>changing
>> >> >> >>folders.
>> >> >> >> >>I
>> >> >> >> >> >> >>think
>> >> >> >> >> >> >> >>the
>> >> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I
>>didn't
>> >> >>want
>> >> >> >>to
>> >> >> >> >> >>change
>> >> >> >> >> >> >> >>that
>> >> >> >> >> >> >> >> pattern.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> 4A is just a convenience for those who follow
>>certain
>> >> >>common
>> >> >> >> >> >> >>patterns so
>> >> >> >> >> >> >> >> they don't have to do as much typing on the command
>> >>line.
>> >> >> >>It
>> >> >> >> >> >>might
>> >> >> >> >> >> >>also
>> >> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I
>>think
>> >> >>Maven
>> >> >> >> >> >>always
>> >> >> >> >> >> >> >> specifies the output folder.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
>> >> >><jo...@gmail.com>
>> >> >> >> >>wrote:
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >In that case, the SWF will use the -output option:
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>> >> >> >> >> >>source/MyProject.as
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >> >> >> >> >><pi...@gmail.com>
>> >> >> >> >> >> >> >>wrote:
>> >> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> >> >> >> >> So -js-output will be also the place where SWF
>>file
>> >> >>will
>> >> >> >> >> >>landed?
>> >> >> >> >> >> >>- If
>> >> >> >> >> >> >> >> >>yes
>> >> >> >> >> >> >> >> >> in
>> >> >> >> >> >> >> >> >> that case this param could have different name.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> Thanks,
>> >> >> >> >> >> >> >> >> Piotr
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> -----
>> >> >> >> >> >> >> >> >> Apache Flex PMC
>> >> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> >> >> >> >> --
>> >> >> >> >> >> >> >> >> View this message in context:
>>http://apache-flex-
>> >> >> >> >> >> >> >> >>
>> >>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> >> >> >> >>
>> >> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing
>>list
>> >> >> >>archive
>> >> >> >> >>at
>> >> >> >> >> >> >> >> >>Nabble.com.
>> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
That's a perfectly valid solution for some people. I prefer to work with
unmodified SDKs so that I don't accidentally release any projects that
break for other people because their SDKs are not modified like mine.

- Josh

On Fri, Jun 2, 2017 at 8:42 AM, Alex Harui <ah...@adobe.com.invalid> wrote:

> I would modify my flex-config.xml, so I don't have to modify every project.
>
> -Alex
>
> On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >If I need to set an option, then I might as well set -output or
> >-js-output.
> >I simply wouldn't use -outputFolderMap.
> >
> >- Josh
> >
> >On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> OK, sorry, I did miss that.  I thought you were the one who wanted the
> >> output in the same folder, but I was mistaken.
> >>
> >> Keep in mind that:
> >>
> >> 1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
> >> defaults to putting the output in the same folder.  So, if you have:
> >>
> >> /projects/SomeProject/SomeProject.mxml
> >>
> >> By default, the SWF is:
> >>
> >> /projects/SomeProject/SomeProject.swf
> >>
> >> 2) I have another folder of projects that don't have src folders at all.
> >> So before November 2016, when the default was as you propose it to be
> >> again, the problem was this.  If I have two projects:
> >>
> >> /projects/SomeProject/SomeProject.mxml
> >> /projects/SomeOtherProject/SomeOtherProject/mxml
> >>
> >> Compiling one overwrites the bin folder of the other in projects/bin.
> >>
> >>
> >> IMO, there is "no right answer", so I now think that we should add a
> >> configuration option like:
> >>
> >> -outputFolderMap=src/main/flex,bin
> >> -outputFolderMap+=.,../bin
> >>
> >> Then folks can configure defaults any way they want.  The "." is the
> >> special case for no matches with other patterns.  You have proposed the
> >> default to be
> >>
> >>
> >> -outputFolderMap+=.,../bin
> >>
> >>
> >> It is currently:
> >>
> >> -outputFolderMap+=.,bin
> >>
> >>
> >> AIUI, Maven actually specifies the equivalent of:
> >>
> >> -outputFolderMap=src/main/flex,target
> >>
> >> So folks who want to leverage that somehow could do so.
> >>
> >>
> >> Thoughts?
> >> -Alex
> >>
> >>
> >> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >You seem to be missing the most important part of my proposal. The
> >> >compiler
> >> >will put the "bin" directory in the parent of the main source folder,
> >> >regardless of whether it's named "src", "source", "alex-is-cool" or
> >>*any*
> >> >name whatsoever. I put some pseudo-code to explain that in one of my
> >> >emails, but I guess you missed it. That's the main proposal. In
> >>addition
> >> >to
> >> >that, "src/main/flex" would still be a special exception because it's a
> >> >more complex nested structure (otherwise, you'd get "src/main/bin"). I
> >> >hope
> >> >that makes it clear!
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> Maybe I don't understand your proposal.  Currently I think you can
> >>say
> >> >> that there are exceptions for "src" and "src/main/flex".  AIUI, your
> >> >> proposal is that only "src/main/flex" would be handled differently.
> >> >>
> >> >> -Alex
> >> >>
> >> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >Why would you need to stop and reconfigure all of those projects?
> >>With
> >> >>the
> >> >> >change that I suggested, all of your projects that use "src" would
> >> >> >continue
> >> >> >to work just fine with no changes required.
> >> >> >
> >> >> >Yes, I'm perfectly happy making any changes after this release.
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> Believe me, I am not worried about perfection here.
> >> >> >>
> >> >> >> I am saying that if we make changes, we should allow the set of
> >> >>patterns
> >> >> >> to be configurable so we don't have to change the compiler to add
> >>new
> >> >> >> patterns.  I already have a large set of projects with only "src"
> >> >>and I
> >> >> >> would prefer not to have to stop and reconfigure all of those
> >> >>projects.
> >> >> >> When I have to debug into the compiling of a Flash Builder
> >>project,
> >> >>it
> >> >> >> will save me time to not have to remember to add the output
> >>folder.
> >> >> >>
> >> >> >> Having a config option would allow you to have what you want and
> >>for
> >> >>me
> >> >> >>to
> >> >> >> have what I want.  Can we agree to add a config option, but maybe
> >> >>after
> >> >> >> this release?
> >> >> >>
> >> >> >> Thanks,
> >> >> >> -Alex
> >> >> >>
> >> >> >>
> >> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com>
> wrote:
> >> >> >>
> >> >> >> >If there are other nested source directory structures
> >>recommended as
> >> >> >> >standard practice by opinionated tools, similar to how Maven use
> >> >> >> >"src/main/flex", then sure, let's add them as we become aware of
> >> >>them.
> >> >> >> >
> >> >> >> >"srcx/main/flex" would indeed not be solved by my recommended
> >> >>change.
> >> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it" would
> >> >>all be
> >> >> >> >solved, and I think a single directory with a different name than
> >> >> >>"src" is
> >> >> >> >vastly more common than another nested directory structure like
> >> >> >> >"srcx/main/flex". At least from my experience looking at real
> >>world
> >> >> >> >projects over the years. Let's not let perfection stop us from
> >> >>making
> >> >> >>an
> >> >> >> >improvement that will reduce the time users spend on figuring out
> >> >>why
> >> >> >> >something isn't working as expected and contributors spend
> >> >>explaining
> >> >> >>why
> >> >> >> >"src" is a special case when it doesn't need to be.
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> If we allow one exception, why not more than one?
> >> >> >> >>
> >> >> >> >> What if we add an "outputFolderExceptions" list and default it
> >>to
> >> >> >>just
> >> >> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
> >> >>installs
> >> >> >>to
> >> >> >> >>get
> >> >> >> >> what I want.  Still not sure how it solves the original problem
> >> >> >>though.
> >> >> >> >> If someone has a src/main/flex pattern and changes it to
> >> >> >>srcx/main/flex
> >> >> >> >> seems like they will still be surprised.
> >> >> >> >>
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com>
> >> wrote:
> >> >> >> >>
> >> >> >> >> >If we do as I suggest, there would no longer be a list of
> >> >>patterns.
> >> >> >>I
> >> >> >> >>want
> >> >> >> >> >to allow *any* folder name. That's what I mean by
> >>generalizing.
> >> >>Just
> >> >> >> >> >automatically put the "bin" directory relative to the parent
> >> >> >>directory
> >> >> >> >>of
> >> >> >> >> >the main source file. (with one exception: Maven-style project
> >> >> >> >>structures
> >> >> >> >> >with src/main/flex would still be a special case).
> >> >> >> >> >
> >> >> >> >> >Right now, if you compile like this...
> >> >> >> >> >
> >> >> >> >> >mxmlc src/MyProject.mxml
> >> >> >> >> >
> >> >> >> >> >...you get a "bin" directory in the same parent directory as
> >> >>"src".
> >> >> >> >> >
> >> >> >> >> >I want to allow you to use ANY name instead of "src" too, like
> >> >>this:
> >> >> >> >> >
> >> >> >> >> >mxmlc source/MyProject.mxml
> >> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >> >> >> >
> >> >> >> >> >... and still get a "bin" directory relative to "source" or
> >> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at random,
> >> >>and I
> >> >> >> >>want
> >> >> >> >> >it to just work.
> >> >> >> >> >
> >> >> >> >> >The compiler would do something similar to this pseudo-code:
> >> >> >> >> >
> >> >> >> >> >File mainClass = new
> >> >> >> >>
> >> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
> >> MyProject.mxml");
> >> >> >> >> >File bin = mainClass.getParent().getParent().resolve("bin");
> >> >> >> >> >
> >> >> >> >> >You'd get /path/to/MyProject/bin/
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >wrote:
> >> >> >> >> >
> >> >> >> >> >> I just want to optimize for a couple of common cases in
> >>order
> >> >>to
> >> >> >> >>save me
> >> >> >> >> >> and maybe other folks some time.  If for some reason I need
> >>to
> >> >> >> >>compile a
> >> >> >> >> >> Flash Builder project from the command-line or Ant or Java
> >> >> >>debugger,
> >> >> >> >>I
> >> >> >> >> >> don't have to remember to set the -output parameter.
> >> >> >> >> >>
> >> >> >> >> >> I used to get FB projects in JIRA and email and then unpack
> >> >>them
> >> >> >>and
> >> >> >> >> >> compile them outside of FB because then I can get the
> >>debugger
> >> >>on
> >> >> >> >>them
> >> >> >> >> >> more easily.  All of our examples are set up so you can
> >>compile
> >> >> >>them
> >> >> >> >> >>from
> >> >> >> >> >> the command line and not have to type the -output parameter.
> >> >>And
> >> >> >>if
> >> >> >> >>you
> >> >> >> >> >> make a mistake typing the output folder name, it ends up
> >> >>creating
> >> >> >>a
> >> >> >> >>new
> >> >> >> >> >> folder with that name.
> >> >> >> >> >>
> >> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
> >>suggesting
> >> >> >> >>allowing
> >> >> >> >> >> folks to add more patterns to the set of folders where the
> >> >> >>compiler
> >> >> >> >>will
> >> >> >> >> >> chose the parent of the folder pattern?  I'm not sure how
> >>that
> >> >> >>solves
> >> >> >> >> >>the
> >> >> >> >> >> problem.  Seems like you'd still be surprised if you use
> >> >>"source"
> >> >> >>or
> >> >> >> >> >> something that isn't in the default list so a warning would
> >> >>still
> >> >> >> >>help,
> >> >> >> >> >> but if that's what you want to do, seems like it wouldn't
> >>hurt.
> >> >> >> >> >>
> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> -Alex
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com>
> >> >>wrote:
> >> >> >> >> >>
> >> >> >> >> >> >I'm not sure that I understand why you mentioned changing
> >> >>Flash
> >> >> >> >> >>Builder's
> >> >> >> >> >> >default source path. That seems mostly tangential here.
> >> >> >> >> >> >
> >> >> >> >> >> >I'm saying that the compiler shouldn't care whether it's
> >>named
> >> >> >> >>"src",
> >> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
> >> >> >>default
> >> >> >> >>to
> >> >> >> >> >> >putting "bin" in the parent of that folder. A warning might
> >> >>be a
> >> >> >> >>good
> >> >> >> >> >> >temporary workaround, but generalizing this behavior is
> >> >> >> >>significantly
> >> >> >> >> >> >better, in my opinion.
> >> >> >> >> >> >
> >> >> >> >> >> >- Josh
> >> >> >> >> >> >
> >> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >wrote:
> >> >> >> >> >> >
> >> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know what it
> >> >>would
> >> >> >> >>take
> >> >> >> >> >>to
> >> >> >> >> >> >> get FB to default to something else.  I know I have lots
> >>of
> >> >> >> >>projects
> >> >> >> >> >> >>with
> >> >> >> >> >> >> just a "src" folder.
> >> >> >> >> >> >>
> >> >> >> >> >> >> I agree it is confusing.  We could output a warning or
> >> >>error if
> >> >> >> >>you
> >> >> >> >> >> >> haven't specified -output, -js-output and don't have
> >>"src"
> >> >>or
> >> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning: output
> >> >> >>folder
> >> >> >> >>not
> >> >> >> >> >> >> specified and src or src/main/flex folders not specified.
> >> >> >>Output
> >> >> >> >> >>will
> >> >> >> >> >> >>be
> >> >> >> >> >> >> in <name of output folder".
> >> >> >> >> >> >>
> >> >> >> >> >> >> Would that help eliminate confusion?  That's easy for
> >> >>someone
> >> >> >>to
> >> >> >> >>add
> >> >> >> >> >>to
> >> >> >> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >> >> >> >>
> >> >> >> >> >> >> Thoughts?
> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >>
> >> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
> >><jo...@gmail.com>
> >> >> >>wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >> >I think I had some trouble trying to get -output to
> >>accept
> >> >>a
> >> >> >> >> >>directory
> >> >> >> >> >> >>for
> >> >> >> >> >> >> >a JS-only project, and that's when I figured out that
> >> >> >>-js-output
> >> >> >> >> >> >>exists.
> >> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or maybe
> >>it
> >> >> >>didn't
> >> >> >> >> >>quite
> >> >> >> >> >> >> >work properly yet.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >Although, I still think it's confusing to those who
> >>don't
> >> >> >>realize
> >> >> >> >> >>that
> >> >> >> >> >> >> >"src" and "src/main/flex" get special treatment and then
> >> >>"bin"
> >> >> >> >>ends
> >> >> >> >> >>up
> >> >> >> >> >> >> >somewhere else if they happen to choose a different name
> >> >>for a
> >> >> >> >>new
> >> >> >> >> >> >> >project.
> >> >> >> >> >> >> >Between me and Santanu, that's two people who had to
> >>waste
> >> >> >>time
> >> >> >> >>on
> >> >> >> >> >> >> >figuring
> >> >> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I
> >>could
> >> >> >>live
> >> >> >> >> >> >>without it
> >> >> >> >> >> >> >being the current working directory if "bin" would
> >>simply
> >> >>go
> >> >> >>into
> >> >> >> >> >>the
> >> >> >> >> >> >> >parent directory of the directory containing the main
> >> >>class by
> >> >> >> >> >>default,
> >> >> >> >> >> >> >regardless of whether it's named "src" or not. If
> >> >> >> >>"src/main/flex" is
> >> >> >> >> >> >>the
> >> >> >> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >> >wrote:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> And if you just use -output and not -js-output the bin
> >> >> >>folder
> >> >> >> >> >>will be
> >> >> >> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will be in
> >> >> >> >> >> somefolder\bin.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> The logic is trying to say:
> >> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
> >> >>parent
> >> >> >> >>folder
> >> >> >> >> >>of
> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> SWF
> >> >> >> >> >> >> >> 2) If you specify -output as a folder, we will use
> >>that
> >> >> >>folder
> >> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
> >> >>regardless of
> >> >> >> >>what
> >> >> >> >> >>you
> >> >> >> >> >> >> >>used
> >> >> >> >> >> >> >> for -output
> >> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex folder
> >>we
> >> >> >>will
> >> >> >> >>use
> >> >> >> >> >>the
> >> >> >> >> >> >> >> parent of src
> >> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of the
> >>main
> >> >> >>source
> >> >> >> >> >>file.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> I don't agree that CWD is the right default.  For me,
> >> >>I've
> >> >> >> >>always
> >> >> >> >> >> >>had a
> >> >> >> >> >> >> >> folder full of test cases and am not always changing
> >> >> >>folders.
> >> >> >> >>I
> >> >> >> >> >> >>think
> >> >> >> >> >> >> >>the
> >> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't
> >> >>want
> >> >> >>to
> >> >> >> >> >>change
> >> >> >> >> >> >> >>that
> >> >> >> >> >> >> >> pattern.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> 4A is just a convenience for those who follow certain
> >> >>common
> >> >> >> >> >> >>patterns so
> >> >> >> >> >> >> >> they don't have to do as much typing on the command
> >>line.
> >> >> >>It
> >> >> >> >> >>might
> >> >> >> >> >> >>also
> >> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I think
> >> >>Maven
> >> >> >> >> >>always
> >> >> >> >> >> >> >> specifies the output folder.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
> >> >><jo...@gmail.com>
> >> >> >> >>wrote:
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >> >> >> >> >>source/MyProject.as
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >> >> >> >><pi...@gmail.com>
> >> >> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> >> >> >> So -js-output will be also the place where SWF file
> >> >>will
> >> >> >> >> >>landed?
> >> >> >> >> >> >>- If
> >> >> >> >> >> >> >> >>yes
> >> >> >> >> >> >> >> >> in
> >> >> >> >> >> >> >> >> that case this param could have different name.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> Thanks,
> >> >> >> >> >> >> >> >> Piotr
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> >> -----
> >> >> >> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> >> >> >> --
> >> >> >> >> >> >> >> >> View this message in context: http://apache-flex-
> >> >> >> >> >> >> >> >>
> >>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> >> >> >>
> >> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing list
> >> >> >>archive
> >> >> >> >>at
> >> >> >> >> >> >> >> >>Nabble.com.
> >> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
I would modify my flex-config.xml, so I don't have to modify every project.

-Alex

On 6/2/17, 8:38 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>If I need to set an option, then I might as well set -output or
>-js-output.
>I simply wouldn't use -outputFolderMap.
>
>- Josh
>
>On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> OK, sorry, I did miss that.  I thought you were the one who wanted the
>> output in the same folder, but I was mistaken.
>>
>> Keep in mind that:
>>
>> 1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
>> defaults to putting the output in the same folder.  So, if you have:
>>
>> /projects/SomeProject/SomeProject.mxml
>>
>> By default, the SWF is:
>>
>> /projects/SomeProject/SomeProject.swf
>>
>> 2) I have another folder of projects that don't have src folders at all.
>> So before November 2016, when the default was as you propose it to be
>> again, the problem was this.  If I have two projects:
>>
>> /projects/SomeProject/SomeProject.mxml
>> /projects/SomeOtherProject/SomeOtherProject/mxml
>>
>> Compiling one overwrites the bin folder of the other in projects/bin.
>>
>>
>> IMO, there is "no right answer", so I now think that we should add a
>> configuration option like:
>>
>> -outputFolderMap=src/main/flex,bin
>> -outputFolderMap+=.,../bin
>>
>> Then folks can configure defaults any way they want.  The "." is the
>> special case for no matches with other patterns.  You have proposed the
>> default to be
>>
>>
>> -outputFolderMap+=.,../bin
>>
>>
>> It is currently:
>>
>> -outputFolderMap+=.,bin
>>
>>
>> AIUI, Maven actually specifies the equivalent of:
>>
>> -outputFolderMap=src/main/flex,target
>>
>> So folks who want to leverage that somehow could do so.
>>
>>
>> Thoughts?
>> -Alex
>>
>>
>> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >You seem to be missing the most important part of my proposal. The
>> >compiler
>> >will put the "bin" directory in the parent of the main source folder,
>> >regardless of whether it's named "src", "source", "alex-is-cool" or
>>*any*
>> >name whatsoever. I put some pseudo-code to explain that in one of my
>> >emails, but I guess you missed it. That's the main proposal. In
>>addition
>> >to
>> >that, "src/main/flex" would still be a special exception because it's a
>> >more complex nested structure (otherwise, you'd get "src/main/bin"). I
>> >hope
>> >that makes it clear!
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> Maybe I don't understand your proposal.  Currently I think you can
>>say
>> >> that there are exceptions for "src" and "src/main/flex".  AIUI, your
>> >> proposal is that only "src/main/flex" would be handled differently.
>> >>
>> >> -Alex
>> >>
>> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >Why would you need to stop and reconfigure all of those projects?
>>With
>> >>the
>> >> >change that I suggested, all of your projects that use "src" would
>> >> >continue
>> >> >to work just fine with no changes required.
>> >> >
>> >> >Yes, I'm perfectly happy making any changes after this release.
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> Believe me, I am not worried about perfection here.
>> >> >>
>> >> >> I am saying that if we make changes, we should allow the set of
>> >>patterns
>> >> >> to be configurable so we don't have to change the compiler to add
>>new
>> >> >> patterns.  I already have a large set of projects with only "src"
>> >>and I
>> >> >> would prefer not to have to stop and reconfigure all of those
>> >>projects.
>> >> >> When I have to debug into the compiling of a Flash Builder
>>project,
>> >>it
>> >> >> will save me time to not have to remember to add the output
>>folder.
>> >> >>
>> >> >> Having a config option would allow you to have what you want and
>>for
>> >>me
>> >> >>to
>> >> >> have what I want.  Can we agree to add a config option, but maybe
>> >>after
>> >> >> this release?
>> >> >>
>> >> >> Thanks,
>> >> >> -Alex
>> >> >>
>> >> >>
>> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >If there are other nested source directory structures
>>recommended as
>> >> >> >standard practice by opinionated tools, similar to how Maven use
>> >> >> >"src/main/flex", then sure, let's add them as we become aware of
>> >>them.
>> >> >> >
>> >> >> >"srcx/main/flex" would indeed not be solved by my recommended
>> >>change.
>> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it" would
>> >>all be
>> >> >> >solved, and I think a single directory with a different name than
>> >> >>"src" is
>> >> >> >vastly more common than another nested directory structure like
>> >> >> >"srcx/main/flex". At least from my experience looking at real
>>world
>> >> >> >projects over the years. Let's not let perfection stop us from
>> >>making
>> >> >>an
>> >> >> >improvement that will reduce the time users spend on figuring out
>> >>why
>> >> >> >something isn't working as expected and contributors spend
>> >>explaining
>> >> >>why
>> >> >> >"src" is a special case when it doesn't need to be.
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> If we allow one exception, why not more than one?
>> >> >> >>
>> >> >> >> What if we add an "outputFolderExceptions" list and default it
>>to
>> >> >>just
>> >> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
>> >>installs
>> >> >>to
>> >> >> >>get
>> >> >> >> what I want.  Still not sure how it solves the original problem
>> >> >>though.
>> >> >> >> If someone has a src/main/flex pattern and changes it to
>> >> >>srcx/main/flex
>> >> >> >> seems like they will still be surprised.
>> >> >> >>
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com>
>> wrote:
>> >> >> >>
>> >> >> >> >If we do as I suggest, there would no longer be a list of
>> >>patterns.
>> >> >>I
>> >> >> >>want
>> >> >> >> >to allow *any* folder name. That's what I mean by
>>generalizing.
>> >>Just
>> >> >> >> >automatically put the "bin" directory relative to the parent
>> >> >>directory
>> >> >> >>of
>> >> >> >> >the main source file. (with one exception: Maven-style project
>> >> >> >>structures
>> >> >> >> >with src/main/flex would still be a special case).
>> >> >> >> >
>> >> >> >> >Right now, if you compile like this...
>> >> >> >> >
>> >> >> >> >mxmlc src/MyProject.mxml
>> >> >> >> >
>> >> >> >> >...you get a "bin" directory in the same parent directory as
>> >>"src".
>> >> >> >> >
>> >> >> >> >I want to allow you to use ANY name instead of "src" too, like
>> >>this:
>> >> >> >> >
>> >> >> >> >mxmlc source/MyProject.mxml
>> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >> >> >> >
>> >> >> >> >... and still get a "bin" directory relative to "source" or
>> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
>> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at random,
>> >>and I
>> >> >> >>want
>> >> >> >> >it to just work.
>> >> >> >> >
>> >> >> >> >The compiler would do something similar to this pseudo-code:
>> >> >> >> >
>> >> >> >> >File mainClass = new
>> >> >> >>
>> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
>> MyProject.mxml");
>> >> >> >> >File bin = mainClass.getParent().getParent().resolve("bin");
>> >> >> >> >
>> >> >> >> >You'd get /path/to/MyProject/bin/
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
>> >> >><ah...@adobe.com.invalid>
>> >> >> >> >wrote:
>> >> >> >> >
>> >> >> >> >> I just want to optimize for a couple of common cases in
>>order
>> >>to
>> >> >> >>save me
>> >> >> >> >> and maybe other folks some time.  If for some reason I need
>>to
>> >> >> >>compile a
>> >> >> >> >> Flash Builder project from the command-line or Ant or Java
>> >> >>debugger,
>> >> >> >>I
>> >> >> >> >> don't have to remember to set the -output parameter.
>> >> >> >> >>
>> >> >> >> >> I used to get FB projects in JIRA and email and then unpack
>> >>them
>> >> >>and
>> >> >> >> >> compile them outside of FB because then I can get the
>>debugger
>> >>on
>> >> >> >>them
>> >> >> >> >> more easily.  All of our examples are set up so you can
>>compile
>> >> >>them
>> >> >> >> >>from
>> >> >> >> >> the command line and not have to type the -output parameter.
>> >>And
>> >> >>if
>> >> >> >>you
>> >> >> >> >> make a mistake typing the output folder name, it ends up
>> >>creating
>> >> >>a
>> >> >> >>new
>> >> >> >> >> folder with that name.
>> >> >> >> >>
>> >> >> >> >> I'm not sure what you mean by generalizing.  Are you
>>suggesting
>> >> >> >>allowing
>> >> >> >> >> folks to add more patterns to the set of folders where the
>> >> >>compiler
>> >> >> >>will
>> >> >> >> >> chose the parent of the folder pattern?  I'm not sure how
>>that
>> >> >>solves
>> >> >> >> >>the
>> >> >> >> >> problem.  Seems like you'd still be surprised if you use
>> >>"source"
>> >> >>or
>> >> >> >> >> something that isn't in the default list so a warning would
>> >>still
>> >> >> >>help,
>> >> >> >> >> but if that's what you want to do, seems like it wouldn't
>>hurt.
>> >> >> >> >>
>> >> >> >> >> My 2 cents,
>> >> >> >> >> -Alex
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com>
>> >>wrote:
>> >> >> >> >>
>> >> >> >> >> >I'm not sure that I understand why you mentioned changing
>> >>Flash
>> >> >> >> >>Builder's
>> >> >> >> >> >default source path. That seems mostly tangential here.
>> >> >> >> >> >
>> >> >> >> >> >I'm saying that the compiler shouldn't care whether it's
>>named
>> >> >> >>"src",
>> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
>> >> >>default
>> >> >> >>to
>> >> >> >> >> >putting "bin" in the parent of that folder. A warning might
>> >>be a
>> >> >> >>good
>> >> >> >> >> >temporary workaround, but generalizing this behavior is
>> >> >> >>significantly
>> >> >> >> >> >better, in my opinion.
>> >> >> >> >> >
>> >> >> >> >> >- Josh
>> >> >> >> >> >
>> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >wrote:
>> >> >> >> >> >
>> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know what it
>> >>would
>> >> >> >>take
>> >> >> >> >>to
>> >> >> >> >> >> get FB to default to something else.  I know I have lots
>>of
>> >> >> >>projects
>> >> >> >> >> >>with
>> >> >> >> >> >> just a "src" folder.
>> >> >> >> >> >>
>> >> >> >> >> >> I agree it is confusing.  We could output a warning or
>> >>error if
>> >> >> >>you
>> >> >> >> >> >> haven't specified -output, -js-output and don't have
>>"src"
>> >>or
>> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning: output
>> >> >>folder
>> >> >> >>not
>> >> >> >> >> >> specified and src or src/main/flex folders not specified.
>> >> >>Output
>> >> >> >> >>will
>> >> >> >> >> >>be
>> >> >> >> >> >> in <name of output folder".
>> >> >> >> >> >>
>> >> >> >> >> >> Would that help eliminate confusion?  That's easy for
>> >>someone
>> >> >>to
>> >> >> >>add
>> >> >> >> >>to
>> >> >> >> >> >> MXMLFlexJSPublisher.java.
>> >> >> >> >> >>
>> >> >> >> >> >> Thoughts?
>> >> >> >> >> >> -Alex
>> >> >> >> >> >>
>> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala"
>><jo...@gmail.com>
>> >> >>wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> >I think I had some trouble trying to get -output to
>>accept
>> >>a
>> >> >> >> >>directory
>> >> >> >> >> >>for
>> >> >> >> >> >> >a JS-only project, and that's when I figured out that
>> >> >>-js-output
>> >> >> >> >> >>exists.
>> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or maybe
>>it
>> >> >>didn't
>> >> >> >> >>quite
>> >> >> >> >> >> >work properly yet.
>> >> >> >> >> >> >
>> >> >> >> >> >> >Although, I still think it's confusing to those who
>>don't
>> >> >>realize
>> >> >> >> >>that
>> >> >> >> >> >> >"src" and "src/main/flex" get special treatment and then
>> >>"bin"
>> >> >> >>ends
>> >> >> >> >>up
>> >> >> >> >> >> >somewhere else if they happen to choose a different name
>> >>for a
>> >> >> >>new
>> >> >> >> >> >> >project.
>> >> >> >> >> >> >Between me and Santanu, that's two people who had to
>>waste
>> >> >>time
>> >> >> >>on
>> >> >> >> >> >> >figuring
>> >> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I
>>could
>> >> >>live
>> >> >> >> >> >>without it
>> >> >> >> >> >> >being the current working directory if "bin" would
>>simply
>> >>go
>> >> >>into
>> >> >> >> >>the
>> >> >> >> >> >> >parent directory of the directory containing the main
>> >>class by
>> >> >> >> >>default,
>> >> >> >> >> >> >regardless of whether it's named "src" or not. If
>> >> >> >>"src/main/flex" is
>> >> >> >> >> >>the
>> >> >> >> >> >> >only special case, that's better, in my opinion.
>> >> >> >> >> >> >
>> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >
>> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >> >wrote:
>> >> >> >> >> >> >
>> >> >> >> >> >> >> And if you just use -output and not -js-output the bin
>> >> >>folder
>> >> >> >> >>will be
>> >> >> >> >> >> >> where you specified -output, and if you specify
>> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will be in
>> >> >> >> >> somefolder\bin.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> The logic is trying to say:
>> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
>> >>parent
>> >> >> >>folder
>> >> >> >> >>of
>> >> >> >> >> >>the
>> >> >> >> >> >> >> SWF
>> >> >> >> >> >> >> 2) If you specify -output as a folder, we will use
>>that
>> >> >>folder
>> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
>> >>regardless of
>> >> >> >>what
>> >> >> >> >>you
>> >> >> >> >> >> >>used
>> >> >> >> >> >> >> for -output
>> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
>> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex folder
>>we
>> >> >>will
>> >> >> >>use
>> >> >> >> >>the
>> >> >> >> >> >> >> parent of src
>> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of the
>>main
>> >> >>source
>> >> >> >> >>file.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> I don't agree that CWD is the right default.  For me,
>> >>I've
>> >> >> >>always
>> >> >> >> >> >>had a
>> >> >> >> >> >> >> folder full of test cases and am not always changing
>> >> >>folders.
>> >> >> >>I
>> >> >> >> >> >>think
>> >> >> >> >> >> >>the
>> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't
>> >>want
>> >> >>to
>> >> >> >> >>change
>> >> >> >> >> >> >>that
>> >> >> >> >> >> >> pattern.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> 4A is just a convenience for those who follow certain
>> >>common
>> >> >> >> >> >>patterns so
>> >> >> >> >> >> >> they don't have to do as much typing on the command
>>line.
>> >> >>It
>> >> >> >> >>might
>> >> >> >> >> >>also
>> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I think
>> >>Maven
>> >> >> >> >>always
>> >> >> >> >> >> >> specifies the output folder.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> >> -Alex
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
>> >><jo...@gmail.com>
>> >> >> >>wrote:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> >In that case, the SWF will use the -output option:
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>> >> >> >> >>source/MyProject.as
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >> >> >> >><pi...@gmail.com>
>> >> >> >> >> >> >>wrote:
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> >> >> >> So -js-output will be also the place where SWF file
>> >>will
>> >> >> >> >>landed?
>> >> >> >> >> >>- If
>> >> >> >> >> >> >> >>yes
>> >> >> >> >> >> >> >> in
>> >> >> >> >> >> >> >> that case this param could have different name.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> Thanks,
>> >> >> >> >> >> >> >> Piotr
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> -----
>> >> >> >> >> >> >> >> Apache Flex PMC
>> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> >> >> >> --
>> >> >> >> >> >> >> >> View this message in context: http://apache-flex-
>> >> >> >> >> >> >> >>
>>development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> >> >> >>
>> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing list
>> >> >>archive
>> >> >> >>at
>> >> >> >> >> >> >> >>Nabble.com.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
If I need to set an option, then I might as well set -output or -js-output.
I simply wouldn't use -outputFolderMap.

- Josh

On Fri, Jun 2, 2017 at 8:25 AM, Alex Harui <ah...@adobe.com.invalid> wrote:

> OK, sorry, I did miss that.  I thought you were the one who wanted the
> output in the same folder, but I was mistaken.
>
> Keep in mind that:
>
> 1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
> defaults to putting the output in the same folder.  So, if you have:
>
> /projects/SomeProject/SomeProject.mxml
>
> By default, the SWF is:
>
> /projects/SomeProject/SomeProject.swf
>
> 2) I have another folder of projects that don't have src folders at all.
> So before November 2016, when the default was as you propose it to be
> again, the problem was this.  If I have two projects:
>
> /projects/SomeProject/SomeProject.mxml
> /projects/SomeOtherProject/SomeOtherProject/mxml
>
> Compiling one overwrites the bin folder of the other in projects/bin.
>
>
> IMO, there is "no right answer", so I now think that we should add a
> configuration option like:
>
> -outputFolderMap=src/main/flex,bin
> -outputFolderMap+=.,../bin
>
> Then folks can configure defaults any way they want.  The "." is the
> special case for no matches with other patterns.  You have proposed the
> default to be
>
>
> -outputFolderMap+=.,../bin
>
>
> It is currently:
>
> -outputFolderMap+=.,bin
>
>
> AIUI, Maven actually specifies the equivalent of:
>
> -outputFolderMap=src/main/flex,target
>
> So folks who want to leverage that somehow could do so.
>
>
> Thoughts?
> -Alex
>
>
> On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >You seem to be missing the most important part of my proposal. The
> >compiler
> >will put the "bin" directory in the parent of the main source folder,
> >regardless of whether it's named "src", "source", "alex-is-cool" or *any*
> >name whatsoever. I put some pseudo-code to explain that in one of my
> >emails, but I guess you missed it. That's the main proposal. In addition
> >to
> >that, "src/main/flex" would still be a special exception because it's a
> >more complex nested structure (otherwise, you'd get "src/main/bin"). I
> >hope
> >that makes it clear!
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> Maybe I don't understand your proposal.  Currently I think you can say
> >> that there are exceptions for "src" and "src/main/flex".  AIUI, your
> >> proposal is that only "src/main/flex" would be handled differently.
> >>
> >> -Alex
> >>
> >> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >Why would you need to stop and reconfigure all of those projects? With
> >>the
> >> >change that I suggested, all of your projects that use "src" would
> >> >continue
> >> >to work just fine with no changes required.
> >> >
> >> >Yes, I'm perfectly happy making any changes after this release.
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> Believe me, I am not worried about perfection here.
> >> >>
> >> >> I am saying that if we make changes, we should allow the set of
> >>patterns
> >> >> to be configurable so we don't have to change the compiler to add new
> >> >> patterns.  I already have a large set of projects with only "src"
> >>and I
> >> >> would prefer not to have to stop and reconfigure all of those
> >>projects.
> >> >> When I have to debug into the compiling of a Flash Builder project,
> >>it
> >> >> will save me time to not have to remember to add the output folder.
> >> >>
> >> >> Having a config option would allow you to have what you want and for
> >>me
> >> >>to
> >> >> have what I want.  Can we agree to add a config option, but maybe
> >>after
> >> >> this release?
> >> >>
> >> >> Thanks,
> >> >> -Alex
> >> >>
> >> >>
> >> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >If there are other nested source directory structures recommended as
> >> >> >standard practice by opinionated tools, similar to how Maven use
> >> >> >"src/main/flex", then sure, let's add them as we become aware of
> >>them.
> >> >> >
> >> >> >"srcx/main/flex" would indeed not be solved by my recommended
> >>change.
> >> >> >However, "source", "srcx", or "whatever-i-want-to-call-it" would
> >>all be
> >> >> >solved, and I think a single directory with a different name than
> >> >>"src" is
> >> >> >vastly more common than another nested directory structure like
> >> >> >"srcx/main/flex". At least from my experience looking at real world
> >> >> >projects over the years. Let's not let perfection stop us from
> >>making
> >> >>an
> >> >> >improvement that will reduce the time users spend on figuring out
> >>why
> >> >> >something isn't working as expected and contributors spend
> >>explaining
> >> >>why
> >> >> >"src" is a special case when it doesn't need to be.
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> If we allow one exception, why not more than one?
> >> >> >>
> >> >> >> What if we add an "outputFolderExceptions" list and default it to
> >> >>just
> >> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
> >>installs
> >> >>to
> >> >> >>get
> >> >> >> what I want.  Still not sure how it solves the original problem
> >> >>though.
> >> >> >> If someone has a src/main/flex pattern and changes it to
> >> >>srcx/main/flex
> >> >> >> seems like they will still be surprised.
> >> >> >>
> >> >> >> -Alex
> >> >> >>
> >> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com>
> wrote:
> >> >> >>
> >> >> >> >If we do as I suggest, there would no longer be a list of
> >>patterns.
> >> >>I
> >> >> >>want
> >> >> >> >to allow *any* folder name. That's what I mean by generalizing.
> >>Just
> >> >> >> >automatically put the "bin" directory relative to the parent
> >> >>directory
> >> >> >>of
> >> >> >> >the main source file. (with one exception: Maven-style project
> >> >> >>structures
> >> >> >> >with src/main/flex would still be a special case).
> >> >> >> >
> >> >> >> >Right now, if you compile like this...
> >> >> >> >
> >> >> >> >mxmlc src/MyProject.mxml
> >> >> >> >
> >> >> >> >...you get a "bin" directory in the same parent directory as
> >>"src".
> >> >> >> >
> >> >> >> >I want to allow you to use ANY name instead of "src" too, like
> >>this:
> >> >> >> >
> >> >> >> >mxmlc source/MyProject.mxml
> >> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >> >> >
> >> >> >> >... and still get a "bin" directory relative to "source" or
> >> >> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >> >> >"whatever-i-want-to-call-it" with *any* folder name at random,
> >>and I
> >> >> >>want
> >> >> >> >it to just work.
> >> >> >> >
> >> >> >> >The compiler would do something similar to this pseudo-code:
> >> >> >> >
> >> >> >> >File mainClass = new
> >> >> >>
> >> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/
> MyProject.mxml");
> >> >> >> >File bin = mainClass.getParent().getParent().resolve("bin");
> >> >> >> >
> >> >> >> >You'd get /path/to/MyProject/bin/
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> I just want to optimize for a couple of common cases in order
> >>to
> >> >> >>save me
> >> >> >> >> and maybe other folks some time.  If for some reason I need to
> >> >> >>compile a
> >> >> >> >> Flash Builder project from the command-line or Ant or Java
> >> >>debugger,
> >> >> >>I
> >> >> >> >> don't have to remember to set the -output parameter.
> >> >> >> >>
> >> >> >> >> I used to get FB projects in JIRA and email and then unpack
> >>them
> >> >>and
> >> >> >> >> compile them outside of FB because then I can get the debugger
> >>on
> >> >> >>them
> >> >> >> >> more easily.  All of our examples are set up so you can compile
> >> >>them
> >> >> >> >>from
> >> >> >> >> the command line and not have to type the -output parameter.
> >>And
> >> >>if
> >> >> >>you
> >> >> >> >> make a mistake typing the output folder name, it ends up
> >>creating
> >> >>a
> >> >> >>new
> >> >> >> >> folder with that name.
> >> >> >> >>
> >> >> >> >> I'm not sure what you mean by generalizing.  Are you suggesting
> >> >> >>allowing
> >> >> >> >> folks to add more patterns to the set of folders where the
> >> >>compiler
> >> >> >>will
> >> >> >> >> chose the parent of the folder pattern?  I'm not sure how that
> >> >>solves
> >> >> >> >>the
> >> >> >> >> problem.  Seems like you'd still be surprised if you use
> >>"source"
> >> >>or
> >> >> >> >> something that isn't in the default list so a warning would
> >>still
> >> >> >>help,
> >> >> >> >> but if that's what you want to do, seems like it wouldn't hurt.
> >> >> >> >>
> >> >> >> >> My 2 cents,
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com>
> >>wrote:
> >> >> >> >>
> >> >> >> >> >I'm not sure that I understand why you mentioned changing
> >>Flash
> >> >> >> >>Builder's
> >> >> >> >> >default source path. That seems mostly tangential here.
> >> >> >> >> >
> >> >> >> >> >I'm saying that the compiler shouldn't care whether it's named
> >> >> >>"src",
> >> >> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
> >> >>default
> >> >> >>to
> >> >> >> >> >putting "bin" in the parent of that folder. A warning might
> >>be a
> >> >> >>good
> >> >> >> >> >temporary workaround, but generalizing this behavior is
> >> >> >>significantly
> >> >> >> >> >better, in my opinion.
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >wrote:
> >> >> >> >> >
> >> >> >> >> >> I think "src" is for Flash Builder.  I don't know what it
> >>would
> >> >> >>take
> >> >> >> >>to
> >> >> >> >> >> get FB to default to something else.  I know I have lots of
> >> >> >>projects
> >> >> >> >> >>with
> >> >> >> >> >> just a "src" folder.
> >> >> >> >> >>
> >> >> >> >> >> I agree it is confusing.  We could output a warning or
> >>error if
> >> >> >>you
> >> >> >> >> >> haven't specified -output, -js-output and don't have "src"
> >>or
> >> >> >> >> >> "src/main/flex" folders.  Something like "Warning: output
> >> >>folder
> >> >> >>not
> >> >> >> >> >> specified and src or src/main/flex folders not specified.
> >> >>Output
> >> >> >> >>will
> >> >> >> >> >>be
> >> >> >> >> >> in <name of output folder".
> >> >> >> >> >>
> >> >> >> >> >> Would that help eliminate confusion?  That's easy for
> >>someone
> >> >>to
> >> >> >>add
> >> >> >> >>to
> >> >> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >> >> >>
> >> >> >> >> >> Thoughts?
> >> >> >> >> >> -Alex
> >> >> >> >> >>
> >> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com>
> >> >>wrote:
> >> >> >> >> >>
> >> >> >> >> >> >I think I had some trouble trying to get -output to accept
> >>a
> >> >> >> >>directory
> >> >> >> >> >>for
> >> >> >> >> >> >a JS-only project, and that's when I figured out that
> >> >>-js-output
> >> >> >> >> >>exists.
> >> >> >> >> >> >Maybe I was doing something wrong at the time. Or maybe it
> >> >>didn't
> >> >> >> >>quite
> >> >> >> >> >> >work properly yet.
> >> >> >> >> >> >
> >> >> >> >> >> >Although, I still think it's confusing to those who don't
> >> >>realize
> >> >> >> >>that
> >> >> >> >> >> >"src" and "src/main/flex" get special treatment and then
> >>"bin"
> >> >> >>ends
> >> >> >> >>up
> >> >> >> >> >> >somewhere else if they happen to choose a different name
> >>for a
> >> >> >>new
> >> >> >> >> >> >project.
> >> >> >> >> >> >Between me and Santanu, that's two people who had to waste
> >> >>time
> >> >> >>on
> >> >> >> >> >> >figuring
> >> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I could
> >> >>live
> >> >> >> >> >>without it
> >> >> >> >> >> >being the current working directory if "bin" would simply
> >>go
> >> >>into
> >> >> >> >>the
> >> >> >> >> >> >parent directory of the directory containing the main
> >>class by
> >> >> >> >>default,
> >> >> >> >> >> >regardless of whether it's named "src" or not. If
> >> >> >>"src/main/flex" is
> >> >> >> >> >>the
> >> >> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >> >> >
> >> >> >> >> >> >- Josh
> >> >> >> >> >> >
> >> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >> >wrote:
> >> >> >> >> >> >
> >> >> >> >> >> >> And if you just use -output and not -js-output the bin
> >> >>folder
> >> >> >> >>will be
> >> >> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> >> >> -output=somefolder\somefile.swf the output will be in
> >> >> >> >> somefolder\bin.
> >> >> >> >> >> >>
> >> >> >> >> >> >> The logic is trying to say:
> >> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
> >>parent
> >> >> >>folder
> >> >> >> >>of
> >> >> >> >> >>the
> >> >> >> >> >> >> SWF
> >> >> >> >> >> >> 2) If you specify -output as a folder, we will use that
> >> >>folder
> >> >> >> >> >> >> 3) If you specify -js-output, we will use that
> >>regardless of
> >> >> >>what
> >> >> >> >>you
> >> >> >> >> >> >>used
> >> >> >> >> >> >> for -output
> >> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >> >> >> >>   A) If you have a src folder or src/main/flex folder we
> >> >>will
> >> >> >>use
> >> >> >> >>the
> >> >> >> >> >> >> parent of src
> >> >> >> >> >> >>   B) Otherwise we will use the parent folder of the main
> >> >>source
> >> >> >> >>file.
> >> >> >> >> >> >>
> >> >> >> >> >> >> I don't agree that CWD is the right default.  For me,
> >>I've
> >> >> >>always
> >> >> >> >> >>had a
> >> >> >> >> >> >> folder full of test cases and am not always changing
> >> >>folders.
> >> >> >>I
> >> >> >> >> >>think
> >> >> >> >> >> >>the
> >> >> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't
> >>want
> >> >>to
> >> >> >> >>change
> >> >> >> >> >> >>that
> >> >> >> >> >> >> pattern.
> >> >> >> >> >> >>
> >> >> >> >> >> >> 4A is just a convenience for those who follow certain
> >>common
> >> >> >> >> >>patterns so
> >> >> >> >> >> >> they don't have to do as much typing on the command line.
> >> >>It
> >> >> >> >>might
> >> >> >> >> >>also
> >> >> >> >> >> >> "do the right thing" for Flash Builder users.  I think
> >>Maven
> >> >> >> >>always
> >> >> >> >> >> >> specifies the output folder.
> >> >> >> >> >> >>
> >> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> >> -Alex
> >> >> >> >> >> >>
> >> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
> >><jo...@gmail.com>
> >> >> >>wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >> >> >> >>source/MyProject.as
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >- Josh
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >> >> >><pi...@gmail.com>
> >> >> >> >> >> >>wrote:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> >> >> So -js-output will be also the place where SWF file
> >>will
> >> >> >> >>landed?
> >> >> >> >> >>- If
> >> >> >> >> >> >> >>yes
> >> >> >> >> >> >> >> in
> >> >> >> >> >> >> >> that case this param could have different name.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> Thanks,
> >> >> >> >> >> >> >> Piotr
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> -----
> >> >> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> >> >> --
> >> >> >> >> >> >> >> View this message in context: http://apache-flex-
> >> >> >> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> >> >>
> >> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> >> >> Sent from the Apache Flex Development mailing list
> >> >>archive
> >> >> >>at
> >> >> >> >> >> >> >>Nabble.com.
> >> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
OK, sorry, I did miss that.  I thought you were the one who wanted the
output in the same folder, but I was mistaken.

Keep in mind that:

1) The SWF compiler (MXMLC for both the regular Flex SDK and FlexJS)
defaults to putting the output in the same folder.  So, if you have:

/projects/SomeProject/SomeProject.mxml

By default, the SWF is:

/projects/SomeProject/SomeProject.swf

2) I have another folder of projects that don't have src folders at all.
So before November 2016, when the default was as you propose it to be
again, the problem was this.  If I have two projects:

/projects/SomeProject/SomeProject.mxml
/projects/SomeOtherProject/SomeOtherProject/mxml

Compiling one overwrites the bin folder of the other in projects/bin.


IMO, there is "no right answer", so I now think that we should add a
configuration option like:

-outputFolderMap=src/main/flex,bin
-outputFolderMap+=.,../bin

Then folks can configure defaults any way they want.  The "." is the
special case for no matches with other patterns.  You have proposed the
default to be 


-outputFolderMap+=.,../bin


It is currently:

-outputFolderMap+=.,bin


AIUI, Maven actually specifies the equivalent of:

-outputFolderMap=src/main/flex,target

So folks who want to leverage that somehow could do so.


Thoughts?
-Alex


On 6/2/17, 7:33 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>You seem to be missing the most important part of my proposal. The
>compiler
>will put the "bin" directory in the parent of the main source folder,
>regardless of whether it's named "src", "source", "alex-is-cool" or *any*
>name whatsoever. I put some pseudo-code to explain that in one of my
>emails, but I guess you missed it. That's the main proposal. In addition
>to
>that, "src/main/flex" would still be a special exception because it's a
>more complex nested structure (otherwise, you'd get "src/main/bin"). I
>hope
>that makes it clear!
>
>- Josh
>
>On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> Maybe I don't understand your proposal.  Currently I think you can say
>> that there are exceptions for "src" and "src/main/flex".  AIUI, your
>> proposal is that only "src/main/flex" would be handled differently.
>>
>> -Alex
>>
>> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >Why would you need to stop and reconfigure all of those projects? With
>>the
>> >change that I suggested, all of your projects that use "src" would
>> >continue
>> >to work just fine with no changes required.
>> >
>> >Yes, I'm perfectly happy making any changes after this release.
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> Believe me, I am not worried about perfection here.
>> >>
>> >> I am saying that if we make changes, we should allow the set of
>>patterns
>> >> to be configurable so we don't have to change the compiler to add new
>> >> patterns.  I already have a large set of projects with only "src"
>>and I
>> >> would prefer not to have to stop and reconfigure all of those
>>projects.
>> >> When I have to debug into the compiling of a Flash Builder project,
>>it
>> >> will save me time to not have to remember to add the output folder.
>> >>
>> >> Having a config option would allow you to have what you want and for
>>me
>> >>to
>> >> have what I want.  Can we agree to add a config option, but maybe
>>after
>> >> this release?
>> >>
>> >> Thanks,
>> >> -Alex
>> >>
>> >>
>> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >If there are other nested source directory structures recommended as
>> >> >standard practice by opinionated tools, similar to how Maven use
>> >> >"src/main/flex", then sure, let's add them as we become aware of
>>them.
>> >> >
>> >> >"srcx/main/flex" would indeed not be solved by my recommended
>>change.
>> >> >However, "source", "srcx", or "whatever-i-want-to-call-it" would
>>all be
>> >> >solved, and I think a single directory with a different name than
>> >>"src" is
>> >> >vastly more common than another nested directory structure like
>> >> >"srcx/main/flex". At least from my experience looking at real world
>> >> >projects over the years. Let's not let perfection stop us from
>>making
>> >>an
>> >> >improvement that will reduce the time users spend on figuring out
>>why
>> >> >something isn't working as expected and contributors spend
>>explaining
>> >>why
>> >> >"src" is a special case when it doesn't need to be.
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> If we allow one exception, why not more than one?
>> >> >>
>> >> >> What if we add an "outputFolderExceptions" list and default it to
>> >>just
>> >> >> contain "src/main/flex".  Then I could add "src" in my SDK
>>installs
>> >>to
>> >> >>get
>> >> >> what I want.  Still not sure how it solves the original problem
>> >>though.
>> >> >> If someone has a src/main/flex pattern and changes it to
>> >>srcx/main/flex
>> >> >> seems like they will still be surprised.
>> >> >>
>> >> >> -Alex
>> >> >>
>> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >If we do as I suggest, there would no longer be a list of
>>patterns.
>> >>I
>> >> >>want
>> >> >> >to allow *any* folder name. That's what I mean by generalizing.
>>Just
>> >> >> >automatically put the "bin" directory relative to the parent
>> >>directory
>> >> >>of
>> >> >> >the main source file. (with one exception: Maven-style project
>> >> >>structures
>> >> >> >with src/main/flex would still be a special case).
>> >> >> >
>> >> >> >Right now, if you compile like this...
>> >> >> >
>> >> >> >mxmlc src/MyProject.mxml
>> >> >> >
>> >> >> >...you get a "bin" directory in the same parent directory as
>>"src".
>> >> >> >
>> >> >> >I want to allow you to use ANY name instead of "src" too, like
>>this:
>> >> >> >
>> >> >> >mxmlc source/MyProject.mxml
>> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >> >> >
>> >> >> >... and still get a "bin" directory relative to "source" or
>> >> >> >"whatever-i-want-to-call-it". Replace "source" or
>> >> >> >"whatever-i-want-to-call-it" with *any* folder name at random,
>>and I
>> >> >>want
>> >> >> >it to just work.
>> >> >> >
>> >> >> >The compiler would do something similar to this pseudo-code:
>> >> >> >
>> >> >> >File mainClass = new
>> >> >>
>> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
>> >> >> >File bin = mainClass.getParent().getParent().resolve("bin");
>> >> >> >
>> >> >> >You'd get /path/to/MyProject/bin/
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> I just want to optimize for a couple of common cases in order
>>to
>> >> >>save me
>> >> >> >> and maybe other folks some time.  If for some reason I need to
>> >> >>compile a
>> >> >> >> Flash Builder project from the command-line or Ant or Java
>> >>debugger,
>> >> >>I
>> >> >> >> don't have to remember to set the -output parameter.
>> >> >> >>
>> >> >> >> I used to get FB projects in JIRA and email and then unpack
>>them
>> >>and
>> >> >> >> compile them outside of FB because then I can get the debugger
>>on
>> >> >>them
>> >> >> >> more easily.  All of our examples are set up so you can compile
>> >>them
>> >> >> >>from
>> >> >> >> the command line and not have to type the -output parameter.
>>And
>> >>if
>> >> >>you
>> >> >> >> make a mistake typing the output folder name, it ends up
>>creating
>> >>a
>> >> >>new
>> >> >> >> folder with that name.
>> >> >> >>
>> >> >> >> I'm not sure what you mean by generalizing.  Are you suggesting
>> >> >>allowing
>> >> >> >> folks to add more patterns to the set of folders where the
>> >>compiler
>> >> >>will
>> >> >> >> chose the parent of the folder pattern?  I'm not sure how that
>> >>solves
>> >> >> >>the
>> >> >> >> problem.  Seems like you'd still be surprised if you use
>>"source"
>> >>or
>> >> >> >> something that isn't in the default list so a warning would
>>still
>> >> >>help,
>> >> >> >> but if that's what you want to do, seems like it wouldn't hurt.
>> >> >> >>
>> >> >> >> My 2 cents,
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >>
>> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com>
>>wrote:
>> >> >> >>
>> >> >> >> >I'm not sure that I understand why you mentioned changing
>>Flash
>> >> >> >>Builder's
>> >> >> >> >default source path. That seems mostly tangential here.
>> >> >> >> >
>> >> >> >> >I'm saying that the compiler shouldn't care whether it's named
>> >> >>"src",
>> >> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
>> >>default
>> >> >>to
>> >> >> >> >putting "bin" in the parent of that folder. A warning might
>>be a
>> >> >>good
>> >> >> >> >temporary workaround, but generalizing this behavior is
>> >> >>significantly
>> >> >> >> >better, in my opinion.
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>> >> >><ah...@adobe.com.invalid>
>> >> >> >> >wrote:
>> >> >> >> >
>> >> >> >> >> I think "src" is for Flash Builder.  I don't know what it
>>would
>> >> >>take
>> >> >> >>to
>> >> >> >> >> get FB to default to something else.  I know I have lots of
>> >> >>projects
>> >> >> >> >>with
>> >> >> >> >> just a "src" folder.
>> >> >> >> >>
>> >> >> >> >> I agree it is confusing.  We could output a warning or
>>error if
>> >> >>you
>> >> >> >> >> haven't specified -output, -js-output and don't have "src"
>>or
>> >> >> >> >> "src/main/flex" folders.  Something like "Warning: output
>> >>folder
>> >> >>not
>> >> >> >> >> specified and src or src/main/flex folders not specified.
>> >>Output
>> >> >> >>will
>> >> >> >> >>be
>> >> >> >> >> in <name of output folder".
>> >> >> >> >>
>> >> >> >> >> Would that help eliminate confusion?  That's easy for
>>someone
>> >>to
>> >> >>add
>> >> >> >>to
>> >> >> >> >> MXMLFlexJSPublisher.java.
>> >> >> >> >>
>> >> >> >> >> Thoughts?
>> >> >> >> >> -Alex
>> >> >> >> >>
>> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com>
>> >>wrote:
>> >> >> >> >>
>> >> >> >> >> >I think I had some trouble trying to get -output to accept
>>a
>> >> >> >>directory
>> >> >> >> >>for
>> >> >> >> >> >a JS-only project, and that's when I figured out that
>> >>-js-output
>> >> >> >> >>exists.
>> >> >> >> >> >Maybe I was doing something wrong at the time. Or maybe it
>> >>didn't
>> >> >> >>quite
>> >> >> >> >> >work properly yet.
>> >> >> >> >> >
>> >> >> >> >> >Although, I still think it's confusing to those who don't
>> >>realize
>> >> >> >>that
>> >> >> >> >> >"src" and "src/main/flex" get special treatment and then
>>"bin"
>> >> >>ends
>> >> >> >>up
>> >> >> >> >> >somewhere else if they happen to choose a different name
>>for a
>> >> >>new
>> >> >> >> >> >project.
>> >> >> >> >> >Between me and Santanu, that's two people who had to waste
>> >>time
>> >> >>on
>> >> >> >> >> >figuring
>> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I could
>> >>live
>> >> >> >> >>without it
>> >> >> >> >> >being the current working directory if "bin" would simply
>>go
>> >>into
>> >> >> >>the
>> >> >> >> >> >parent directory of the directory containing the main
>>class by
>> >> >> >>default,
>> >> >> >> >> >regardless of whether it's named "src" or not. If
>> >> >>"src/main/flex" is
>> >> >> >> >>the
>> >> >> >> >> >only special case, that's better, in my opinion.
>> >> >> >> >> >
>> >> >> >> >> >- Josh
>> >> >> >> >> >
>> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >> >> >><ah...@adobe.com.invalid>
>> >> >> >> >> >wrote:
>> >> >> >> >> >
>> >> >> >> >> >> And if you just use -output and not -js-output the bin
>> >>folder
>> >> >> >>will be
>> >> >> >> >> >> where you specified -output, and if you specify
>> >> >> >> >> >> -output=somefolder\somefile.swf the output will be in
>> >> >> >> somefolder\bin.
>> >> >> >> >> >>
>> >> >> >> >> >> The logic is trying to say:
>> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the
>>parent
>> >> >>folder
>> >> >> >>of
>> >> >> >> >>the
>> >> >> >> >> >> SWF
>> >> >> >> >> >> 2) If you specify -output as a folder, we will use that
>> >>folder
>> >> >> >> >> >> 3) If you specify -js-output, we will use that
>>regardless of
>> >> >>what
>> >> >> >>you
>> >> >> >> >> >>used
>> >> >> >> >> >> for -output
>> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
>> >> >> >> >> >>   A) If you have a src folder or src/main/flex folder we
>> >>will
>> >> >>use
>> >> >> >>the
>> >> >> >> >> >> parent of src
>> >> >> >> >> >>   B) Otherwise we will use the parent folder of the main
>> >>source
>> >> >> >>file.
>> >> >> >> >> >>
>> >> >> >> >> >> I don't agree that CWD is the right default.  For me,
>>I've
>> >> >>always
>> >> >> >> >>had a
>> >> >> >> >> >> folder full of test cases and am not always changing
>> >>folders.
>> >> >>I
>> >> >> >> >>think
>> >> >> >> >> >>the
>> >> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't
>>want
>> >>to
>> >> >> >>change
>> >> >> >> >> >>that
>> >> >> >> >> >> pattern.
>> >> >> >> >> >>
>> >> >> >> >> >> 4A is just a convenience for those who follow certain
>>common
>> >> >> >> >>patterns so
>> >> >> >> >> >> they don't have to do as much typing on the command line.
>> >>It
>> >> >> >>might
>> >> >> >> >>also
>> >> >> >> >> >> "do the right thing" for Flash Builder users.  I think
>>Maven
>> >> >> >>always
>> >> >> >> >> >> specifies the output folder.
>> >> >> >> >> >>
>> >> >> >> >> >> My 2 cents,
>> >> >> >> >> >> -Alex
>> >> >> >> >> >>
>> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala"
>><jo...@gmail.com>
>> >> >>wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> >In that case, the SWF will use the -output option:
>> >> >> >> >> >> >
>> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>> >> >> >>source/MyProject.as
>> >> >> >> >> >> >
>> >> >> >> >> >> >- Josh
>> >> >> >> >> >> >
>> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >> >> >><pi...@gmail.com>
>> >> >> >> >> >>wrote:
>> >> >> >> >> >> >
>> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> >> >> So -js-output will be also the place where SWF file
>>will
>> >> >> >>landed?
>> >> >> >> >>- If
>> >> >> >> >> >> >>yes
>> >> >> >> >> >> >> in
>> >> >> >> >> >> >> that case this param could have different name.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Thanks,
>> >> >> >> >> >> >> Piotr
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> -----
>> >> >> >> >> >> >> Apache Flex PMC
>> >> >> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> >> >> --
>> >> >> >> >> >> >> View this message in context: http://apache-flex-
>> >> >> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> >> >>
>> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> >> >> Sent from the Apache Flex Development mailing list
>> >>archive
>> >> >>at
>> >> >> >> >> >> >>Nabble.com.
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
You seem to be missing the most important part of my proposal. The compiler
will put the "bin" directory in the parent of the main source folder,
regardless of whether it's named "src", "source", "alex-is-cool" or *any*
name whatsoever. I put some pseudo-code to explain that in one of my
emails, but I guess you missed it. That's the main proposal. In addition to
that, "src/main/flex" would still be a special exception because it's a
more complex nested structure (otherwise, you'd get "src/main/bin"). I hope
that makes it clear!

- Josh

On Thu, Jun 1, 2017 at 10:39 PM, Alex Harui <ah...@adobe.com.invalid>
wrote:

> Maybe I don't understand your proposal.  Currently I think you can say
> that there are exceptions for "src" and "src/main/flex".  AIUI, your
> proposal is that only "src/main/flex" would be handled differently.
>
> -Alex
>
> On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >Why would you need to stop and reconfigure all of those projects? With the
> >change that I suggested, all of your projects that use "src" would
> >continue
> >to work just fine with no changes required.
> >
> >Yes, I'm perfectly happy making any changes after this release.
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> Believe me, I am not worried about perfection here.
> >>
> >> I am saying that if we make changes, we should allow the set of patterns
> >> to be configurable so we don't have to change the compiler to add new
> >> patterns.  I already have a large set of projects with only "src" and I
> >> would prefer not to have to stop and reconfigure all of those projects.
> >> When I have to debug into the compiling of a Flash Builder project, it
> >> will save me time to not have to remember to add the output folder.
> >>
> >> Having a config option would allow you to have what you want and for me
> >>to
> >> have what I want.  Can we agree to add a config option, but maybe after
> >> this release?
> >>
> >> Thanks,
> >> -Alex
> >>
> >>
> >> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >If there are other nested source directory structures recommended as
> >> >standard practice by opinionated tools, similar to how Maven use
> >> >"src/main/flex", then sure, let's add them as we become aware of them.
> >> >
> >> >"srcx/main/flex" would indeed not be solved by my recommended change.
> >> >However, "source", "srcx", or "whatever-i-want-to-call-it" would all be
> >> >solved, and I think a single directory with a different name than
> >>"src" is
> >> >vastly more common than another nested directory structure like
> >> >"srcx/main/flex". At least from my experience looking at real world
> >> >projects over the years. Let's not let perfection stop us from making
> >>an
> >> >improvement that will reduce the time users spend on figuring out why
> >> >something isn't working as expected and contributors spend explaining
> >>why
> >> >"src" is a special case when it doesn't need to be.
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> If we allow one exception, why not more than one?
> >> >>
> >> >> What if we add an "outputFolderExceptions" list and default it to
> >>just
> >> >> contain "src/main/flex".  Then I could add "src" in my SDK installs
> >>to
> >> >>get
> >> >> what I want.  Still not sure how it solves the original problem
> >>though.
> >> >> If someone has a src/main/flex pattern and changes it to
> >>srcx/main/flex
> >> >> seems like they will still be surprised.
> >> >>
> >> >> -Alex
> >> >>
> >> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >If we do as I suggest, there would no longer be a list of patterns.
> >>I
> >> >>want
> >> >> >to allow *any* folder name. That's what I mean by generalizing. Just
> >> >> >automatically put the "bin" directory relative to the parent
> >>directory
> >> >>of
> >> >> >the main source file. (with one exception: Maven-style project
> >> >>structures
> >> >> >with src/main/flex would still be a special case).
> >> >> >
> >> >> >Right now, if you compile like this...
> >> >> >
> >> >> >mxmlc src/MyProject.mxml
> >> >> >
> >> >> >...you get a "bin" directory in the same parent directory as "src".
> >> >> >
> >> >> >I want to allow you to use ANY name instead of "src" too, like this:
> >> >> >
> >> >> >mxmlc source/MyProject.mxml
> >> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >> >
> >> >> >... and still get a "bin" directory relative to "source" or
> >> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >> >"whatever-i-want-to-call-it" with *any* folder name at random, and I
> >> >>want
> >> >> >it to just work.
> >> >> >
> >> >> >The compiler would do something similar to this pseudo-code:
> >> >> >
> >> >> >File mainClass = new
> >> >>
> >>>File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
> >> >> >File bin = mainClass.getParent().getParent().resolve("bin");
> >> >> >
> >> >> >You'd get /path/to/MyProject/bin/
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> I just want to optimize for a couple of common cases in order to
> >> >>save me
> >> >> >> and maybe other folks some time.  If for some reason I need to
> >> >>compile a
> >> >> >> Flash Builder project from the command-line or Ant or Java
> >>debugger,
> >> >>I
> >> >> >> don't have to remember to set the -output parameter.
> >> >> >>
> >> >> >> I used to get FB projects in JIRA and email and then unpack them
> >>and
> >> >> >> compile them outside of FB because then I can get the debugger on
> >> >>them
> >> >> >> more easily.  All of our examples are set up so you can compile
> >>them
> >> >> >>from
> >> >> >> the command line and not have to type the -output parameter.  And
> >>if
> >> >>you
> >> >> >> make a mistake typing the output folder name, it ends up creating
> >>a
> >> >>new
> >> >> >> folder with that name.
> >> >> >>
> >> >> >> I'm not sure what you mean by generalizing.  Are you suggesting
> >> >>allowing
> >> >> >> folks to add more patterns to the set of folders where the
> >>compiler
> >> >>will
> >> >> >> chose the parent of the folder pattern?  I'm not sure how that
> >>solves
> >> >> >>the
> >> >> >> problem.  Seems like you'd still be surprised if you use "source"
> >>or
> >> >> >> something that isn't in the default list so a warning would still
> >> >>help,
> >> >> >> but if that's what you want to do, seems like it wouldn't hurt.
> >> >> >>
> >> >> >> My 2 cents,
> >> >> >> -Alex
> >> >> >>
> >> >> >>
> >> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >> >>
> >> >> >> >I'm not sure that I understand why you mentioned changing Flash
> >> >> >>Builder's
> >> >> >> >default source path. That seems mostly tangential here.
> >> >> >> >
> >> >> >> >I'm saying that the compiler shouldn't care whether it's named
> >> >>"src",
> >> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
> >>default
> >> >>to
> >> >> >> >putting "bin" in the parent of that folder. A warning might be a
> >> >>good
> >> >> >> >temporary workaround, but generalizing this behavior is
> >> >>significantly
> >> >> >> >better, in my opinion.
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> I think "src" is for Flash Builder.  I don't know what it would
> >> >>take
> >> >> >>to
> >> >> >> >> get FB to default to something else.  I know I have lots of
> >> >>projects
> >> >> >> >>with
> >> >> >> >> just a "src" folder.
> >> >> >> >>
> >> >> >> >> I agree it is confusing.  We could output a warning or error if
> >> >>you
> >> >> >> >> haven't specified -output, -js-output and don't have "src" or
> >> >> >> >> "src/main/flex" folders.  Something like "Warning: output
> >>folder
> >> >>not
> >> >> >> >> specified and src or src/main/flex folders not specified.
> >>Output
> >> >> >>will
> >> >> >> >>be
> >> >> >> >> in <name of output folder".
> >> >> >> >>
> >> >> >> >> Would that help eliminate confusion?  That's easy for someone
> >>to
> >> >>add
> >> >> >>to
> >> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >> >>
> >> >> >> >> Thoughts?
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com>
> >>wrote:
> >> >> >> >>
> >> >> >> >> >I think I had some trouble trying to get -output to accept a
> >> >> >>directory
> >> >> >> >>for
> >> >> >> >> >a JS-only project, and that's when I figured out that
> >>-js-output
> >> >> >> >>exists.
> >> >> >> >> >Maybe I was doing something wrong at the time. Or maybe it
> >>didn't
> >> >> >>quite
> >> >> >> >> >work properly yet.
> >> >> >> >> >
> >> >> >> >> >Although, I still think it's confusing to those who don't
> >>realize
> >> >> >>that
> >> >> >> >> >"src" and "src/main/flex" get special treatment and then "bin"
> >> >>ends
> >> >> >>up
> >> >> >> >> >somewhere else if they happen to choose a different name for a
> >> >>new
> >> >> >> >> >project.
> >> >> >> >> >Between me and Santanu, that's two people who had to waste
> >>time
> >> >>on
> >> >> >> >> >figuring
> >> >> >> >> >out why "bin" ended up somewhere we didn't expect. I could
> >>live
> >> >> >> >>without it
> >> >> >> >> >being the current working directory if "bin" would simply go
> >>into
> >> >> >>the
> >> >> >> >> >parent directory of the directory containing the main class by
> >> >> >>default,
> >> >> >> >> >regardless of whether it's named "src" or not. If
> >> >>"src/main/flex" is
> >> >> >> >>the
> >> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >> >><ah...@adobe.com.invalid>
> >> >> >> >> >wrote:
> >> >> >> >> >
> >> >> >> >> >> And if you just use -output and not -js-output the bin
> >>folder
> >> >> >>will be
> >> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> >> -output=somefolder\somefile.swf the output will be in
> >> >> >> somefolder\bin.
> >> >> >> >> >>
> >> >> >> >> >> The logic is trying to say:
> >> >> >> >> >> 1) If you specify -output as a SWF, we will use the parent
> >> >>folder
> >> >> >>of
> >> >> >> >>the
> >> >> >> >> >> SWF
> >> >> >> >> >> 2) If you specify -output as a folder, we will use that
> >>folder
> >> >> >> >> >> 3) If you specify -js-output, we will use that regardless of
> >> >>what
> >> >> >>you
> >> >> >> >> >>used
> >> >> >> >> >> for -output
> >> >> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >> >> >>   A) If you have a src folder or src/main/flex folder we
> >>will
> >> >>use
> >> >> >>the
> >> >> >> >> >> parent of src
> >> >> >> >> >>   B) Otherwise we will use the parent folder of the main
> >>source
> >> >> >>file.
> >> >> >> >> >>
> >> >> >> >> >> I don't agree that CWD is the right default.  For me, I've
> >> >>always
> >> >> >> >>had a
> >> >> >> >> >> folder full of test cases and am not always changing
> >>folders.
> >> >>I
> >> >> >> >>think
> >> >> >> >> >>the
> >> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't want
> >>to
> >> >> >>change
> >> >> >> >> >>that
> >> >> >> >> >> pattern.
> >> >> >> >> >>
> >> >> >> >> >> 4A is just a convenience for those who follow certain common
> >> >> >> >>patterns so
> >> >> >> >> >> they don't have to do as much typing on the command line.
> >>It
> >> >> >>might
> >> >> >> >>also
> >> >> >> >> >> "do the right thing" for Flash Builder users.  I think Maven
> >> >> >>always
> >> >> >> >> >> specifies the output folder.
> >> >> >> >> >>
> >> >> >> >> >> My 2 cents,
> >> >> >> >> >> -Alex
> >> >> >> >> >>
> >> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com>
> >> >>wrote:
> >> >> >> >> >>
> >> >> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >> >> >
> >> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >> >> >>source/MyProject.as
> >> >> >> >> >> >
> >> >> >> >> >> >- Josh
> >> >> >> >> >> >
> >> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >> >><pi...@gmail.com>
> >> >> >> >> >>wrote:
> >> >> >> >> >> >
> >> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> >> So -js-output will be also the place where SWF file will
> >> >> >>landed?
> >> >> >> >>- If
> >> >> >> >> >> >>yes
> >> >> >> >> >> >> in
> >> >> >> >> >> >> that case this param could have different name.
> >> >> >> >> >> >>
> >> >> >> >> >> >> Thanks,
> >> >> >> >> >> >> Piotr
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> -----
> >> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> >> --
> >> >> >> >> >> >> View this message in context: http://apache-flex-
> >> >> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> >>
> >>compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> >> Sent from the Apache Flex Development mailing list
> >>archive
> >> >>at
> >> >> >> >> >> >>Nabble.com.
> >> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Maybe I don't understand your proposal.  Currently I think you can say
that there are exceptions for "src" and "src/main/flex".  AIUI, your
proposal is that only "src/main/flex" would be handled differently.

-Alex

On 6/1/17, 12:13 PM, "Josh Tynjala" <jo...@gmail.com> wrote:

>Why would you need to stop and reconfigure all of those projects? With the
>change that I suggested, all of your projects that use "src" would
>continue
>to work just fine with no changes required.
>
>Yes, I'm perfectly happy making any changes after this release.
>
>- Josh
>
>On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> Believe me, I am not worried about perfection here.
>>
>> I am saying that if we make changes, we should allow the set of patterns
>> to be configurable so we don't have to change the compiler to add new
>> patterns.  I already have a large set of projects with only "src" and I
>> would prefer not to have to stop and reconfigure all of those projects.
>> When I have to debug into the compiling of a Flash Builder project, it
>> will save me time to not have to remember to add the output folder.
>>
>> Having a config option would allow you to have what you want and for me
>>to
>> have what I want.  Can we agree to add a config option, but maybe after
>> this release?
>>
>> Thanks,
>> -Alex
>>
>>
>> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >If there are other nested source directory structures recommended as
>> >standard practice by opinionated tools, similar to how Maven use
>> >"src/main/flex", then sure, let's add them as we become aware of them.
>> >
>> >"srcx/main/flex" would indeed not be solved by my recommended change.
>> >However, "source", "srcx", or "whatever-i-want-to-call-it" would all be
>> >solved, and I think a single directory with a different name than
>>"src" is
>> >vastly more common than another nested directory structure like
>> >"srcx/main/flex". At least from my experience looking at real world
>> >projects over the years. Let's not let perfection stop us from making
>>an
>> >improvement that will reduce the time users spend on figuring out why
>> >something isn't working as expected and contributors spend explaining
>>why
>> >"src" is a special case when it doesn't need to be.
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> If we allow one exception, why not more than one?
>> >>
>> >> What if we add an "outputFolderExceptions" list and default it to
>>just
>> >> contain "src/main/flex".  Then I could add "src" in my SDK installs
>>to
>> >>get
>> >> what I want.  Still not sure how it solves the original problem
>>though.
>> >> If someone has a src/main/flex pattern and changes it to
>>srcx/main/flex
>> >> seems like they will still be surprised.
>> >>
>> >> -Alex
>> >>
>> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >If we do as I suggest, there would no longer be a list of patterns.
>>I
>> >>want
>> >> >to allow *any* folder name. That's what I mean by generalizing. Just
>> >> >automatically put the "bin" directory relative to the parent
>>directory
>> >>of
>> >> >the main source file. (with one exception: Maven-style project
>> >>structures
>> >> >with src/main/flex would still be a special case).
>> >> >
>> >> >Right now, if you compile like this...
>> >> >
>> >> >mxmlc src/MyProject.mxml
>> >> >
>> >> >...you get a "bin" directory in the same parent directory as "src".
>> >> >
>> >> >I want to allow you to use ANY name instead of "src" too, like this:
>> >> >
>> >> >mxmlc source/MyProject.mxml
>> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >> >
>> >> >... and still get a "bin" directory relative to "source" or
>> >> >"whatever-i-want-to-call-it". Replace "source" or
>> >> >"whatever-i-want-to-call-it" with *any* folder name at random, and I
>> >>want
>> >> >it to just work.
>> >> >
>> >> >The compiler would do something similar to this pseudo-code:
>> >> >
>> >> >File mainClass = new
>> >> 
>>>File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
>> >> >File bin = mainClass.getParent().getParent().resolve("bin");
>> >> >
>> >> >You'd get /path/to/MyProject/bin/
>> >> >
>> >> >- Josh
>> >> >
>> >> >
>> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> I just want to optimize for a couple of common cases in order to
>> >>save me
>> >> >> and maybe other folks some time.  If for some reason I need to
>> >>compile a
>> >> >> Flash Builder project from the command-line or Ant or Java
>>debugger,
>> >>I
>> >> >> don't have to remember to set the -output parameter.
>> >> >>
>> >> >> I used to get FB projects in JIRA and email and then unpack them
>>and
>> >> >> compile them outside of FB because then I can get the debugger on
>> >>them
>> >> >> more easily.  All of our examples are set up so you can compile
>>them
>> >> >>from
>> >> >> the command line and not have to type the -output parameter.  And
>>if
>> >>you
>> >> >> make a mistake typing the output folder name, it ends up creating
>>a
>> >>new
>> >> >> folder with that name.
>> >> >>
>> >> >> I'm not sure what you mean by generalizing.  Are you suggesting
>> >>allowing
>> >> >> folks to add more patterns to the set of folders where the
>>compiler
>> >>will
>> >> >> chose the parent of the folder pattern?  I'm not sure how that
>>solves
>> >> >>the
>> >> >> problem.  Seems like you'd still be surprised if you use "source"
>>or
>> >> >> something that isn't in the default list so a warning would still
>> >>help,
>> >> >> but if that's what you want to do, seems like it wouldn't hurt.
>> >> >>
>> >> >> My 2 cents,
>> >> >> -Alex
>> >> >>
>> >> >>
>> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >I'm not sure that I understand why you mentioned changing Flash
>> >> >>Builder's
>> >> >> >default source path. That seems mostly tangential here.
>> >> >> >
>> >> >> >I'm saying that the compiler shouldn't care whether it's named
>> >>"src",
>> >> >> >"source", or "whatever-i-want-to-call-it". It should simply
>>default
>> >>to
>> >> >> >putting "bin" in the parent of that folder. A warning might be a
>> >>good
>> >> >> >temporary workaround, but generalizing this behavior is
>> >>significantly
>> >> >> >better, in my opinion.
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> I think "src" is for Flash Builder.  I don't know what it would
>> >>take
>> >> >>to
>> >> >> >> get FB to default to something else.  I know I have lots of
>> >>projects
>> >> >> >>with
>> >> >> >> just a "src" folder.
>> >> >> >>
>> >> >> >> I agree it is confusing.  We could output a warning or error if
>> >>you
>> >> >> >> haven't specified -output, -js-output and don't have "src" or
>> >> >> >> "src/main/flex" folders.  Something like "Warning: output
>>folder
>> >>not
>> >> >> >> specified and src or src/main/flex folders not specified.
>>Output
>> >> >>will
>> >> >> >>be
>> >> >> >> in <name of output folder".
>> >> >> >>
>> >> >> >> Would that help eliminate confusion?  That's easy for someone
>>to
>> >>add
>> >> >>to
>> >> >> >> MXMLFlexJSPublisher.java.
>> >> >> >>
>> >> >> >> Thoughts?
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com>
>>wrote:
>> >> >> >>
>> >> >> >> >I think I had some trouble trying to get -output to accept a
>> >> >>directory
>> >> >> >>for
>> >> >> >> >a JS-only project, and that's when I figured out that
>>-js-output
>> >> >> >>exists.
>> >> >> >> >Maybe I was doing something wrong at the time. Or maybe it
>>didn't
>> >> >>quite
>> >> >> >> >work properly yet.
>> >> >> >> >
>> >> >> >> >Although, I still think it's confusing to those who don't
>>realize
>> >> >>that
>> >> >> >> >"src" and "src/main/flex" get special treatment and then "bin"
>> >>ends
>> >> >>up
>> >> >> >> >somewhere else if they happen to choose a different name for a
>> >>new
>> >> >> >> >project.
>> >> >> >> >Between me and Santanu, that's two people who had to waste
>>time
>> >>on
>> >> >> >> >figuring
>> >> >> >> >out why "bin" ended up somewhere we didn't expect. I could
>>live
>> >> >> >>without it
>> >> >> >> >being the current working directory if "bin" would simply go
>>into
>> >> >>the
>> >> >> >> >parent directory of the directory containing the main class by
>> >> >>default,
>> >> >> >> >regardless of whether it's named "src" or not. If
>> >>"src/main/flex" is
>> >> >> >>the
>> >> >> >> >only special case, that's better, in my opinion.
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >> >><ah...@adobe.com.invalid>
>> >> >> >> >wrote:
>> >> >> >> >
>> >> >> >> >> And if you just use -output and not -js-output the bin
>>folder
>> >> >>will be
>> >> >> >> >> where you specified -output, and if you specify
>> >> >> >> >> -output=somefolder\somefile.swf the output will be in
>> >> >> somefolder\bin.
>> >> >> >> >>
>> >> >> >> >> The logic is trying to say:
>> >> >> >> >> 1) If you specify -output as a SWF, we will use the parent
>> >>folder
>> >> >>of
>> >> >> >>the
>> >> >> >> >> SWF
>> >> >> >> >> 2) If you specify -output as a folder, we will use that
>>folder
>> >> >> >> >> 3) If you specify -js-output, we will use that regardless of
>> >>what
>> >> >>you
>> >> >> >> >>used
>> >> >> >> >> for -output
>> >> >> >> >> 4) If you didn't specify -output or -js-output then
>> >> >> >> >>   A) If you have a src folder or src/main/flex folder we
>>will
>> >>use
>> >> >>the
>> >> >> >> >> parent of src
>> >> >> >> >>   B) Otherwise we will use the parent folder of the main
>>source
>> >> >>file.
>> >> >> >> >>
>> >> >> >> >> I don't agree that CWD is the right default.  For me, I've
>> >>always
>> >> >> >>had a
>> >> >> >> >> folder full of test cases and am not always changing
>>folders.
>> >>I
>> >> >> >>think
>> >> >> >> >>the
>> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't want
>>to
>> >> >>change
>> >> >> >> >>that
>> >> >> >> >> pattern.
>> >> >> >> >>
>> >> >> >> >> 4A is just a convenience for those who follow certain common
>> >> >> >>patterns so
>> >> >> >> >> they don't have to do as much typing on the command line.
>>It
>> >> >>might
>> >> >> >>also
>> >> >> >> >> "do the right thing" for Flash Builder users.  I think Maven
>> >> >>always
>> >> >> >> >> specifies the output folder.
>> >> >> >> >>
>> >> >> >> >> My 2 cents,
>> >> >> >> >> -Alex
>> >> >> >> >>
>> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com>
>> >>wrote:
>> >> >> >> >>
>> >> >> >> >> >In that case, the SWF will use the -output option:
>> >> >> >> >> >
>> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>> >> >>source/MyProject.as
>> >> >> >> >> >
>> >> >> >> >> >- Josh
>> >> >> >> >> >
>> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >> >><pi...@gmail.com>
>> >> >> >> >>wrote:
>> >> >> >> >> >
>> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> >> So -js-output will be also the place where SWF file will
>> >> >>landed?
>> >> >> >>- If
>> >> >> >> >> >>yes
>> >> >> >> >> >> in
>> >> >> >> >> >> that case this param could have different name.
>> >> >> >> >> >>
>> >> >> >> >> >> Thanks,
>> >> >> >> >> >> Piotr
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> -----
>> >> >> >> >> >> Apache Flex PMC
>> >> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> >> --
>> >> >> >> >> >> View this message in context: http://apache-flex-
>> >> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> >> 
>>compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> >> Sent from the Apache Flex Development mailing list
>>archive
>> >>at
>> >> >> >> >> >>Nabble.com.
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
Why would you need to stop and reconfigure all of those projects? With the
change that I suggested, all of your projects that use "src" would continue
to work just fine with no changes required.

Yes, I'm perfectly happy making any changes after this release.

- Josh

On Thu, Jun 1, 2017 at 12:05 PM, Alex Harui <ah...@adobe.com.invalid>
wrote:

> Believe me, I am not worried about perfection here.
>
> I am saying that if we make changes, we should allow the set of patterns
> to be configurable so we don't have to change the compiler to add new
> patterns.  I already have a large set of projects with only "src" and I
> would prefer not to have to stop and reconfigure all of those projects.
> When I have to debug into the compiling of a Flash Builder project, it
> will save me time to not have to remember to add the output folder.
>
> Having a config option would allow you to have what you want and for me to
> have what I want.  Can we agree to add a config option, but maybe after
> this release?
>
> Thanks,
> -Alex
>
>
> On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >If there are other nested source directory structures recommended as
> >standard practice by opinionated tools, similar to how Maven use
> >"src/main/flex", then sure, let's add them as we become aware of them.
> >
> >"srcx/main/flex" would indeed not be solved by my recommended change.
> >However, "source", "srcx", or "whatever-i-want-to-call-it" would all be
> >solved, and I think a single directory with a different name than "src" is
> >vastly more common than another nested directory structure like
> >"srcx/main/flex". At least from my experience looking at real world
> >projects over the years. Let's not let perfection stop us from making an
> >improvement that will reduce the time users spend on figuring out why
> >something isn't working as expected and contributors spend explaining why
> >"src" is a special case when it doesn't need to be.
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> If we allow one exception, why not more than one?
> >>
> >> What if we add an "outputFolderExceptions" list and default it to just
> >> contain "src/main/flex".  Then I could add "src" in my SDK installs to
> >>get
> >> what I want.  Still not sure how it solves the original problem though.
> >> If someone has a src/main/flex pattern and changes it to srcx/main/flex
> >> seems like they will still be surprised.
> >>
> >> -Alex
> >>
> >> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >If we do as I suggest, there would no longer be a list of patterns. I
> >>want
> >> >to allow *any* folder name. That's what I mean by generalizing. Just
> >> >automatically put the "bin" directory relative to the parent directory
> >>of
> >> >the main source file. (with one exception: Maven-style project
> >>structures
> >> >with src/main/flex would still be a special case).
> >> >
> >> >Right now, if you compile like this...
> >> >
> >> >mxmlc src/MyProject.mxml
> >> >
> >> >...you get a "bin" directory in the same parent directory as "src".
> >> >
> >> >I want to allow you to use ANY name instead of "src" too, like this:
> >> >
> >> >mxmlc source/MyProject.mxml
> >> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >> >
> >> >... and still get a "bin" directory relative to "source" or
> >> >"whatever-i-want-to-call-it". Replace "source" or
> >> >"whatever-i-want-to-call-it" with *any* folder name at random, and I
> >>want
> >> >it to just work.
> >> >
> >> >The compiler would do something similar to this pseudo-code:
> >> >
> >> >File mainClass = new
> >> >File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
> >> >File bin = mainClass.getParent().getParent().resolve("bin");
> >> >
> >> >You'd get /path/to/MyProject/bin/
> >> >
> >> >- Josh
> >> >
> >> >
> >> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> I just want to optimize for a couple of common cases in order to
> >>save me
> >> >> and maybe other folks some time.  If for some reason I need to
> >>compile a
> >> >> Flash Builder project from the command-line or Ant or Java debugger,
> >>I
> >> >> don't have to remember to set the -output parameter.
> >> >>
> >> >> I used to get FB projects in JIRA and email and then unpack them and
> >> >> compile them outside of FB because then I can get the debugger on
> >>them
> >> >> more easily.  All of our examples are set up so you can compile them
> >> >>from
> >> >> the command line and not have to type the -output parameter.  And if
> >>you
> >> >> make a mistake typing the output folder name, it ends up creating a
> >>new
> >> >> folder with that name.
> >> >>
> >> >> I'm not sure what you mean by generalizing.  Are you suggesting
> >>allowing
> >> >> folks to add more patterns to the set of folders where the compiler
> >>will
> >> >> chose the parent of the folder pattern?  I'm not sure how that solves
> >> >>the
> >> >> problem.  Seems like you'd still be surprised if you use "source" or
> >> >> something that isn't in the default list so a warning would still
> >>help,
> >> >> but if that's what you want to do, seems like it wouldn't hurt.
> >> >>
> >> >> My 2 cents,
> >> >> -Alex
> >> >>
> >> >>
> >> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >I'm not sure that I understand why you mentioned changing Flash
> >> >>Builder's
> >> >> >default source path. That seems mostly tangential here.
> >> >> >
> >> >> >I'm saying that the compiler shouldn't care whether it's named
> >>"src",
> >> >> >"source", or "whatever-i-want-to-call-it". It should simply default
> >>to
> >> >> >putting "bin" in the parent of that folder. A warning might be a
> >>good
> >> >> >temporary workaround, but generalizing this behavior is
> >>significantly
> >> >> >better, in my opinion.
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> I think "src" is for Flash Builder.  I don't know what it would
> >>take
> >> >>to
> >> >> >> get FB to default to something else.  I know I have lots of
> >>projects
> >> >> >>with
> >> >> >> just a "src" folder.
> >> >> >>
> >> >> >> I agree it is confusing.  We could output a warning or error if
> >>you
> >> >> >> haven't specified -output, -js-output and don't have "src" or
> >> >> >> "src/main/flex" folders.  Something like "Warning: output folder
> >>not
> >> >> >> specified and src or src/main/flex folders not specified.  Output
> >> >>will
> >> >> >>be
> >> >> >> in <name of output folder".
> >> >> >>
> >> >> >> Would that help eliminate confusion?  That's easy for someone to
> >>add
> >> >>to
> >> >> >> MXMLFlexJSPublisher.java.
> >> >> >>
> >> >> >> Thoughts?
> >> >> >> -Alex
> >> >> >>
> >> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >> >>
> >> >> >> >I think I had some trouble trying to get -output to accept a
> >> >>directory
> >> >> >>for
> >> >> >> >a JS-only project, and that's when I figured out that -js-output
> >> >> >>exists.
> >> >> >> >Maybe I was doing something wrong at the time. Or maybe it didn't
> >> >>quite
> >> >> >> >work properly yet.
> >> >> >> >
> >> >> >> >Although, I still think it's confusing to those who don't realize
> >> >>that
> >> >> >> >"src" and "src/main/flex" get special treatment and then "bin"
> >>ends
> >> >>up
> >> >> >> >somewhere else if they happen to choose a different name for a
> >>new
> >> >> >> >project.
> >> >> >> >Between me and Santanu, that's two people who had to waste time
> >>on
> >> >> >> >figuring
> >> >> >> >out why "bin" ended up somewhere we didn't expect. I could live
> >> >> >>without it
> >> >> >> >being the current working directory if "bin" would simply go into
> >> >>the
> >> >> >> >parent directory of the directory containing the main class by
> >> >>default,
> >> >> >> >regardless of whether it's named "src" or not. If
> >>"src/main/flex" is
> >> >> >>the
> >> >> >> >only special case, that's better, in my opinion.
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >> >><ah...@adobe.com.invalid>
> >> >> >> >wrote:
> >> >> >> >
> >> >> >> >> And if you just use -output and not -js-output the bin folder
> >> >>will be
> >> >> >> >> where you specified -output, and if you specify
> >> >> >> >> -output=somefolder\somefile.swf the output will be in
> >> >> somefolder\bin.
> >> >> >> >>
> >> >> >> >> The logic is trying to say:
> >> >> >> >> 1) If you specify -output as a SWF, we will use the parent
> >>folder
> >> >>of
> >> >> >>the
> >> >> >> >> SWF
> >> >> >> >> 2) If you specify -output as a folder, we will use that folder
> >> >> >> >> 3) If you specify -js-output, we will use that regardless of
> >>what
> >> >>you
> >> >> >> >>used
> >> >> >> >> for -output
> >> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >> >>   A) If you have a src folder or src/main/flex folder we will
> >>use
> >> >>the
> >> >> >> >> parent of src
> >> >> >> >>   B) Otherwise we will use the parent folder of the main source
> >> >>file.
> >> >> >> >>
> >> >> >> >> I don't agree that CWD is the right default.  For me, I've
> >>always
> >> >> >>had a
> >> >> >> >> folder full of test cases and am not always changing folders.
> >>I
> >> >> >>think
> >> >> >> >>the
> >> >> >> >> regular Flex MXMLC worked this way as well so I didn't want to
> >> >>change
> >> >> >> >>that
> >> >> >> >> pattern.
> >> >> >> >>
> >> >> >> >> 4A is just a convenience for those who follow certain common
> >> >> >>patterns so
> >> >> >> >> they don't have to do as much typing on the command line.  It
> >> >>might
> >> >> >>also
> >> >> >> >> "do the right thing" for Flash Builder users.  I think Maven
> >> >>always
> >> >> >> >> specifies the output folder.
> >> >> >> >>
> >> >> >> >> My 2 cents,
> >> >> >> >> -Alex
> >> >> >> >>
> >> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com>
> >>wrote:
> >> >> >> >>
> >> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >> >
> >> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >> >>source/MyProject.as
> >> >> >> >> >
> >> >> >> >> >- Josh
> >> >> >> >> >
> >> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >> >><pi...@gmail.com>
> >> >> >> >>wrote:
> >> >> >> >> >
> >> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> >> So -js-output will be also the place where SWF file will
> >> >>landed?
> >> >> >>- If
> >> >> >> >> >>yes
> >> >> >> >> >> in
> >> >> >> >> >> that case this param could have different name.
> >> >> >> >> >>
> >> >> >> >> >> Thanks,
> >> >> >> >> >> Piotr
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> -----
> >> >> >> >> >> Apache Flex PMC
> >> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> >> --
> >> >> >> >> >> View this message in context: http://apache-flex-
> >> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> >> Sent from the Apache Flex Development mailing list archive
> >>at
> >> >> >> >> >>Nabble.com.
> >> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Believe me, I am not worried about perfection here.

I am saying that if we make changes, we should allow the set of patterns
to be configurable so we don't have to change the compiler to add new
patterns.  I already have a large set of projects with only "src" and I
would prefer not to have to stop and reconfigure all of those projects.
When I have to debug into the compiling of a Flash Builder project, it
will save me time to not have to remember to add the output folder.

Having a config option would allow you to have what you want and for me to
have what I want.  Can we agree to add a config option, but maybe after
this release?

Thanks,
-Alex


On 6/1/17, 11:51 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>If there are other nested source directory structures recommended as
>standard practice by opinionated tools, similar to how Maven use
>"src/main/flex", then sure, let's add them as we become aware of them.
>
>"srcx/main/flex" would indeed not be solved by my recommended change.
>However, "source", "srcx", or "whatever-i-want-to-call-it" would all be
>solved, and I think a single directory with a different name than "src" is
>vastly more common than another nested directory structure like
>"srcx/main/flex". At least from my experience looking at real world
>projects over the years. Let's not let perfection stop us from making an
>improvement that will reduce the time users spend on figuring out why
>something isn't working as expected and contributors spend explaining why
>"src" is a special case when it doesn't need to be.
>
>- Josh
>
>On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> If we allow one exception, why not more than one?
>>
>> What if we add an "outputFolderExceptions" list and default it to just
>> contain "src/main/flex".  Then I could add "src" in my SDK installs to
>>get
>> what I want.  Still not sure how it solves the original problem though.
>> If someone has a src/main/flex pattern and changes it to srcx/main/flex
>> seems like they will still be surprised.
>>
>> -Alex
>>
>> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >If we do as I suggest, there would no longer be a list of patterns. I
>>want
>> >to allow *any* folder name. That's what I mean by generalizing. Just
>> >automatically put the "bin" directory relative to the parent directory
>>of
>> >the main source file. (with one exception: Maven-style project
>>structures
>> >with src/main/flex would still be a special case).
>> >
>> >Right now, if you compile like this...
>> >
>> >mxmlc src/MyProject.mxml
>> >
>> >...you get a "bin" directory in the same parent directory as "src".
>> >
>> >I want to allow you to use ANY name instead of "src" too, like this:
>> >
>> >mxmlc source/MyProject.mxml
>> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
>> >
>> >... and still get a "bin" directory relative to "source" or
>> >"whatever-i-want-to-call-it". Replace "source" or
>> >"whatever-i-want-to-call-it" with *any* folder name at random, and I
>>want
>> >it to just work.
>> >
>> >The compiler would do something similar to this pseudo-code:
>> >
>> >File mainClass = new
>> >File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
>> >File bin = mainClass.getParent().getParent().resolve("bin");
>> >
>> >You'd get /path/to/MyProject/bin/
>> >
>> >- Josh
>> >
>> >
>> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> I just want to optimize for a couple of common cases in order to
>>save me
>> >> and maybe other folks some time.  If for some reason I need to
>>compile a
>> >> Flash Builder project from the command-line or Ant or Java debugger,
>>I
>> >> don't have to remember to set the -output parameter.
>> >>
>> >> I used to get FB projects in JIRA and email and then unpack them and
>> >> compile them outside of FB because then I can get the debugger on
>>them
>> >> more easily.  All of our examples are set up so you can compile them
>> >>from
>> >> the command line and not have to type the -output parameter.  And if
>>you
>> >> make a mistake typing the output folder name, it ends up creating a
>>new
>> >> folder with that name.
>> >>
>> >> I'm not sure what you mean by generalizing.  Are you suggesting
>>allowing
>> >> folks to add more patterns to the set of folders where the compiler
>>will
>> >> chose the parent of the folder pattern?  I'm not sure how that solves
>> >>the
>> >> problem.  Seems like you'd still be surprised if you use "source" or
>> >> something that isn't in the default list so a warning would still
>>help,
>> >> but if that's what you want to do, seems like it wouldn't hurt.
>> >>
>> >> My 2 cents,
>> >> -Alex
>> >>
>> >>
>> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >I'm not sure that I understand why you mentioned changing Flash
>> >>Builder's
>> >> >default source path. That seems mostly tangential here.
>> >> >
>> >> >I'm saying that the compiler shouldn't care whether it's named
>>"src",
>> >> >"source", or "whatever-i-want-to-call-it". It should simply default
>>to
>> >> >putting "bin" in the parent of that folder. A warning might be a
>>good
>> >> >temporary workaround, but generalizing this behavior is
>>significantly
>> >> >better, in my opinion.
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> I think "src" is for Flash Builder.  I don't know what it would
>>take
>> >>to
>> >> >> get FB to default to something else.  I know I have lots of
>>projects
>> >> >>with
>> >> >> just a "src" folder.
>> >> >>
>> >> >> I agree it is confusing.  We could output a warning or error if
>>you
>> >> >> haven't specified -output, -js-output and don't have "src" or
>> >> >> "src/main/flex" folders.  Something like "Warning: output folder
>>not
>> >> >> specified and src or src/main/flex folders not specified.  Output
>> >>will
>> >> >>be
>> >> >> in <name of output folder".
>> >> >>
>> >> >> Would that help eliminate confusion?  That's easy for someone to
>>add
>> >>to
>> >> >> MXMLFlexJSPublisher.java.
>> >> >>
>> >> >> Thoughts?
>> >> >> -Alex
>> >> >>
>> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >I think I had some trouble trying to get -output to accept a
>> >>directory
>> >> >>for
>> >> >> >a JS-only project, and that's when I figured out that -js-output
>> >> >>exists.
>> >> >> >Maybe I was doing something wrong at the time. Or maybe it didn't
>> >>quite
>> >> >> >work properly yet.
>> >> >> >
>> >> >> >Although, I still think it's confusing to those who don't realize
>> >>that
>> >> >> >"src" and "src/main/flex" get special treatment and then "bin"
>>ends
>> >>up
>> >> >> >somewhere else if they happen to choose a different name for a
>>new
>> >> >> >project.
>> >> >> >Between me and Santanu, that's two people who had to waste time
>>on
>> >> >> >figuring
>> >> >> >out why "bin" ended up somewhere we didn't expect. I could live
>> >> >>without it
>> >> >> >being the current working directory if "bin" would simply go into
>> >>the
>> >> >> >parent directory of the directory containing the main class by
>> >>default,
>> >> >> >regardless of whether it's named "src" or not. If
>>"src/main/flex" is
>> >> >>the
>> >> >> >only special case, that's better, in my opinion.
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>> >><ah...@adobe.com.invalid>
>> >> >> >wrote:
>> >> >> >
>> >> >> >> And if you just use -output and not -js-output the bin folder
>> >>will be
>> >> >> >> where you specified -output, and if you specify
>> >> >> >> -output=somefolder\somefile.swf the output will be in
>> >> somefolder\bin.
>> >> >> >>
>> >> >> >> The logic is trying to say:
>> >> >> >> 1) If you specify -output as a SWF, we will use the parent
>>folder
>> >>of
>> >> >>the
>> >> >> >> SWF
>> >> >> >> 2) If you specify -output as a folder, we will use that folder
>> >> >> >> 3) If you specify -js-output, we will use that regardless of
>>what
>> >>you
>> >> >> >>used
>> >> >> >> for -output
>> >> >> >> 4) If you didn't specify -output or -js-output then
>> >> >> >>   A) If you have a src folder or src/main/flex folder we will
>>use
>> >>the
>> >> >> >> parent of src
>> >> >> >>   B) Otherwise we will use the parent folder of the main source
>> >>file.
>> >> >> >>
>> >> >> >> I don't agree that CWD is the right default.  For me, I've
>>always
>> >> >>had a
>> >> >> >> folder full of test cases and am not always changing folders.
>>I
>> >> >>think
>> >> >> >>the
>> >> >> >> regular Flex MXMLC worked this way as well so I didn't want to
>> >>change
>> >> >> >>that
>> >> >> >> pattern.
>> >> >> >>
>> >> >> >> 4A is just a convenience for those who follow certain common
>> >> >>patterns so
>> >> >> >> they don't have to do as much typing on the command line.  It
>> >>might
>> >> >>also
>> >> >> >> "do the right thing" for Flash Builder users.  I think Maven
>> >>always
>> >> >> >> specifies the output folder.
>> >> >> >>
>> >> >> >> My 2 cents,
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com>
>>wrote:
>> >> >> >>
>> >> >> >> >In that case, the SWF will use the -output option:
>> >> >> >> >
>> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>> >>source/MyProject.as
>> >> >> >> >
>> >> >> >> >- Josh
>> >> >> >> >
>> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>> >><pi...@gmail.com>
>> >> >> >>wrote:
>> >> >> >> >
>> >> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> >> So -js-output will be also the place where SWF file will
>> >>landed?
>> >> >>- If
>> >> >> >> >>yes
>> >> >> >> >> in
>> >> >> >> >> that case this param could have different name.
>> >> >> >> >>
>> >> >> >> >> Thanks,
>> >> >> >> >> Piotr
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> -----
>> >> >> >> >> Apache Flex PMC
>> >> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> >> --
>> >> >> >> >> View this message in context: http://apache-flex-
>> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> >> Sent from the Apache Flex Development mailing list archive
>>at
>> >> >> >> >>Nabble.com.
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
If there are other nested source directory structures recommended as
standard practice by opinionated tools, similar to how Maven use
"src/main/flex", then sure, let's add them as we become aware of them.

"srcx/main/flex" would indeed not be solved by my recommended change.
However, "source", "srcx", or "whatever-i-want-to-call-it" would all be
solved, and I think a single directory with a different name than "src" is
vastly more common than another nested directory structure like
"srcx/main/flex". At least from my experience looking at real world
projects over the years. Let's not let perfection stop us from making an
improvement that will reduce the time users spend on figuring out why
something isn't working as expected and contributors spend explaining why
"src" is a special case when it doesn't need to be.

- Josh

On Thu, Jun 1, 2017 at 11:11 AM, Alex Harui <ah...@adobe.com.invalid>
wrote:

> If we allow one exception, why not more than one?
>
> What if we add an "outputFolderExceptions" list and default it to just
> contain "src/main/flex".  Then I could add "src" in my SDK installs to get
> what I want.  Still not sure how it solves the original problem though.
> If someone has a src/main/flex pattern and changes it to srcx/main/flex
> seems like they will still be surprised.
>
> -Alex
>
> On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >If we do as I suggest, there would no longer be a list of patterns. I want
> >to allow *any* folder name. That's what I mean by generalizing. Just
> >automatically put the "bin" directory relative to the parent directory of
> >the main source file. (with one exception: Maven-style project structures
> >with src/main/flex would still be a special case).
> >
> >Right now, if you compile like this...
> >
> >mxmlc src/MyProject.mxml
> >
> >...you get a "bin" directory in the same parent directory as "src".
> >
> >I want to allow you to use ANY name instead of "src" too, like this:
> >
> >mxmlc source/MyProject.mxml
> >mxmlc whatever-i-want-to-call-it/MyProject.mxml
> >
> >... and still get a "bin" directory relative to "source" or
> >"whatever-i-want-to-call-it". Replace "source" or
> >"whatever-i-want-to-call-it" with *any* folder name at random, and I want
> >it to just work.
> >
> >The compiler would do something similar to this pseudo-code:
> >
> >File mainClass = new
> >File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
> >File bin = mainClass.getParent().getParent().resolve("bin");
> >
> >You'd get /path/to/MyProject/bin/
> >
> >- Josh
> >
> >
> >On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> I just want to optimize for a couple of common cases in order to save me
> >> and maybe other folks some time.  If for some reason I need to compile a
> >> Flash Builder project from the command-line or Ant or Java debugger, I
> >> don't have to remember to set the -output parameter.
> >>
> >> I used to get FB projects in JIRA and email and then unpack them and
> >> compile them outside of FB because then I can get the debugger on them
> >> more easily.  All of our examples are set up so you can compile them
> >>from
> >> the command line and not have to type the -output parameter.  And if you
> >> make a mistake typing the output folder name, it ends up creating a new
> >> folder with that name.
> >>
> >> I'm not sure what you mean by generalizing.  Are you suggesting allowing
> >> folks to add more patterns to the set of folders where the compiler will
> >> chose the parent of the folder pattern?  I'm not sure how that solves
> >>the
> >> problem.  Seems like you'd still be surprised if you use "source" or
> >> something that isn't in the default list so a warning would still help,
> >> but if that's what you want to do, seems like it wouldn't hurt.
> >>
> >> My 2 cents,
> >> -Alex
> >>
> >>
> >> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >I'm not sure that I understand why you mentioned changing Flash
> >>Builder's
> >> >default source path. That seems mostly tangential here.
> >> >
> >> >I'm saying that the compiler shouldn't care whether it's named "src",
> >> >"source", or "whatever-i-want-to-call-it". It should simply default to
> >> >putting "bin" in the parent of that folder. A warning might be a good
> >> >temporary workaround, but generalizing this behavior is significantly
> >> >better, in my opinion.
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> I think "src" is for Flash Builder.  I don't know what it would take
> >>to
> >> >> get FB to default to something else.  I know I have lots of projects
> >> >>with
> >> >> just a "src" folder.
> >> >>
> >> >> I agree it is confusing.  We could output a warning or error if you
> >> >> haven't specified -output, -js-output and don't have "src" or
> >> >> "src/main/flex" folders.  Something like "Warning: output folder not
> >> >> specified and src or src/main/flex folders not specified.  Output
> >>will
> >> >>be
> >> >> in <name of output folder".
> >> >>
> >> >> Would that help eliminate confusion?  That's easy for someone to add
> >>to
> >> >> MXMLFlexJSPublisher.java.
> >> >>
> >> >> Thoughts?
> >> >> -Alex
> >> >>
> >> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >I think I had some trouble trying to get -output to accept a
> >>directory
> >> >>for
> >> >> >a JS-only project, and that's when I figured out that -js-output
> >> >>exists.
> >> >> >Maybe I was doing something wrong at the time. Or maybe it didn't
> >>quite
> >> >> >work properly yet.
> >> >> >
> >> >> >Although, I still think it's confusing to those who don't realize
> >>that
> >> >> >"src" and "src/main/flex" get special treatment and then "bin" ends
> >>up
> >> >> >somewhere else if they happen to choose a different name for a new
> >> >> >project.
> >> >> >Between me and Santanu, that's two people who had to waste time on
> >> >> >figuring
> >> >> >out why "bin" ended up somewhere we didn't expect. I could live
> >> >>without it
> >> >> >being the current working directory if "bin" would simply go into
> >>the
> >> >> >parent directory of the directory containing the main class by
> >>default,
> >> >> >regardless of whether it's named "src" or not. If "src/main/flex" is
> >> >>the
> >> >> >only special case, that's better, in my opinion.
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
> >><ah...@adobe.com.invalid>
> >> >> >wrote:
> >> >> >
> >> >> >> And if you just use -output and not -js-output the bin folder
> >>will be
> >> >> >> where you specified -output, and if you specify
> >> >> >> -output=somefolder\somefile.swf the output will be in
> >> somefolder\bin.
> >> >> >>
> >> >> >> The logic is trying to say:
> >> >> >> 1) If you specify -output as a SWF, we will use the parent folder
> >>of
> >> >>the
> >> >> >> SWF
> >> >> >> 2) If you specify -output as a folder, we will use that folder
> >> >> >> 3) If you specify -js-output, we will use that regardless of what
> >>you
> >> >> >>used
> >> >> >> for -output
> >> >> >> 4) If you didn't specify -output or -js-output then
> >> >> >>   A) If you have a src folder or src/main/flex folder we will use
> >>the
> >> >> >> parent of src
> >> >> >>   B) Otherwise we will use the parent folder of the main source
> >>file.
> >> >> >>
> >> >> >> I don't agree that CWD is the right default.  For me, I've always
> >> >>had a
> >> >> >> folder full of test cases and am not always changing folders.  I
> >> >>think
> >> >> >>the
> >> >> >> regular Flex MXMLC worked this way as well so I didn't want to
> >>change
> >> >> >>that
> >> >> >> pattern.
> >> >> >>
> >> >> >> 4A is just a convenience for those who follow certain common
> >> >>patterns so
> >> >> >> they don't have to do as much typing on the command line.  It
> >>might
> >> >>also
> >> >> >> "do the right thing" for Flash Builder users.  I think Maven
> >>always
> >> >> >> specifies the output folder.
> >> >> >>
> >> >> >> My 2 cents,
> >> >> >> -Alex
> >> >> >>
> >> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >> >>
> >> >> >> >In that case, the SWF will use the -output option:
> >> >> >> >
> >> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
> >>source/MyProject.as
> >> >> >> >
> >> >> >> >- Josh
> >> >> >> >
> >> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
> >><pi...@gmail.com>
> >> >> >>wrote:
> >> >> >> >
> >> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> >> So -js-output will be also the place where SWF file will
> >>landed?
> >> >>- If
> >> >> >> >>yes
> >> >> >> >> in
> >> >> >> >> that case this param could have different name.
> >> >> >> >>
> >> >> >> >> Thanks,
> >> >> >> >> Piotr
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> -----
> >> >> >> >> Apache Flex PMC
> >> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> >> --
> >> >> >> >> View this message in context: http://apache-flex-
> >> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> >> Sent from the Apache Flex Development mailing list archive at
> >> >> >> >>Nabble.com.
> >> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
If we allow one exception, why not more than one?

What if we add an "outputFolderExceptions" list and default it to just
contain "src/main/flex".  Then I could add "src" in my SDK installs to get
what I want.  Still not sure how it solves the original problem though.
If someone has a src/main/flex pattern and changes it to srcx/main/flex
seems like they will still be surprised.

-Alex

On 6/1/17, 10:39 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>If we do as I suggest, there would no longer be a list of patterns. I want
>to allow *any* folder name. That's what I mean by generalizing. Just
>automatically put the "bin" directory relative to the parent directory of
>the main source file. (with one exception: Maven-style project structures
>with src/main/flex would still be a special case).
>
>Right now, if you compile like this...
>
>mxmlc src/MyProject.mxml
>
>...you get a "bin" directory in the same parent directory as "src".
>
>I want to allow you to use ANY name instead of "src" too, like this:
>
>mxmlc source/MyProject.mxml
>mxmlc whatever-i-want-to-call-it/MyProject.mxml
>
>... and still get a "bin" directory relative to "source" or
>"whatever-i-want-to-call-it". Replace "source" or
>"whatever-i-want-to-call-it" with *any* folder name at random, and I want
>it to just work.
>
>The compiler would do something similar to this pseudo-code:
>
>File mainClass = new
>File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
>File bin = mainClass.getParent().getParent().resolve("bin");
>
>You'd get /path/to/MyProject/bin/
>
>- Josh
>
>
>On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> I just want to optimize for a couple of common cases in order to save me
>> and maybe other folks some time.  If for some reason I need to compile a
>> Flash Builder project from the command-line or Ant or Java debugger, I
>> don't have to remember to set the -output parameter.
>>
>> I used to get FB projects in JIRA and email and then unpack them and
>> compile them outside of FB because then I can get the debugger on them
>> more easily.  All of our examples are set up so you can compile them
>>from
>> the command line and not have to type the -output parameter.  And if you
>> make a mistake typing the output folder name, it ends up creating a new
>> folder with that name.
>>
>> I'm not sure what you mean by generalizing.  Are you suggesting allowing
>> folks to add more patterns to the set of folders where the compiler will
>> chose the parent of the folder pattern?  I'm not sure how that solves
>>the
>> problem.  Seems like you'd still be surprised if you use "source" or
>> something that isn't in the default list so a warning would still help,
>> but if that's what you want to do, seems like it wouldn't hurt.
>>
>> My 2 cents,
>> -Alex
>>
>>
>> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >I'm not sure that I understand why you mentioned changing Flash
>>Builder's
>> >default source path. That seems mostly tangential here.
>> >
>> >I'm saying that the compiler shouldn't care whether it's named "src",
>> >"source", or "whatever-i-want-to-call-it". It should simply default to
>> >putting "bin" in the parent of that folder. A warning might be a good
>> >temporary workaround, but generalizing this behavior is significantly
>> >better, in my opinion.
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> I think "src" is for Flash Builder.  I don't know what it would take
>>to
>> >> get FB to default to something else.  I know I have lots of projects
>> >>with
>> >> just a "src" folder.
>> >>
>> >> I agree it is confusing.  We could output a warning or error if you
>> >> haven't specified -output, -js-output and don't have "src" or
>> >> "src/main/flex" folders.  Something like "Warning: output folder not
>> >> specified and src or src/main/flex folders not specified.  Output
>>will
>> >>be
>> >> in <name of output folder".
>> >>
>> >> Would that help eliminate confusion?  That's easy for someone to add
>>to
>> >> MXMLFlexJSPublisher.java.
>> >>
>> >> Thoughts?
>> >> -Alex
>> >>
>> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >I think I had some trouble trying to get -output to accept a
>>directory
>> >>for
>> >> >a JS-only project, and that's when I figured out that -js-output
>> >>exists.
>> >> >Maybe I was doing something wrong at the time. Or maybe it didn't
>>quite
>> >> >work properly yet.
>> >> >
>> >> >Although, I still think it's confusing to those who don't realize
>>that
>> >> >"src" and "src/main/flex" get special treatment and then "bin" ends
>>up
>> >> >somewhere else if they happen to choose a different name for a new
>> >> >project.
>> >> >Between me and Santanu, that's two people who had to waste time on
>> >> >figuring
>> >> >out why "bin" ended up somewhere we didn't expect. I could live
>> >>without it
>> >> >being the current working directory if "bin" would simply go into
>>the
>> >> >parent directory of the directory containing the main class by
>>default,
>> >> >regardless of whether it's named "src" or not. If "src/main/flex" is
>> >>the
>> >> >only special case, that's better, in my opinion.
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui
>><ah...@adobe.com.invalid>
>> >> >wrote:
>> >> >
>> >> >> And if you just use -output and not -js-output the bin folder
>>will be
>> >> >> where you specified -output, and if you specify
>> >> >> -output=somefolder\somefile.swf the output will be in
>> somefolder\bin.
>> >> >>
>> >> >> The logic is trying to say:
>> >> >> 1) If you specify -output as a SWF, we will use the parent folder
>>of
>> >>the
>> >> >> SWF
>> >> >> 2) If you specify -output as a folder, we will use that folder
>> >> >> 3) If you specify -js-output, we will use that regardless of what
>>you
>> >> >>used
>> >> >> for -output
>> >> >> 4) If you didn't specify -output or -js-output then
>> >> >>   A) If you have a src folder or src/main/flex folder we will use
>>the
>> >> >> parent of src
>> >> >>   B) Otherwise we will use the parent folder of the main source
>>file.
>> >> >>
>> >> >> I don't agree that CWD is the right default.  For me, I've always
>> >>had a
>> >> >> folder full of test cases and am not always changing folders.  I
>> >>think
>> >> >>the
>> >> >> regular Flex MXMLC worked this way as well so I didn't want to
>>change
>> >> >>that
>> >> >> pattern.
>> >> >>
>> >> >> 4A is just a convenience for those who follow certain common
>> >>patterns so
>> >> >> they don't have to do as much typing on the command line.  It
>>might
>> >>also
>> >> >> "do the right thing" for Flash Builder users.  I think Maven
>>always
>> >> >> specifies the output folder.
>> >> >>
>> >> >> My 2 cents,
>> >> >> -Alex
>> >> >>
>> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >> >>
>> >> >> >In that case, the SWF will use the -output option:
>> >> >> >
>> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=.
>>source/MyProject.as
>> >> >> >
>> >> >> >- Josh
>> >> >> >
>> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz
>><pi...@gmail.com>
>> >> >>wrote:
>> >> >> >
>> >> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> >> So -js-output will be also the place where SWF file will
>>landed?
>> >>- If
>> >> >> >>yes
>> >> >> >> in
>> >> >> >> that case this param could have different name.
>> >> >> >>
>> >> >> >> Thanks,
>> >> >> >> Piotr
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> -----
>> >> >> >> Apache Flex PMC
>> >> >> >> piotrzarzycki21@gmail.com
>> >> >> >> --
>> >> >> >> View this message in context: http://apache-flex-
>> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> >> Sent from the Apache Flex Development mailing list archive at
>> >> >> >>Nabble.com.
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
If we do as I suggest, there would no longer be a list of patterns. I want
to allow *any* folder name. That's what I mean by generalizing. Just
automatically put the "bin" directory relative to the parent directory of
the main source file. (with one exception: Maven-style project structures
with src/main/flex would still be a special case).

Right now, if you compile like this...

mxmlc src/MyProject.mxml

...you get a "bin" directory in the same parent directory as "src".

I want to allow you to use ANY name instead of "src" too, like this:

mxmlc source/MyProject.mxml
mxmlc whatever-i-want-to-call-it/MyProject.mxml

... and still get a "bin" directory relative to "source" or
"whatever-i-want-to-call-it". Replace "source" or
"whatever-i-want-to-call-it" with *any* folder name at random, and I want
it to just work.

The compiler would do something similar to this pseudo-code:

File mainClass = new
File("/path/to/MyProject/whatever-i-want-to-call-it/MyProject.mxml");
File bin = mainClass.getParent().getParent().resolve("bin");

You'd get /path/to/MyProject/bin/

- Josh


On Thu, Jun 1, 2017 at 10:18 AM, Alex Harui <ah...@adobe.com.invalid>
wrote:

> I just want to optimize for a couple of common cases in order to save me
> and maybe other folks some time.  If for some reason I need to compile a
> Flash Builder project from the command-line or Ant or Java debugger, I
> don't have to remember to set the -output parameter.
>
> I used to get FB projects in JIRA and email and then unpack them and
> compile them outside of FB because then I can get the debugger on them
> more easily.  All of our examples are set up so you can compile them from
> the command line and not have to type the -output parameter.  And if you
> make a mistake typing the output folder name, it ends up creating a new
> folder with that name.
>
> I'm not sure what you mean by generalizing.  Are you suggesting allowing
> folks to add more patterns to the set of folders where the compiler will
> chose the parent of the folder pattern?  I'm not sure how that solves the
> problem.  Seems like you'd still be surprised if you use "source" or
> something that isn't in the default list so a warning would still help,
> but if that's what you want to do, seems like it wouldn't hurt.
>
> My 2 cents,
> -Alex
>
>
> On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >I'm not sure that I understand why you mentioned changing Flash Builder's
> >default source path. That seems mostly tangential here.
> >
> >I'm saying that the compiler shouldn't care whether it's named "src",
> >"source", or "whatever-i-want-to-call-it". It should simply default to
> >putting "bin" in the parent of that folder. A warning might be a good
> >temporary workaround, but generalizing this behavior is significantly
> >better, in my opinion.
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> I think "src" is for Flash Builder.  I don't know what it would take to
> >> get FB to default to something else.  I know I have lots of projects
> >>with
> >> just a "src" folder.
> >>
> >> I agree it is confusing.  We could output a warning or error if you
> >> haven't specified -output, -js-output and don't have "src" or
> >> "src/main/flex" folders.  Something like "Warning: output folder not
> >> specified and src or src/main/flex folders not specified.  Output will
> >>be
> >> in <name of output folder".
> >>
> >> Would that help eliminate confusion?  That's easy for someone to add to
> >> MXMLFlexJSPublisher.java.
> >>
> >> Thoughts?
> >> -Alex
> >>
> >> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >I think I had some trouble trying to get -output to accept a directory
> >>for
> >> >a JS-only project, and that's when I figured out that -js-output
> >>exists.
> >> >Maybe I was doing something wrong at the time. Or maybe it didn't quite
> >> >work properly yet.
> >> >
> >> >Although, I still think it's confusing to those who don't realize that
> >> >"src" and "src/main/flex" get special treatment and then "bin" ends up
> >> >somewhere else if they happen to choose a different name for a new
> >> >project.
> >> >Between me and Santanu, that's two people who had to waste time on
> >> >figuring
> >> >out why "bin" ended up somewhere we didn't expect. I could live
> >>without it
> >> >being the current working directory if "bin" would simply go into the
> >> >parent directory of the directory containing the main class by default,
> >> >regardless of whether it's named "src" or not. If "src/main/flex" is
> >>the
> >> >only special case, that's better, in my opinion.
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui <ah...@adobe.com.invalid>
> >> >wrote:
> >> >
> >> >> And if you just use -output and not -js-output the bin folder will be
> >> >> where you specified -output, and if you specify
> >> >> -output=somefolder\somefile.swf the output will be in
> somefolder\bin.
> >> >>
> >> >> The logic is trying to say:
> >> >> 1) If you specify -output as a SWF, we will use the parent folder of
> >>the
> >> >> SWF
> >> >> 2) If you specify -output as a folder, we will use that folder
> >> >> 3) If you specify -js-output, we will use that regardless of what you
> >> >>used
> >> >> for -output
> >> >> 4) If you didn't specify -output or -js-output then
> >> >>   A) If you have a src folder or src/main/flex folder we will use the
> >> >> parent of src
> >> >>   B) Otherwise we will use the parent folder of the main source file.
> >> >>
> >> >> I don't agree that CWD is the right default.  For me, I've always
> >>had a
> >> >> folder full of test cases and am not always changing folders.  I
> >>think
> >> >>the
> >> >> regular Flex MXMLC worked this way as well so I didn't want to change
> >> >>that
> >> >> pattern.
> >> >>
> >> >> 4A is just a convenience for those who follow certain common
> >>patterns so
> >> >> they don't have to do as much typing on the command line.  It might
> >>also
> >> >> "do the right thing" for Flash Builder users.  I think Maven always
> >> >> specifies the output folder.
> >> >>
> >> >> My 2 cents,
> >> >> -Alex
> >> >>
> >> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >> >>
> >> >> >In that case, the SWF will use the -output option:
> >> >> >
> >> >> >mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
> >> >> >
> >> >> >- Josh
> >> >> >
> >> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com>
> >> >>wrote:
> >> >> >
> >> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> >> So -js-output will be also the place where SWF file will landed?
> >>- If
> >> >> >>yes
> >> >> >> in
> >> >> >> that case this param could have different name.
> >> >> >>
> >> >> >> Thanks,
> >> >> >> Piotr
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> -----
> >> >> >> Apache Flex PMC
> >> >> >> piotrzarzycki21@gmail.com
> >> >> >> --
> >> >> >> View this message in context: http://apache-flex-
> >> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> >> Sent from the Apache Flex Development mailing list archive at
> >> >> >>Nabble.com.
> >> >> >>
> >> >>
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
I just want to optimize for a couple of common cases in order to save me
and maybe other folks some time.  If for some reason I need to compile a
Flash Builder project from the command-line or Ant or Java debugger, I
don't have to remember to set the -output parameter.

I used to get FB projects in JIRA and email and then unpack them and
compile them outside of FB because then I can get the debugger on them
more easily.  All of our examples are set up so you can compile them from
the command line and not have to type the -output parameter.  And if you
make a mistake typing the output folder name, it ends up creating a new
folder with that name.

I'm not sure what you mean by generalizing.  Are you suggesting allowing
folks to add more patterns to the set of folders where the compiler will
chose the parent of the folder pattern?  I'm not sure how that solves the
problem.  Seems like you'd still be surprised if you use "source" or
something that isn't in the default list so a warning would still help,
but if that's what you want to do, seems like it wouldn't hurt.

My 2 cents,
-Alex


On 6/1/17, 9:59 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>I'm not sure that I understand why you mentioned changing Flash Builder's
>default source path. That seems mostly tangential here.
>
>I'm saying that the compiler shouldn't care whether it's named "src",
>"source", or "whatever-i-want-to-call-it". It should simply default to
>putting "bin" in the parent of that folder. A warning might be a good
>temporary workaround, but generalizing this behavior is significantly
>better, in my opinion.
>
>- Josh
>
>On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> I think "src" is for Flash Builder.  I don't know what it would take to
>> get FB to default to something else.  I know I have lots of projects
>>with
>> just a "src" folder.
>>
>> I agree it is confusing.  We could output a warning or error if you
>> haven't specified -output, -js-output and don't have "src" or
>> "src/main/flex" folders.  Something like "Warning: output folder not
>> specified and src or src/main/flex folders not specified.  Output will
>>be
>> in <name of output folder".
>>
>> Would that help eliminate confusion?  That's easy for someone to add to
>> MXMLFlexJSPublisher.java.
>>
>> Thoughts?
>> -Alex
>>
>> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >I think I had some trouble trying to get -output to accept a directory
>>for
>> >a JS-only project, and that's when I figured out that -js-output
>>exists.
>> >Maybe I was doing something wrong at the time. Or maybe it didn't quite
>> >work properly yet.
>> >
>> >Although, I still think it's confusing to those who don't realize that
>> >"src" and "src/main/flex" get special treatment and then "bin" ends up
>> >somewhere else if they happen to choose a different name for a new
>> >project.
>> >Between me and Santanu, that's two people who had to waste time on
>> >figuring
>> >out why "bin" ended up somewhere we didn't expect. I could live
>>without it
>> >being the current working directory if "bin" would simply go into the
>> >parent directory of the directory containing the main class by default,
>> >regardless of whether it's named "src" or not. If "src/main/flex" is
>>the
>> >only special case, that's better, in my opinion.
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui <ah...@adobe.com.invalid>
>> >wrote:
>> >
>> >> And if you just use -output and not -js-output the bin folder will be
>> >> where you specified -output, and if you specify
>> >> -output=somefolder\somefile.swf the output will be in somefolder\bin.
>> >>
>> >> The logic is trying to say:
>> >> 1) If you specify -output as a SWF, we will use the parent folder of
>>the
>> >> SWF
>> >> 2) If you specify -output as a folder, we will use that folder
>> >> 3) If you specify -js-output, we will use that regardless of what you
>> >>used
>> >> for -output
>> >> 4) If you didn't specify -output or -js-output then
>> >>   A) If you have a src folder or src/main/flex folder we will use the
>> >> parent of src
>> >>   B) Otherwise we will use the parent folder of the main source file.
>> >>
>> >> I don't agree that CWD is the right default.  For me, I've always
>>had a
>> >> folder full of test cases and am not always changing folders.  I
>>think
>> >>the
>> >> regular Flex MXMLC worked this way as well so I didn't want to change
>> >>that
>> >> pattern.
>> >>
>> >> 4A is just a convenience for those who follow certain common
>>patterns so
>> >> they don't have to do as much typing on the command line.  It might
>>also
>> >> "do the right thing" for Flash Builder users.  I think Maven always
>> >> specifies the output folder.
>> >>
>> >> My 2 cents,
>> >> -Alex
>> >>
>> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>> >>
>> >> >In that case, the SWF will use the -output option:
>> >> >
>> >> >mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
>> >> >
>> >> >- Josh
>> >> >
>> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com>
>> >>wrote:
>> >> >
>> >> >> Ahh..Ok now it is clear. What about if we have
>> >> >> -compiler.targets=JSFLEX,SWF -
>> >> >> So -js-output will be also the place where SWF file will landed?
>>- If
>> >> >>yes
>> >> >> in
>> >> >> that case this param could have different name.
>> >> >>
>> >> >> Thanks,
>> >> >> Piotr
>> >> >>
>> >> >>
>> >> >>
>> >> >> -----
>> >> >> Apache Flex PMC
>> >> >> piotrzarzycki21@gmail.com
>> >> >> --
>> >> >> View this message in context: http://apache-flex-
>> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> >> Sent from the Apache Flex Development mailing list archive at
>> >> >>Nabble.com.
>> >> >>
>> >>
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
I'm not sure that I understand why you mentioned changing Flash Builder's
default source path. That seems mostly tangential here.

I'm saying that the compiler shouldn't care whether it's named "src",
"source", or "whatever-i-want-to-call-it". It should simply default to
putting "bin" in the parent of that folder. A warning might be a good
temporary workaround, but generalizing this behavior is significantly
better, in my opinion.

- Josh

On Thu, Jun 1, 2017 at 9:26 AM, Alex Harui <ah...@adobe.com.invalid> wrote:

> I think "src" is for Flash Builder.  I don't know what it would take to
> get FB to default to something else.  I know I have lots of projects with
> just a "src" folder.
>
> I agree it is confusing.  We could output a warning or error if you
> haven't specified -output, -js-output and don't have "src" or
> "src/main/flex" folders.  Something like "Warning: output folder not
> specified and src or src/main/flex folders not specified.  Output will be
> in <name of output folder".
>
> Would that help eliminate confusion?  That's easy for someone to add to
> MXMLFlexJSPublisher.java.
>
> Thoughts?
> -Alex
>
> On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >I think I had some trouble trying to get -output to accept a directory for
> >a JS-only project, and that's when I figured out that -js-output exists.
> >Maybe I was doing something wrong at the time. Or maybe it didn't quite
> >work properly yet.
> >
> >Although, I still think it's confusing to those who don't realize that
> >"src" and "src/main/flex" get special treatment and then "bin" ends up
> >somewhere else if they happen to choose a different name for a new
> >project.
> >Between me and Santanu, that's two people who had to waste time on
> >figuring
> >out why "bin" ended up somewhere we didn't expect. I could live without it
> >being the current working directory if "bin" would simply go into the
> >parent directory of the directory containing the main class by default,
> >regardless of whether it's named "src" or not. If "src/main/flex" is the
> >only special case, that's better, in my opinion.
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui <ah...@adobe.com.invalid>
> >wrote:
> >
> >> And if you just use -output and not -js-output the bin folder will be
> >> where you specified -output, and if you specify
> >> -output=somefolder\somefile.swf the output will be in somefolder\bin.
> >>
> >> The logic is trying to say:
> >> 1) If you specify -output as a SWF, we will use the parent folder of the
> >> SWF
> >> 2) If you specify -output as a folder, we will use that folder
> >> 3) If you specify -js-output, we will use that regardless of what you
> >>used
> >> for -output
> >> 4) If you didn't specify -output or -js-output then
> >>   A) If you have a src folder or src/main/flex folder we will use the
> >> parent of src
> >>   B) Otherwise we will use the parent folder of the main source file.
> >>
> >> I don't agree that CWD is the right default.  For me, I've always had a
> >> folder full of test cases and am not always changing folders.  I think
> >>the
> >> regular Flex MXMLC worked this way as well so I didn't want to change
> >>that
> >> pattern.
> >>
> >> 4A is just a convenience for those who follow certain common patterns so
> >> they don't have to do as much typing on the command line.  It might also
> >> "do the right thing" for Flash Builder users.  I think Maven always
> >> specifies the output folder.
> >>
> >> My 2 cents,
> >> -Alex
> >>
> >> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
> >>
> >> >In that case, the SWF will use the -output option:
> >> >
> >> >mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com>
> >>wrote:
> >> >
> >> >> Ahh..Ok now it is clear. What about if we have
> >> >> -compiler.targets=JSFLEX,SWF -
> >> >> So -js-output will be also the place where SWF file will landed? - If
> >> >>yes
> >> >> in
> >> >> that case this param could have different name.
> >> >>
> >> >> Thanks,
> >> >> Piotr
> >> >>
> >> >>
> >> >>
> >> >> -----
> >> >> Apache Flex PMC
> >> >> piotrzarzycki21@gmail.com
> >> >> --
> >> >> View this message in context: http://apache-flex-
> >> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> >> Sent from the Apache Flex Development mailing list archive at
> >> >>Nabble.com.
> >> >>
> >>
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
I think "src" is for Flash Builder.  I don't know what it would take to
get FB to default to something else.  I know I have lots of projects with
just a "src" folder.

I agree it is confusing.  We could output a warning or error if you
haven't specified -output, -js-output and don't have "src" or
"src/main/flex" folders.  Something like "Warning: output folder not
specified and src or src/main/flex folders not specified.  Output will be
in <name of output folder".

Would that help eliminate confusion?  That's easy for someone to add to
MXMLFlexJSPublisher.java.

Thoughts?
-Alex

On 6/1/17, 8:52 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>I think I had some trouble trying to get -output to accept a directory for
>a JS-only project, and that's when I figured out that -js-output exists.
>Maybe I was doing something wrong at the time. Or maybe it didn't quite
>work properly yet.
>
>Although, I still think it's confusing to those who don't realize that
>"src" and "src/main/flex" get special treatment and then "bin" ends up
>somewhere else if they happen to choose a different name for a new
>project.
>Between me and Santanu, that's two people who had to waste time on
>figuring
>out why "bin" ended up somewhere we didn't expect. I could live without it
>being the current working directory if "bin" would simply go into the
>parent directory of the directory containing the main class by default,
>regardless of whether it's named "src" or not. If "src/main/flex" is the
>only special case, that's better, in my opinion.
>
>- Josh
>
>On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui <ah...@adobe.com.invalid>
>wrote:
>
>> And if you just use -output and not -js-output the bin folder will be
>> where you specified -output, and if you specify
>> -output=somefolder\somefile.swf the output will be in somefolder\bin.
>>
>> The logic is trying to say:
>> 1) If you specify -output as a SWF, we will use the parent folder of the
>> SWF
>> 2) If you specify -output as a folder, we will use that folder
>> 3) If you specify -js-output, we will use that regardless of what you
>>used
>> for -output
>> 4) If you didn't specify -output or -js-output then
>>   A) If you have a src folder or src/main/flex folder we will use the
>> parent of src
>>   B) Otherwise we will use the parent folder of the main source file.
>>
>> I don't agree that CWD is the right default.  For me, I've always had a
>> folder full of test cases and am not always changing folders.  I think
>>the
>> regular Flex MXMLC worked this way as well so I didn't want to change
>>that
>> pattern.
>>
>> 4A is just a convenience for those who follow certain common patterns so
>> they don't have to do as much typing on the command line.  It might also
>> "do the right thing" for Flash Builder users.  I think Maven always
>> specifies the output folder.
>>
>> My 2 cents,
>> -Alex
>>
>> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>>
>> >In that case, the SWF will use the -output option:
>> >
>> >mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
>> >
>> >- Josh
>> >
>> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com>
>>wrote:
>> >
>> >> Ahh..Ok now it is clear. What about if we have
>> >> -compiler.targets=JSFLEX,SWF -
>> >> So -js-output will be also the place where SWF file will landed? - If
>> >>yes
>> >> in
>> >> that case this param could have different name.
>> >>
>> >> Thanks,
>> >> Piotr
>> >>
>> >>
>> >>
>> >> -----
>> >> Apache Flex PMC
>> >> piotrzarzycki21@gmail.com
>> >> --
>> >> View this message in context: http://apache-flex-
>> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
>> >> Sent from the Apache Flex Development mailing list archive at
>> >>Nabble.com.
>> >>
>>
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
I think I had some trouble trying to get -output to accept a directory for
a JS-only project, and that's when I figured out that -js-output exists.
Maybe I was doing something wrong at the time. Or maybe it didn't quite
work properly yet.

Although, I still think it's confusing to those who don't realize that
"src" and "src/main/flex" get special treatment and then "bin" ends up
somewhere else if they happen to choose a different name for a new project.
Between me and Santanu, that's two people who had to waste time on figuring
out why "bin" ended up somewhere we didn't expect. I could live without it
being the current working directory if "bin" would simply go into the
parent directory of the directory containing the main class by default,
regardless of whether it's named "src" or not. If "src/main/flex" is the
only special case, that's better, in my opinion.

- Josh

On Thu, Jun 1, 2017 at 8:16 AM, Alex Harui <ah...@adobe.com.invalid> wrote:

> And if you just use -output and not -js-output the bin folder will be
> where you specified -output, and if you specify
> -output=somefolder\somefile.swf the output will be in somefolder\bin.
>
> The logic is trying to say:
> 1) If you specify -output as a SWF, we will use the parent folder of the
> SWF
> 2) If you specify -output as a folder, we will use that folder
> 3) If you specify -js-output, we will use that regardless of what you used
> for -output
> 4) If you didn't specify -output or -js-output then
>   A) If you have a src folder or src/main/flex folder we will use the
> parent of src
>   B) Otherwise we will use the parent folder of the main source file.
>
> I don't agree that CWD is the right default.  For me, I've always had a
> folder full of test cases and am not always changing folders.  I think the
> regular Flex MXMLC worked this way as well so I didn't want to change that
> pattern.
>
> 4A is just a convenience for those who follow certain common patterns so
> they don't have to do as much typing on the command line.  It might also
> "do the right thing" for Flash Builder users.  I think Maven always
> specifies the output folder.
>
> My 2 cents,
> -Alex
>
> On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:
>
> >In that case, the SWF will use the -output option:
> >
> >mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
> >
> >- Josh
> >
> >On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com> wrote:
> >
> >> Ahh..Ok now it is clear. What about if we have
> >> -compiler.targets=JSFLEX,SWF -
> >> So -js-output will be also the place where SWF file will landed? - If
> >>yes
> >> in
> >> that case this param could have different name.
> >>
> >> Thanks,
> >> Piotr
> >>
> >>
> >>
> >> -----
> >> Apache Flex PMC
> >> piotrzarzycki21@gmail.com
> >> --
> >> View this message in context: http://apache-flex-
> >> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> >> compiler-statically-looks-for-src-folder-tp61991p61997.html
> >> Sent from the Apache Flex Development mailing list archive at
> >>Nabble.com.
> >>
>
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Alex Harui <ah...@adobe.com.INVALID>.
And if you just use -output and not -js-output the bin folder will be
where you specified -output, and if you specify
-output=somefolder\somefile.swf the output will be in somefolder\bin.

The logic is trying to say:
1) If you specify -output as a SWF, we will use the parent folder of the
SWF
2) If you specify -output as a folder, we will use that folder
3) If you specify -js-output, we will use that regardless of what you used
for -output
4) If you didn't specify -output or -js-output then
  A) If you have a src folder or src/main/flex folder we will use the
parent of src
  B) Otherwise we will use the parent folder of the main source file.

I don't agree that CWD is the right default.  For me, I've always had a
folder full of test cases and am not always changing folders.  I think the
regular Flex MXMLC worked this way as well so I didn't want to change that
pattern.

4A is just a convenience for those who follow certain common patterns so
they don't have to do as much typing on the command line.  It might also
"do the right thing" for Flash Builder users.  I think Maven always
specifies the output folder.

My 2 cents,
-Alex

On 6/1/17, 7:48 AM, "Josh Tynjala" <jo...@gmail.com> wrote:

>In that case, the SWF will use the -output option:
>
>mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as
>
>- Josh
>
>On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com> wrote:
>
>> Ahh..Ok now it is clear. What about if we have
>> -compiler.targets=JSFLEX,SWF -
>> So -js-output will be also the place where SWF file will landed? - If
>>yes
>> in
>> that case this param could have different name.
>>
>> Thanks,
>> Piotr
>>
>>
>>
>> -----
>> Apache Flex PMC
>> piotrzarzycki21@gmail.com
>> --
>> View this message in context: http://apache-flex-
>> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
>> compiler-statically-looks-for-src-folder-tp61991p61997.html
>> Sent from the Apache Flex Development mailing list archive at
>>Nabble.com.
>>


Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
In that case, the SWF will use the -output option:

mxmlc -output=path/to/MyProject.swf -js-output=. source/MyProject.as

- Josh

On Thu, Jun 1, 2017 at 7:30 AM, piotrz <pi...@gmail.com> wrote:

> Ahh..Ok now it is clear. What about if we have
> -compiler.targets=JSFLEX,SWF -
> So -js-output will be also the place where SWF file will landed? - If yes
> in
> that case this param could have different name.
>
> Thanks,
> Piotr
>
>
>
> -----
> Apache Flex PMC
> piotrzarzycki21@gmail.com
> --
> View this message in context: http://apache-flex-
> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> compiler-statically-looks-for-src-folder-tp61991p61997.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by piotrz <pi...@gmail.com>.
Ahh..Ok now it is clear. What about if we have -compiler.targets=JSFLEX,SWF -
So -js-output will be also the place where SWF file will landed? - If yes in
that case this param could have different name.

Thanks,
Piotr



-----
Apache Flex PMC
piotrzarzycki21@gmail.com
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-compiler-statically-looks-for-src-folder-tp61991p61997.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
I'm not sure if I was clear, but the -js-output option already exists, and
it may be used today.

- Josh

On Thu, Jun 1, 2017 at 6:51 AM, piotrz <pi...@gmail.com> wrote:

> Hi Santanu, Josh,
>
> +1 for having option -js-output=. to configure this one. If those changes
> need to be done on compiler sight maybe jira should be raised ?
>
> Thanks,
> Piotr
>
>
>
> -----
> Apache Flex PMC
> piotrzarzycki21@gmail.com
> --
> View this message in context: http://apache-flex-
> development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-
> compiler-statically-looks-for-src-folder-tp61991p61994.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by piotrz <pi...@gmail.com>.
Hi Santanu, Josh,

+1 for having option -js-output=. to configure this one. If those changes
need to be done on compiler sight maybe jira should be raised ?

Thanks,
Piotr



-----
Apache Flex PMC
piotrzarzycki21@gmail.com
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-Why-FlexJS-compiler-statically-looks-for-src-folder-tp61991p61994.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: [FlexJS] Why FlexJS compiler statically looks for 'src' folder

Posted by Josh Tynjala <jo...@gmail.com>.
I ran into this issue too because I frequently use "source" instead of
"src".

It is indeed true that "src" is hard coded, along with "src/main/flex" (for
Maven). I wonder if it would be better to simply produce bin in the current
working directory by default, instead of having these two hard coded
values. Usually, the cwd will be the parent of the main source path.

The -js-output compiler option may be used to customize where the bin
directory is created for JS. To force it to be the current working
directory, you should be able to use:

-js-output=.

- Josh

On Jun 1, 2017 5:04 AM, "sankar" <sa...@gmail.com> wrote:

> Hello,
>
> I'm using current release branch 0.8.0 FlexJS SDK. I noticed running FlexJS
> project compilation always produce me 'bin' folder to somewhere unexpected
> when I have source folder named anything but 'src'.
>
> I have my project's source folder in project root named "*srcx*" and
> contains on FlexJS application file.
>
> I tried to run following command in my project root:
> set FLEX_HOME=E:\out\apache-flex-flexjs-0.8.0-bin&&
> E:\out\apache-flex-flexjs-0.8.0-bin\js\bin\mxmlc.bat
> -load-config+=obj/OldFlexJSBrowserProjectConfig.xml  -optimize=false
> -compiler.targets=JSFLEX
>
> (Here's the config file: https://kobra.io/#/e/-KlYWM07_bjF8CDhUgF6)
>
> If I ran the above command I noticed the 'bin' folder always produces
> inside
> the 'srcx' folder - not in the root project directory where I ran the
> command.
>
> Furthermore, if I have my application file resides anywhere in more deep
> sub-folder, and run the command in project root, it's anyway produce the
> 'bin' folder in 'srcx'!
>
> If I modify the folder name from "srcx" to "*src*" (and also does requisite
> changes in the config file above), FlexJS compiler produce the 'bin' folder
> now correctly in project root!
>
> It seems like compiler statically checks for 'src' folder existence and
> therefore (if exists) produce the 'bin' folder to it's parent.
>
> This may not right when a situation when source folder named something
> other
> than 'src' (like in my case) and the compiler produce the 'bin' folder and
> I
> was keep thinking where is the 'bin' folder by just searching into the
> project root!
>
> Thanks!
>
>
>
> --
> View this message in context: http://apache-flex-development
> .2333347.n4.nabble.com/FlexJS-Why-FlexJS-compiler-
> statically-looks-for-src-folder-tp61991.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>