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