Packed artifacts for native (C/C++) modules

Hi all,

I’m not sure this topic is “suitable for community contributors to work on” right now, but I’m sort of hoping it’s on the Gradle roadmap, and that my own experience might be useful.

We have a set of related plugins used in-house for managing non-Java modules (C++, JS/web, etc.) via Gradle and Artifactory, by packaging the necessary files in ZIPs. The code is GPL’d and available at https://bitbucket.org/nm2501/holy-gradle-plugins, with user doc at http://holygradle.bitbucket.org/ (not quite up to date).

Currently the code

  • is Windows-centric in places;
  • makes a number of assumptions specific to our needs;
  • imposes a number of constraints which make it not as general as it would have to be to really be part of Gradle,
  • is stuck at Gradle 1.4 (although only one small change is needed to break that dependency);
  • is therefore not at all connected with Gradle’s native libraries support; and
  • doesn’t have great code comments (at least, at the design level);

… but it works pretty successfully.

If this is or starts to be on the Gradle roadmap, I’d be happy to pass on details of design choices we made, things we’d like to do differently, annoying little details which tripped us up, etc.