[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tycho-dev] Mac OS X .app product packaging documentation removed
|
H Tobias,
On 2014-03-06 15:45:37 +0000, Oberlies, Tobias said:
So, if anyone of you has got this working and wants to share this
knowledge, I’d propose to go for a blog first (which obviously could be
linked from the documentation). If the approach described in the blog
shows to be working for several users, we could consider adding it to
the official documentation later.
I'm not sure I understand the issues raised. From a Mac product
building point of view, the feature works as expected. I can imagine
that the IUs are causing issues with p2 mirroring. But I'm not sure if
that's Tycho's fault ot p2. :)
FWIW, building Mac apps is pretty easy with Tycho. Here is my pom.xml snippet:
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<executions>
<execution>
<!-- install products using p2 director -->
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<!-- create product archives -->
<id>archive-products</id>
<!-- move this to the pre-integration-test for signing to work -->
<phase>pre-integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
<configuration>
<profile>GyrexServerProfile</profile>
<products>
<product>
<id>org.eclipse.gyrex.products.server</id>
<archiveFileName>gyrex-${buildId}</archiveFileName>
<rootFolder>gyrex</rootFolder>
<!-- note: this doesn't work properly with Mac signing -->
<rootFolders>
<macosx>Gyrex.app</macosx>
</rootFolders>
</product>
</products>
<formats>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
</configuration>
</plugin>
</plugins>
</build>
As you can see from the comments, the tricky part /was/ getting it to
work with the Eclipse.org signing service. But with the help of Than
and some updates to the signing service, I was able to get it working
with the following profile:
<profile>
<!-- participate in signing so that the executables are signed -->
<id>eclipse-sign-executables-mac</id>
<build>
<plugins>
<plugin>
<!-- copy CodeResources for Mac signing -->
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-macos-app-resources</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/products/org.eclipse.gyrex.products.server/macosx/cocoa/x86_64/Gyrex.app/Contents</outputDirectory>
<resources>
<resource>
<directory>MacOS/Contents</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-macsigner-plugin</artifactId>
<version>${cbi-plugins.version}</version>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
<phase>package</phase>
<configuration>
<signFiles>
<signFile>${project.build.directory}/products/org.eclipse.gyrex.products.server/macosx/cocoa/x86_64/Gyrex.app</signFile>
</signFiles>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
HTH,
Gunnar
--
Gunnar Wagenknecht
gunnar@xxxxxxxxxxxxxxx