javafxports / javafxmobile-plugin

A gradle plugin for building mobile applications in java.
BSD 3-Clause "New" or "Revised" License
42 stars 19 forks source link

NullPointerException creating Assets.xcassets #59

Closed joerg-wille closed 6 years ago

joerg-wille commented 6 years ago

Using jfxmobile-plugin: 2.0.20
(and meeting all prerequisites from here.) Could be related to iOS Assets: allow inner folders.

12:20:28.544 [ERROR] [system.err] [12:20:28:544] BosonAppBuilder: Compiling AppDelegate results in 0 
12:20:28.546 [ERROR] [system.err] [12:20:28:546] BosonAppBuilder: Calling actool for /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/src/ios/assets/Assets.xcassets 
12:20:28.618 [ERROR] [system.err] [12:20:28:618] BosonAppBuilder: PB = java.lang.ProcessBuilder@65750e44 
12:20:28.620 [ERROR] [system.err] [12:20:28:619] BosonAppBuilder: PBlist = [null, --output-format, human-readable-text, --app-icon, AppIcon, --output-partial-info-plist, /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/build/gvm/tmp/partial-plists/Assets.xcassets_1524841111763949452.plist, --platform, iphoneos, --minimum-deployment-target, 8.0, --target-device, iphone, --target-device, ipad, --compress-pngs, --compile, /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/build/gvm/MakeProAudioApp.app, /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/src/ios/assets/Assets.xcassets] 
12:20:28.622 [ERROR] [system.err] [12:20:28:622] BosonAppBuilder: command to actool: null --output-format human-readable-text --app-icon AppIcon --output-partial-info-plist /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/build/gvm/tmp/partial-plists/Assets.xcassets_1524841111763949452.plist --platform iphoneos --minimum-deployment-target 8.0 --target-device iphone --target-device ipad --compress-pngs --compile /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/build/gvm/MakeProAudioApp.app /Volumes/Mavericks HD/birgit/NetBeansProjects/MakeProAudio/MakeProAudioApp/src/ios/assets/Assets.xcassets  
12:20:28.622 [ERROR] [system.err] java.lang.NullPointerException
12:20:28.623 [ERROR] [system.err]   at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1090)
12:20:28.623 [ERROR] [system.err]   at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
12:20:28.623 [ERROR] [system.err]   at com.gluonhq.gvmbuild.BosonAppBuilder.actool(BosonAppBuilder.java:1512)
12:20:28.623 [ERROR] [system.err]   at com.gluonhq.gvmbuild.BosonAppBuilder.lambda$copyAssets$25(BosonAppBuilder.java:1033)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
12:20:28.624 [ERROR] [system.err]   at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:430)
12:20:28.625 [ERROR] [system.err]   at com.gluonhq.gvmbuild.BosonAppBuilder.copyAssets(BosonAppBuilder.java:1028)
12:20:28.625 [ERROR] [system.err]   at com.gluonhq.gvmbuild.BosonAppBuilder.build(BosonAppBuilder.java:353)
12:20:28.625 [ERROR] [system.err]   at org.javafxports.jfxmobile.plugin.Gvm.build(Gvm.java:116)
12:20:28.625 [ERROR] [system.err]   at org.javafxports.jfxmobile.plugin.ios.task.IosDevice.action(IosDevice.java:42)
12:20:28.625 [ERROR] [system.err]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:20:28.625 [ERROR] [system.err]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
12:20:28.625 [ERROR] [system.err]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:20:28.625 [ERROR] [system.err]   at java.base/java.lang.reflect.Method.invoke(Method.java:564)
jperedadnr commented 6 years ago

Can you open a terminal and run this command: xcrun -sdk iphoneos -f actool It should give you something like /Applications/Xcode.app/Contents/Developer/usr/bin/actool but in your stacktrace it shows null.

If you get null, can you check Xcode -> Preferences -> Locations and see what you have under Command Line Tools?

joerg-wille commented 6 years ago

ls -al /Applications/Xcode.app/Contents/Developer/usr/bin/actool -rwxr-xr-x 1 root wheel 49040 20 Mär 04:34 /Applications/Xcode.app/Contents/Developer/usr/bin/actool and: /Applications/Xcode.app/Contents/Developer/usr/bin/actool --version

<plist version="1.0">
<dict>
    <key>com.apple.actool.version</key>
    <dict>
        <key>bundle-version</key>
        <string>14109</string>
        <key>short-bundle-version</key>
        <string>9.3</string>
    </dict>
</dict>
</plist>

but: xcrun -sdk iphoneos -f actool xcrun: error: SDK "iphoneos" cannot be located xcrun: error: unable to find utility "actool", not a developer tool or in PATH

This fixed my path problem: sudo xcode-select --switch /Applications/Xcode.app

jperedadnr commented 6 years ago

Do you mean that after selecting the Xcode directory, it works for you? Is actool found now?

joerg-wille commented 6 years ago

Yes, actool is now found: command to actool: /Applications/Xcode.app/Contents/Developer/usr/bin/actool ...