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" <joshtynj...@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 <aha...@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" <joshtynj...@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 <aha...@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" <joshtynj...@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
>><aha...@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" <joshtynj...@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
>> >><aha...@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" <joshtynj...@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
>> >> >><aha...@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" <joshtynj...@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
>> >> >> >><aha...@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"
>><joshtynj...@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
>> >> >> >> >><aha...@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"
>> >><joshtynj...@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
>> >> >> >> >><piotrzarzyck...@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
>> >> >> >> >> >> >> >> piotrzarzyck...@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.
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>

Reply via email to