Skip to content

Commit 1707c34

Browse files
Basic tests pass with PKG packager
1 parent 9249a28 commit 1707c34

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

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

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ protected void configurePackagingPipeline(PackagingPipeline.Builder pipelineBuil
8787
}
8888

8989
private Optional<Services> createServices() {
90-
return Optional.empty();
90+
if (pkg.app().isService()) {
91+
return Optional.of(Services.create(pkg, env));
92+
} else {
93+
return Optional.empty();
94+
}
9195
}
9296
}
9397

@@ -102,7 +106,7 @@ record InternalPackage(Path srcRoot, String identifier, Path path, List<String>
102106

103107
private List<String> allPkgbuildArgs() {
104108
final List<String> args = new ArrayList<>();
105-
args.add("-root");
109+
args.add("--root");
106110
args.add(normalizedAbsolutePathString(srcRoot));
107111
args.addAll(otherPkgbuildArgs);
108112
args.add("--identifier");
@@ -116,6 +120,7 @@ void build() {
116120
cmdline.add("/usr/bin/pkgbuild");
117121
cmdline.addAll(allPkgbuildArgs());
118122
try {
123+
Files.createDirectories(path.getParent());
119124
IOUtils.exec(new ProcessBuilder(cmdline), false, null, true, Executor.INFINITE_TIMEOUT);
120125
} catch (IOException ex) {
121126
throw new UncheckedIOException(ex);
@@ -256,10 +261,18 @@ private void applyToPipeline(PackagingPipeline.Builder pipelineBuilder) {
256261
.addDependencies(PkgPackageTaskID.PREPARE_MAIN_SCRIPTS)
257262
.add();
258263

259-
if (pkg.app().isService()) {
260-
for (var taskID : List.of(PkgPackageTaskID.PREPARE_SERVICES, InternalPackageType.SERVICES, InternalPackageType.SUPPORT)) {
261-
pipelineBuilder.task(taskID).noaction().add();
262-
}
264+
final List<TaskID> disabledTasks = new ArrayList<>();
265+
266+
if (!pkg.app().isService()) {
267+
disabledTasks.addAll(List.of(PkgPackageTaskID.PREPARE_SERVICES, InternalPackageType.SERVICES, InternalPackageType.SUPPORT));
268+
}
269+
270+
if (pkg.isRuntimeInstaller()) {
271+
disabledTasks.add(PkgPackageTaskID.PREPARE_MAIN_SCRIPTS);
272+
}
273+
274+
for (final var taskID : disabledTasks) {
275+
pipelineBuilder.task(taskID).noaction().add();
263276
}
264277
}
265278

@@ -543,7 +556,7 @@ private void productbuild() throws IOException {
543556
commandLine.add("--distribution");
544557
commandLine.add(normalizedAbsolutePathString(distributionXmlFile()));
545558
commandLine.add("--package-path");
546-
// Assume all internal .pkg files reside in the same directory.
559+
// Assume all internal .pkg files reside in the same directory.
547560
commandLine.add(normalizedAbsolutePathString(mainPkg().path().getParent()));
548561
}
549562
commandLine.add(normalizedAbsolutePathString(finalPkg));

0 commit comments

Comments
 (0)