On 27 Nov 2013, at 9:35 pm, Michael Putters <michael.putt...@binarygenetics.com> wrote:
> Hello, > > > I have started working on a small Gradle plugin that generates .msi packages > using WiX. I know there is already something for RPM at > https://github.com/TrigonicSolutions/gradle-rpm-plugin and some OS X/iOS > specific stuff at https://github.com/openbakery/gradle-xcodePlugin. > > Is there a plan to eventually have Gradle incorporate these features, kind of > like native binaries make it possible to build for multiple targets (but here > it would package for multiple targets), or should I keep that MSI plugin > apart for now? > > It would be nice to have something like native binaries that can build a > .rpm, a .msi, a .pkg (or even war?), including signing, since right now it > seems to be kind of spread in multiple different projects where things are > done differently… There’s definitely a plan to make native packages a core concept. These packages are the basic outputs of a native project, and to not support these things would be like the java plugin not being able to build a jar or the web app plugin not being able to build a war. The idea is to grow the distribution plugin so that: 1. The distribution plugin adds a model that contains zero or more distribution objects. A distribution defines some collection of files + meta-data that can be packaged up in a bunch of different ways. In this way, a distribution is similar to a native executable or native library model object. It’s the logical ‘thing’ rather than the physical package files. 2. There are a bunch of plugins that add different ways that a distribution can be packaged - one for rpm, zip/tar, msi, and so on. In this way, a packaging is similar to a native binary model object. It’s some physical representation of the distribution. 3. The native plugins and the jvm plugins know how to map a native library or executable or a jvm based library or application to a distribution image. These things would combine to allow you to take any component and package it in a bunch of different ways. -- Adam Murdoch Gradle Co-founder http://www.gradle.org VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com