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" <p...@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.AFEFontMana
> 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/Dat
> 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....@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:p...@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....@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:p...@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....@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:p...@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" <jus...@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

Reply via email to