incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: Getting Mustella to work.
Date Thu, 23 Aug 2012 16:16:34 GMT
I think I found that quotes are ok even on Mac.  Isn't the code that makes
the initial command line building it up out of pieces?  If so, I'd add the
quotes as the initial command line is getting built up.  You might need to
test if quotes already exist in the piece.

But anyway, let's table the actual work for that until we get the tests
running.


On 8/23/12 9:13 AM, "Peter Ent" <pent@adobe.com> wrote:

> The code makes an initial command line, then separates them into String[].
> A bit later it joins the String[] back to string, adds more arguments, and
> splits it again. I think it sounds simpler than it is, but that's the gist
> of it. I think the code should have been written to just create an
> ArrayList of all the arguments and then turn that into an Array when ready
> to launch the compiler; that's how I would ultimately solve it.
> 
> --peter
> 
> On 8/23/12 12:01 PM, "Alex Harui" <aharui@adobe.com> wrote:
> 
>> It might be better to figure out how to quote those entries.  Why was it
>> hard to do that as the command line gets built up?
>> 
>> 
>> On 8/23/12 8:55 AM, "Peter Ent" <pent@adobe.com> wrote:
>> 
>>> Certainly appreciate the help. Here's a typical one when running
>>> Mustella:
>>> 
>>> -debug -define=CONFIG::skaha,false
>>> 
>>> -compiler.fonts.managers=flash.fonts.JREFontManager,flash.fonts.AFEFontMa
>>> na
>>> ger,flash.fonts.BatikFontManager,flash.fonts.CFFFontManager
>>> -source-path=/Users/pent/apache/flex/mustella/Assets
>>> -includes=ExcludeFileLocation -includes=SetShowRTE
>>> -includes=SaveBitmapFailures
>>> -includes=datagrid_properties_lockedColumnCount_mxml
>>> 
>>> -source-path=/Users/pent/apache/flex/mustella/tests/components/DataGrid/D
>>> at
>>> aGrid_SparkSkin/Properties --allow-source-path-overlap=true
>>> -includes=SendResultsToRunner  -includes=ExitWhenDone -source-path=.
>>> -source-path=/Users/pent/apache/flex/mustella/../frameworks/
>>> -source-path=/Users/pent/apache/flex/mustella/as3/src/mustella
>>> 
>>> Try changing my path, "/Users/pent/apache/" to something like
>>> "/Users/pent/apache with spaces/" to get a better example.
>>> 
>>> What happens in the code is that groups of these options may be coming
>>> from the environment, so you might find "-debug
>>> -define=CONFIG::skaha,false" being added as a single entity. Then code
>>> turns what it has at the moment into a String[] and passes that to
>>> another
>>> function that might add more arguments. If that function does, it will
>>> turn the String[] back into a String, add the arguments, then turn it
>>> back
>>> into String[]. 
>>> 
>>> But if you can make something that will convert the args into an
>>> acceptable String[] it would be super-helpful.
>>> 
>>> Thanks!
>>> --peter
>>> 
>>> On 8/23/12 11:44 AM, "Kessler CTR Mark J" <mark.kessler.ctr@usmc.mil>
>>> wrote:
>>> 
>>>> String.split(regexpattern)  can match pretty much anything.  Definitely
>>>> would be able to comeup with a pattern to match embedded dashes.
>>>> 
>>>> I'll see if I can come up with something that can properly strip down a
>>>> completed command with arguments.  If you would give me a more complex
>>>> command line that would be great.  I can test against it.
>>>> 
>>>> Currently my setup uses few command line arguments and instead adds to
>>>> the "-load-config+=mycustomconfig.xml"
>>>> 
>>>> -----Original Message-----
>>>> From: Peter Ent [mailto:pent@adobe.com]
>>>> Sent: Thursday, August 23, 2012 10:52
>>>> To: flex-dev@incubator.apache.org
>>>> Subject: Re: Getting Mustella to work.
>>>> 
>>>> I tried something like that, but there are options like: -source-path=
>>>> with a hyphen in the option and a couple that begin with double
>>>> hyphens.
>>>> I started to switch over to String.split(" -") to break apart on the
>>>> space+dash but then ran into this mysterious problem of mxmlc not
>>>> liking
>>>> the arguments it was given, even though, as far as I can tell, it was
>>>> getting the same ones in the same order. Obviously that wasn't the
>>>> case,
>>>> but had trouble tracking it down, so it is on hold for now while we get
>>>> the tests to run, unless someone else wants to take a stab at it.
>>>> 
>>>> --peter
>>>> 
>>>> On 8/23/12 10:43 AM, "Kessler CTR Mark J" <mark.kessler.ctr@usmc.mil>
>>>> wrote:
>>>> 
>>>>> I'm not sure what Mustella is written in, but would something generic
>>>>> like this work?
>>>>> 
>>>>> If a string needs to be turned into an array then maybe... Use the "-"
>>>>> as the first delimiter to break apart the options and use a temp
>>>>> array.
>>>>> Then use the "=" to break out the names from the values.
>>>>> 
>>>>> Keeping two arrays with the same number of elements.  One array stores
>>>>> the argument name and the second argument value.
>>>>> 
>>>>> //Declare arrays/string
>>>>> string [] saNames = {"Option1", "Option2", "Option3"}; string []
>>>>> saValues = {"My value with spaces", "test2", "test 3"}; string
>>>>> sCombinedOptions = "";
>>>>> 
>>>>> //Loop through all elements in arrays
>>>>> for (;;)
>>>>> {
>>>>>   //Combine names / values.
>>>>>   sCombinedOptions += saNames[currentItem] + "=""" +
>>>>> saValues[currentItem] + """ "; }
>>>>> 
>>>>> 
>>>>> //Add the command line and options.
>>>>> "path\mxmlc.exe" + " " + sCombinedOptions;
>>>>> 
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Peter Ent [mailto:pent@adobe.com]
>>>>> Sent: Thursday, August 23, 2012 9:33
>>>>> To: flex-dev@incubator.apache.org
>>>>> Subject: Re: Getting Mustella to work.
>>>>> 
>>>>> That ought to work, but does not. The Mustella code pieces together a
>>>>> large string with all of the options on it, then turns the string into
>>>>> a String[] by using space as the delimiter. Thus
>>>>> 
>>>>> -source-path="C:\Program Files\Common Files\Microsoft
>>>>> Shared\MSInfo\MSInfo32.exe"
>>>>> 
>>>>> turns into
>>>>> [] = -source-path="C:\Program Files\Common [] = Files\Microsoft [] =
>>>>> Shared\MSInfo\MSInfo32.exe"
>>>>> 
>>>>> And it does this several times (turning the array into a string,
>>>>> inserting other args, back to an array) to build up the argument list.
>>>>> Ultimately, the array of options is passed over to mxmlc to execute,
>>>>> so
>>>>> it does need to turn into an array of options. I was working on
>>>>> putting
>>>>> everything into an ArrayList but more and more code needed to change
>>>>> and then I was getting errors from mxmlc saying parameters were being
>>>>> mixed which I didn't understand since it was getting the same
>>>>> parameters in the same order.
>>>>> 
>>>>> So I have to re-think the approach.
>>>>> 
>>>>> --peter
>>>>> 
>>>>> On 8/23/12 6:59 AM, "Kessler CTR Mark J" <mark.kessler.ctr@usmc.mil>
>>>>> wrote:
>>>>> 
>>>>>> I know this may sound silly, but windows deals with the spaces in
>>>>>> path
>>>>>> using quotes around the whole path.  Is there something similar with
>>>>>> Mustella?
>>>>>> 
>>>>>> So a windows command prompt example, I could do something like the
>>>>>> following...
>>>>>> "C:\Program Files\Common Files\Microsoft Shared\MSInfo\MSInfo32.exe"
>>>>>> 
>>>>>> 
>>>>>> Whereas the old non spaced dos style naming convention would do this
>>>>>> without quotes..
>>>>>> c:\progra~1\common~1\micros~1\msinfo\MSInfo32.exe
>>>>>> 
>>>>>> 
>>>>>> r/s
>>>>>> -Mark
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Peter Ent [mailto:pent@adobe.com]
>>>>>> Sent: Wednesday, August 22, 2012 9:20
>>>>>> To: flex-dev@incubator.apache.org
>>>>>> Subject: Re: Getting Mustella to work.
>>>>>> 
>>>>>> I have not have luck solving the problem. It is much trickier than
I
>>>>>> anticipated. I am going to jump back into getting more tests to run
>>>>>> and think more about the problem. Operating systems have allowed
>>>>>> spaces in file names for many, many years and you'd think would be
an
>>>>>> easily solvable problem (or not even a problem at all).
>>>>>> 
>>>>>> --peter
>>>>>> 
>>>>>> On 8/21/12 11:12 PM, "Justin Mclean" <justin@classsoftware.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> If the space path issue was fixed you have more to add. Any luck
>>>>>>> with
>>>>>>> that yet?
>>>>>>> 
>>>>>>> Justin
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> -- 
>> Alex Harui
>> Flex SDK Team
>> Adobe Systems, Inc.
>> http://blogs.adobe.com/aharui
>> 
> 

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui


Mime
View raw message