# HG changeset patch # User wenzelm # Date 1609870737 -3600 # Node ID 27f79e7eb356626cdbe6a975df165dcb3417ec90 # Parent dd68f20d404186155b2b978e94a3ad0735400104 tuned -- generate Info.plist in Isabelle/Scala; diff -r dd68f20d4041 -r 27f79e7eb356 Admin/MacOS/Info.plist --- a/Admin/MacOS/Info.plist Tue Jan 05 19:00:25 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ - - - - -CFBundleDevelopmentRegion -English -CFBundleExecutable -JavaAppLauncher -CFBundleIconFile -isabelle.icns -CFBundleIdentifier -de.tum.in.isabelle.{ISABELLE_NAME} -CFBundleDisplayName -{ISABELLE_NAME} -CFBundleInfoDictionaryVersion -6.0 -CFBundleName -{ISABELLE_NAME} -CFBundlePackageType -APPL -CFBundleShortVersionString -1.0 -CFBundleSignature -???? -CFBundleVersion -1 -NSHumanReadableCopyright - -LSMinimumSystemVersion -10.7 -LSApplicationCategoryType -public.app-category.developer-tools -NSHighResolutionCapable -true -NSSupportsAutomaticGraphicsSwitching -true -JVMRuntime -bundled.jdk -JVMMainClassName -isabelle.Main -CFBundleDocumentTypes - - -CFBundleTypeExtensions - -thy - -CFBundleTypeIconFile -theory.icns -CFBundleTypeName -Isabelle theory file -CFBundleTypeRole -Editor -LSTypeIsPackage - - - -JVMOptions - -{JAVA_OPTIONS} --splash:$APP_ROOT/Contents/Resources/{ISABELLE_NAME}/lib/logo/isabelle.gif --Dapple.awt.application.name={ISABELLE_NAME} --Disabelle.root=$APP_ROOT/Contents/Resources/{ISABELLE_NAME} --Disabelle.app=true - -JVMArguments - - - - diff -r dd68f20d4041 -r 27f79e7eb356 src/Pure/Admin/build_release.scala --- a/src/Pure/Admin/build_release.scala Tue Jan 05 19:00:25 2021 +0100 +++ b/src/Pure/Admin/build_release.scala Tue Jan 05 19:18:57 2021 +0100 @@ -246,7 +246,7 @@ } - /* Isabelle application script */ + /* Isabelle application */ def make_isabelle_app( path: Path, @@ -291,6 +291,82 @@ } + def make_isabelle_plist(path: Path, isabelle_name: String, java_options: List[String]) + { + File.write(path, """ + + + +CFBundleDevelopmentRegion +English +CFBundleExecutable +JavaAppLauncher +CFBundleIconFile +isabelle.icns +CFBundleIdentifier +de.tum.in.isabelle.""" + isabelle_name + """ +CFBundleDisplayName +""" + isabelle_name + """ +CFBundleInfoDictionaryVersion +6.0 +CFBundleName +""" + isabelle_name + """ +CFBundlePackageType +APPL +CFBundleShortVersionString +1.0 +CFBundleSignature +???? +CFBundleVersion +1 +NSHumanReadableCopyright + +LSMinimumSystemVersion +10.7 +LSApplicationCategoryType +public.app-category.developer-tools +NSHighResolutionCapable +true +NSSupportsAutomaticGraphicsSwitching +true +JVMRuntime +bundled.jdk +JVMMainClassName +isabelle.Main +CFBundleDocumentTypes + + +CFBundleTypeExtensions + +thy + +CFBundleTypeIconFile +theory.icns +CFBundleTypeName +Isabelle theory file +CFBundleTypeRole +Editor +LSTypeIsPackage + + + +JVMOptions + +""" + terminate_lines(java_options.map(opt => "" + opt + "")) + """ +-splash:$APP_ROOT/Contents/Resources/""" + isabelle_name + """/lib/logo/isabelle.gif +-Dapple.awt.application.name=""" + isabelle_name + """ +-Disabelle.root=$APP_ROOT/Contents/Resources/""" + isabelle_name + """ +-Disabelle.app=true + +JVMArguments + + + + +""") + } + + /* main */ private val default_platform_families: List[Platform.Family.Value] = @@ -589,11 +665,8 @@ val app_resources = app_contents + Path.explode("Resources") File.move(tmp_dir + Path.explode(isabelle_name), app_resources) - File.write(app_contents + Path.explode("Info.plist"), - File.read(Path.explode("~~/Admin/MacOS/Info.plist")) - .replace("{ISABELLE_NAME}", isabelle_name) - .replace("{JAVA_OPTIONS}", - terminate_lines(java_options.map(opt => "" + opt + "")))) + make_isabelle_plist( + app_contents + Path.explode("Info.plist"), isabelle_name, java_options) for (cp <- classpath) { File.link(