Skip to content

Commit 8fc0073

Browse files
Added a stub to build "Info.plist" file for runtime installer
1 parent 6a0a446 commit 8fc0073

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPackagingPipeline.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ enum MacBuildApplicationTaskID implements TaskID {
8888

8989
enum MacCopyAppImageTaskID implements TaskID {
9090
COPY_PACKAGE_FILE,
91+
COPY_RUNTIME_INFO_PLIST,
9192
REPLACE_APP_IMAGE_FILE,
9293
COPY_SIGN
9394
}
@@ -112,7 +113,7 @@ static PackagingPipeline.Builder build(Optional<Package> pkg) {
112113
.task(CopyAppImageTaskID.COPY)
113114
.copyAction(MacPackagingPipeline::copyAppImage).add()
114115
.task(MacBuildApplicationTaskID.RUNTIME_INFO_PLIST)
115-
.applicationAction(MacPackagingPipeline::writeRuntimeInfoPlist)
116+
.applicationAction(MacPackagingPipeline::writeApplicationRuntimeInfoPlist)
116117
.addDependent(BuildApplicationTaskID.CONTENT).add()
117118
.task(MacBuildApplicationTaskID.COPY_JLILIB)
118119
.applicationAction(MacPackagingPipeline::copyJliLib)
@@ -134,6 +135,9 @@ static PackagingPipeline.Builder build(Optional<Package> pkg) {
134135
.packageAction(MacPackagingPipeline::writePackageFile)
135136
.addDependencies(CopyAppImageTaskID.COPY)
136137
.addDependents(PrimaryTaskID.COPY_APP_IMAGE).add()
138+
.task(MacCopyAppImageTaskID.COPY_RUNTIME_INFO_PLIST)
139+
.addDependencies(CopyAppImageTaskID.COPY)
140+
.addDependents(PrimaryTaskID.COPY_APP_IMAGE).add()
137141
.task(MacBuildApplicationTaskID.FA_ICONS)
138142
.applicationAction(MacPackagingPipeline::writeFileAssociationIcons)
139143
.addDependent(BuildApplicationTaskID.CONTENT).add()
@@ -173,6 +177,9 @@ static PackagingPipeline.Builder build(Optional<Package> pkg) {
173177
// don't create ".package" file and don't sign it.
174178
disabledTasks.add(MacCopyAppImageTaskID.COPY_PACKAGE_FILE);
175179
disabledTasks.add(MacCopyAppImageTaskID.COPY_SIGN);
180+
// if (p.isRuntimeInstaller()) {
181+
// builder.task(MacCopyAppImageTaskID.COPY_RUNTIME_INFO_PLIST).packageAction(MacPackagingPipeline::writeRuntimeRuntimeInfoPlist).add();
182+
// }
176183
}
177184

178185
for (final var taskId : disabledTasks) {
@@ -238,22 +245,28 @@ private static void writePkgInfoFile(
238245
"APPL????".getBytes(StandardCharsets.ISO_8859_1));
239246
}
240247

241-
private static void writeRuntimeInfoPlist(
248+
private static void writeRuntimeRuntimeInfoPlist(PackageBuildEnv<MacPackage, AppImageLayout> env) throws IOException {
249+
writeRuntimeInfoPlist(env.pkg().app(), env.env(), env.resolvedLayout().rootDirectory());
250+
}
251+
252+
private static void writeApplicationRuntimeInfoPlist(
242253
AppImageBuildEnv<MacApplication, MacApplicationLayout> env) throws IOException {
254+
writeRuntimeInfoPlist(env.app(), env.env(), env.resolvedLayout().runtimeRootDirectory());
255+
}
243256

244-
final var app = env.app();
257+
private static void writeRuntimeInfoPlist(MacApplication app, BuildEnv env, Path runtimeRootDirectory) throws IOException {
245258

246259
Map<String, String> data = new HashMap<>();
247260
data.put("CF_BUNDLE_IDENTIFIER", app.bundleIdentifier());
248261
data.put("CF_BUNDLE_NAME", app.bundleName());
249262
data.put("CF_BUNDLE_VERSION", app.version());
250263
data.put("CF_BUNDLE_SHORT_VERSION_STRING", app.shortVersion().toString());
251264

252-
env.env().createResource("Runtime-Info.plist.template")
265+
env.createResource("Runtime-Info.plist.template")
253266
.setPublicName("Runtime-Info.plist")
254267
.setCategory(I18N.getString("resource.runtime-info-plist"))
255268
.setSubstitutionData(data)
256-
.saveToFile(env.resolvedLayout().runtimeRootDirectory().resolve("Contents/Info.plist"));
269+
.saveToFile(runtimeRootDirectory.resolve("Contents/Info.plist"));
257270
}
258271

259272
private static void writeAppInfoPlist(

0 commit comments

Comments
 (0)