TrigonicSolutions/gradle-rpm-plugin — pull request #38 by quidryan (2013-06-25 03:34:01+00:00)
Title: Add debian support and an extension.

This is a biggy of a pull request, so let's talk about it. As a starter, it works, there's tests and it even fixes #30. There are two pieces of functionality added here: an extension and debian support.

The extension lets settings (like package name, requires, links) to be shared between all packaging tasks. It also provides a Copy spec which will be joined with the tasks. For instance, a copyright message could be copied into all rpm tasks, while also setting the os and arch for all tasks.

The debian support comes out of the pkg4j plugin, but is primarily supported by the jdeb library. There are many similar conventions to redline.

Combined, they let you define a package just once via the extension, then get system packages for RedHat based and Debian based OS's, without losing the capabilities of either format. The .md files hopefully document the plugins in detail.

There's a few cleanups in here too, like no longer adding user/group/etc to every CopySpec's metaclass. Now it's confined to just our usages.