On 2017-10-12 15:40, Erik Joelsson wrote:
Unfortunately, it didn't stay as easy as that. After hitting snag after snag, I finally decided to implement some kind of general support for file names with spaces in them, with support in CacheFind and SetupCopyFiles, as well as the various install-file variants. This got a little bit more messy than I would have liked, but at least I added a test for SetupCopyFiles to verify the functionality. Also note that this only works fully with gnu make 4.0 or later. With 3.81, I only get spaces to work in the leaf file and not in any directory. We certainly don't want to encourage anyone to use file names with spaces anywhere however, so even limited support is ok IMO.

While working on the tests I found some problems with the current tests that I also fixed to get a clean baseline for these changes.

Webrev: http://cr.openjdk.java.net/~erikj/8189095/webrev.02/

Hm.

It's not really pretty. (Apart from MacBundles.gmk, that one got really cleaner.). It might be the best solution to a hairy problem, though. :-&

I'm not sure I'm so fond of the S2Q and Q2S names. I realize you wanted something short, but it looks really cryptic. Spelling out "SpaceToQuestionMark" is not the answer either. How about "EncodeSpaces" and "DecodeSpaces", or something like that?

It's very nice that you added the test (and fixed the test suite!). Kudos! However, it took me some time to realize why you needed a TestCommon.gmk when we already had a TestMakeBase.gmk. Maybe drop the Test prefix from the utilities, more like CommonUtils.gmk? The fact that it resides in test/make/ makes it clear that it is for testing, but having no Test- prefix doesn't implicate that we're actually *testing* something.

/Magnus

/Erik


On 2017-10-11 18:44, Erik Joelsson wrote:
Please review this small fix for the mac-bundles target. The current solution does not handle files with spaces in them. By changing this to a single rule with a recursive copy, any filenames that includes spaces will be handled correctly.

Webrev: http://cr.openjdk.java.net/~erikj/8189095/webrev.01/

/Erik



Reply via email to