Closed mpeters2 closed 9 months ago
This is unexpected. I see that the Contents/Libraries/startup
folder is not created, so the mkdir
of the SplashScreen folder has failed. This directory would be created independently from the with_splash_screen
parameter as it is around 1KB, and I did not mind bothering. It only affects additional dependecies which need to be installed for the SplashScreen to work.
Can you print out a tree of the meta
folder to see what is being overridden or try to reproduce the error by manipulating one of the examples so I can reproduce the error locally?
(1) Should meta be in my project folder, or in the app it is building?
(2) Last night I added some println()'s to bundler.jl (lines 64, 80, and 120) to try to figure out what was going on. I failed, but I think it is accessing the default meta directory that came with AppBundler. Below is the output:
julia> AppBundler.bundle_app(MacOS(:aarch64), "/Users/…/AppBuilderVersion/Trichromacy", "/Users/…/AppBuilderVersion/Trichromacy.app")
[line 80 of build()]
Parameters = Dict{String, Any}("APP_SUMMARY" => "This is a default app summary", "BUILD_NUMBER" => 0, "BUNDLE_IDENTIFIER" => "org.appbundler.trichromacy", "PUBLISHER_DISPLAY_NAME" => "AppBundler", "APP_DESCRIPTION" => "A longer description of the app", "APP_DISPLAY_NAME" => "trichromacy", "APP_VERSION" => "0.1.0", "PUBLISHER" => "CN=AppBundler", "APP_NAME" => "trichromacy", "WITH_SPLASH_SCREEN" => "false")
[ Info: Rule with origin macos/Resources is skipped as not found in default or override path.
[line 120 of build()]
bundle.override, rule.origin), dest_path: /Users/…/AppBuilderVersion/Trichromacy/meta, icon.icns, /Users/…/AppBuilderVersion/Trichromacy.app/Contents/Resources/icon.icns
bundle.default, rule.origin), dest_path: /Users/…/.julia/packages/AppBundler/7VFZ4/recepies, icon.icns, /Users/…/AppBuilderVersion/Trichromacy.app/Contents/Resources/icon.icns
[ Info: Rule with origin precompile.jl is skipped as not found in default or override path.
[line 120 of build()]
bundle.override, rule.origin), dest_path: /Users/…/Trichromacy/meta, startup, /Users/…/Trichromacy.app/Contents/Libraries/startup
bundle.default, rule.origin), dest_path: /Users/…/.julia/packages/AppBundler/7VFZ4/recepies, startup, /Users/…/AppBuilderVersion/Trichromacy.app/Contents/Libraries/startup
[line 64 of merge()]
>>> dest_path: /Users/…/AppBuilderVersion/Trichromacy.app/Contents/Libraries/startup/SplashScreen
>>> src_path : /Users/…/.julia/packages/AppBundler/7VFZ4/recepies/startup/SplashScreen
ERROR: IOError: mkdir("/Users/…/AppBuilderVersion/Trichromacy.app/Contents/Libraries/startup/SplashScreen"; mode=0o777): no such file or directory (ENOENT)
Ok. I reproduced the bug. As a quick workaround create an empty precompile.jl
file until I make a fix.
The issue should be resolved with AppBundler 0.1.2, which will be registered in a few minutes.
Edit: the fix is merged with AppBundler 0.1.1
Julia 1.9.3. MacOS 14.0 ARM64
I entered the following from the terminal:
(paths edited to maintain privacy).
It does create a MacOS application package containing:
It looks like it is trying to make a splash screen, despite the parameter set to "nothing".