@@ -87,7 +87,11 @@ protected void configurePackagingPipeline(PackagingPipeline.Builder pipelineBuil
87
87
}
88
88
89
89
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
+ }
91
95
}
92
96
}
93
97
@@ -102,7 +106,7 @@ record InternalPackage(Path srcRoot, String identifier, Path path, List<String>
102
106
103
107
private List <String > allPkgbuildArgs () {
104
108
final List <String > args = new ArrayList <>();
105
- args .add ("-root" );
109
+ args .add ("-- root" );
106
110
args .add (normalizedAbsolutePathString (srcRoot ));
107
111
args .addAll (otherPkgbuildArgs );
108
112
args .add ("--identifier" );
@@ -116,6 +120,7 @@ void build() {
116
120
cmdline .add ("/usr/bin/pkgbuild" );
117
121
cmdline .addAll (allPkgbuildArgs ());
118
122
try {
123
+ Files .createDirectories (path .getParent ());
119
124
IOUtils .exec (new ProcessBuilder (cmdline ), false , null , true , Executor .INFINITE_TIMEOUT );
120
125
} catch (IOException ex ) {
121
126
throw new UncheckedIOException (ex );
@@ -256,10 +261,18 @@ private void applyToPipeline(PackagingPipeline.Builder pipelineBuilder) {
256
261
.addDependencies (PkgPackageTaskID .PREPARE_MAIN_SCRIPTS )
257
262
.add ();
258
263
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 ();
263
276
}
264
277
}
265
278
@@ -543,7 +556,7 @@ private void productbuild() throws IOException {
543
556
commandLine .add ("--distribution" );
544
557
commandLine .add (normalizedAbsolutePathString (distributionXmlFile ()));
545
558
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.
547
560
commandLine .add (normalizedAbsolutePathString (mainPkg ().path ().getParent ()));
548
561
}
549
562
commandLine .add (normalizedAbsolutePathString (finalPkg ));
0 commit comments