|
26 | 26 | import java.nio.file.attribute.FileAttribute; |
27 | 27 | import java.util.ArrayList; |
28 | 28 | import java.util.Arrays; |
| 29 | +import java.util.Collections; |
| 30 | +import java.util.HashMap; |
29 | 31 | import java.util.List; |
| 32 | +import java.util.Map; |
30 | 33 |
|
31 | 34 | import javax.imageio.ImageIO; |
32 | 35 |
|
33 | 36 | import org.gradle.api.internal.file.FileResolver; |
34 | 37 | import org.w3c.dom.Element; |
35 | 38 |
|
36 | 39 | import com.inet.gradle.appbundler.OSXCodeSign; |
| 40 | +import com.inet.gradle.appbundler.utils.xmlwise.Plist; |
37 | 41 | import com.inet.gradle.setup.SetupBuilder; |
38 | 42 | import com.inet.gradle.setup.Template; |
39 | 43 | import com.inet.gradle.setup.abstracts.AbstractBuilder; |
|
43 | 47 | import com.inet.gradle.setup.image.ImageFactory; |
44 | 48 | import com.inet.gradle.setup.util.TempPath; |
45 | 49 | import com.inet.gradle.setup.util.XmlFileBuilder; |
| 50 | +import com.oracle.appbundler.PlistEntry; |
46 | 51 |
|
47 | 52 | /** |
48 | 53 | * Build a DMG image for OSX. |
@@ -311,11 +316,18 @@ private String installationSubdirectory() { |
311 | 316 | * @throws Throwable in case of error |
312 | 317 | */ |
313 | 318 | private void createAndPatchDistributionXML() throws Throwable { |
| 319 | + File productFile = tempPath.getTempFile( "product.plist" ); |
| 320 | + Map<String, Object> map = new HashMap<>(); |
| 321 | + map.put( "arch", task.getArchitecture() ); |
| 322 | + Plist.store( map, productFile ); |
| 323 | + |
314 | 324 | ArrayList<String> command; |
315 | 325 | // Synthesize Distribution xml |
316 | 326 | command = new ArrayList<>(); |
317 | 327 | command.add( "/usr/bin/productbuild" ); |
318 | 328 | command.add( "--synthesize" ); |
| 329 | + command.add( "--product" ); |
| 330 | + command.add( productFile.toString() ); |
319 | 331 | command.add( "--package" ); |
320 | 332 | command.add( tempPath.getTempFile( "packages", setup.getApplication() + ".pkg" ).toString() ); |
321 | 333 | command.add( tempPath.getTempFile( "distribution.xml" ).toString() ); |
|
0 commit comments