Mac path bug

super annoying bug for Mac users in 3.0.4 with projects using monkey.jungle. The Jungle paths are requiring absolute paths with forward slash (i.e. windows path format).

sample jungle using SDK 3.0.3 and before (used relative path with the linux backslash)

rectangle-148x205.sourcePath = $(base.sourcePath);\source-rectangle-148x205;\source-all
rectangle-205x148.sourcePath = $(base.sourcePath);\source-rectangle-205x148;\source-all
semiround.sourcePath= $(base.sourcePath);\source-semiround;\source-all

The error I get in 3.0.4 using the above 3.0.3 jungle

BUILD: /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar /Users/fb3/Documents/ConnectIQ/connectiq-sdk-mac-3.0.4-2018-10-24-ef411a9/bin/monkeybrains.jar -o /Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/bin/Boxing.prg -w -y /Users/fb3/Documents/Garmin/ConnectIQApps/developer_key_FIRSTKEY -d fenix5xplus_sim -s 3.0.0 -f /Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/monkey.jungle

BUILD: com.garmin.monkeybrains.asm.AssemblerException: Unable to resolve entry class. Check the manifest file.
....
BUILD: WARNING: monkey.jungle:38: Source path '/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-va3' cannot be resolved to a valid path.
BUILD: WARNING: monkey.jungle:35: Source path '/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-all' cannot be resolved to a valid path.
BUILD: WARNING: monkey.jungle:38: Source path '/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-all' cannot be resolved to a valid path.
BUILD: WARNING: monkey.jungle:35: Source path '/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-fenix5' cannot be resolved to a valid path.


WHEN I CHANGE THE JUNGLE TO THE FOLLOWING NO ERRORS.


rectangle-148x205.sourcePath = $(base.sourcePath);/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-rectangle-148x205;/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-all
rectangle-205x148.sourcePath = $(base.sourcePath);/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-rectangle-205x148;/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-all
semiround.sourcePath= $(base.sourcePath);/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-semiround;/Users/fb3/Documents/Garmin/ConnectIQApps/Boxing/source-all

fix paths for Mac users

Thanks,
BrianB


  • rectangle-148x205.sourcePath = $(base.sourcePath);\source-rectangle-148x205;\source-all
    rectangle-205x148.sourcePath = $(base.sourcePath);\source-rectangle-205x148;\source-all
    semiround.sourcePath= $(base.sourcePath);\source-semiround;\source-all



    This is your jungle file? I'm surprised this ever worked. You've got backslashes in there, but backslashes in Linux/MacOS are escapes. If you want to specify an absolute path in a jungle file, I'd expect that you'd use a leading forward slash.

    All of the documentation for jungle files shows using relative paths:

    rectangle-148x205.sourcePath = $(base.sourcePath);source-rectangle-148x205;source-all
    rectangle-205x148.sourcePath = $(base.sourcePath);source-rectangle-205x148;source-all
    semiround.sourcePath= $(base.sourcePath);source-semiround;source-all


    This should do what you want and is consistent with the documentation.

    Travis