This page contains all remaining issues that I need to resolve before Maven 2 is fully replaced with gradle. I currently manage both Maven 2 and Gradle build files in parallel - but this is something I obviously would like to get rid of.
Any help would be seriously appreciated!
Here are some links to the parent poms of sulky and lilith as a fast shortcut:
These are the current lilith gradle files:
These are the current sulky gradle files:
General issues that are related to both sulky and lilith.
Is there already GPG support available in Gradle?
What do I have to do to get the artifacts signed with GPG before deployment if a certain property is set?
I've done it like this in Maven 2.
<properties> <gpg.executable>gpg2</gpg.executable> <gpg.useagent>true</gpg.useagent> <gpg.keyname>740A1840</gpg.keyname> </properties> <profiles> <profile> <id>release-sign-artifacts</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles>
Is there a way to generate a site roughly comparable to the one that Maven 2 generates? This isn't as important as the rest of the issues, though.
Nope, there isn't something comparable to Maven site generation.
Issues remaining that prevent building the final application.
See http://github.com/huxi/lilith/tree/master/lilith/ and http://github.com/huxi/lilith/blob/master/lilith/pom.xml
Done.
I have added the Main-Class attribute to the manifest but I'm unable to find a (working) way to create the Class-Path attribute.
The solution suggested in this mail to gradle-user doesn't work for me, probably since I'm not using a separate jar file.
Done.
I've been able to get most of it done. I'm just struggling to get the project artifact itself added to the libs directory. Beside adding it, it also needs to be renamed to lilith.jar instead of the full artifact name including version etc..
Done. This has been implemented in this commit.
One of my artifacts is a shaded jar containing everything needed in order to run Lilith in one single jar.
Creation of Lilith.app and Lilith.dmg is done using the following configuration:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>osxappbundle-maven-plugin</artifactId> <version>1.0-alpha-2</version> <!-- <version>1.0-alpha-1</version> --> <configuration> <!-- <dictionaryFile>${basedir}/src/main/mac-resources/Info.plist</dictionaryFile> --> <jvmVersion>1.5+</jvmVersion> <mainClass>de.huxhorn.lilith.Lilith</mainClass> <iconFile>${basedir}/src/main/mac-resources/Lilith.icns</iconFile> <javaApplicationStub>${basedir}/src/main/mac-resources/JavaApplicationStub</javaApplicationStub> <bundleName>Lilith</bundleName> <vmOptions>-Dcom.apple.macos.useScreenMenuBar=true</vmOptions> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>bundle</goal> </goals> </execution> </executions> </plugin>
I'm currently implementing both a pgp-gradle-plugin (please take a look at the README - it contains infos about open issues and usage) and an osx-gradle-plugin.
Those are/will be contained in the huxi-gradle-plugins repository. Any help, suggestions, ideas or mehs are highly appreciated.
To be able to build the osx-gradle-plugin, I've implemented Apple PropertyList (plist) reading and writing in a new sulky-module: sulky-plist
This was necessary to be able to read an existing property list file, update some values and write it back into another file - all of this without risking any corruption.
I'm trying to set up Sonatype as snapshot/release-repository for sulky & Lilith. This will replace the current sync to the central maven repository - and I hope it will be less painful in the end...