Skip to content

Commit c99be39

Browse files
committed
Use product list to specify architecture
That allows the installer to run with the given architecture and force Rosetta if required.
1 parent 33813bb commit c99be39

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/com/inet/gradle/setup/dmg/DmgBuilder.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,18 @@
2626
import java.nio.file.attribute.FileAttribute;
2727
import java.util.ArrayList;
2828
import java.util.Arrays;
29+
import java.util.Collections;
30+
import java.util.HashMap;
2931
import java.util.List;
32+
import java.util.Map;
3033

3134
import javax.imageio.ImageIO;
3235

3336
import org.gradle.api.internal.file.FileResolver;
3437
import org.w3c.dom.Element;
3538

3639
import com.inet.gradle.appbundler.OSXCodeSign;
40+
import com.inet.gradle.appbundler.utils.xmlwise.Plist;
3741
import com.inet.gradle.setup.SetupBuilder;
3842
import com.inet.gradle.setup.Template;
3943
import com.inet.gradle.setup.abstracts.AbstractBuilder;
@@ -43,6 +47,7 @@
4347
import com.inet.gradle.setup.image.ImageFactory;
4448
import com.inet.gradle.setup.util.TempPath;
4549
import com.inet.gradle.setup.util.XmlFileBuilder;
50+
import com.oracle.appbundler.PlistEntry;
4651

4752
/**
4853
* Build a DMG image for OSX.
@@ -311,11 +316,18 @@ private String installationSubdirectory() {
311316
* @throws Throwable in case of error
312317
*/
313318
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+
314324
ArrayList<String> command;
315325
// Synthesize Distribution xml
316326
command = new ArrayList<>();
317327
command.add( "/usr/bin/productbuild" );
318328
command.add( "--synthesize" );
329+
command.add( "--product" );
330+
command.add( productFile.toString() );
319331
command.add( "--package" );
320332
command.add( tempPath.getTempFile( "packages", setup.getApplication() + ".pkg" ).toString() );
321333
command.add( tempPath.getTempFile( "distribution.xml" ).toString() );

0 commit comments

Comments
 (0)