ktoso/maven-git-commit-id-plugin — pull request #92 by jbellmann (2014-02-11 10:25:21+00:00)
Title: Gradle-Plugin

Hi Konrad,

I use your maven-commit-id-plugin in my projects. Thank you for that.

But I also use gradle more and more and I was looking for something similar in the gradle-world. I couldn' t find a plugin. So I decided to try to reuse your code, refactor some pieces to extract code into a 'common'-module and reuse that in the gradle-plugin.

This pullrequest seems to be big, but this comes mostly because I moved files into different folders to match maven-multi-module directory layout. So please have look. It is not that much.

I'm not finally done. There are some tasks to do for me (fix the test I set to Ignore).

How would someone use the gradle-plugin.

```
buildscript {
repositories {
mavenLocal()
jcenter()
}
dependencies {
classpath("pl.project13.maven:git-commit-id-plugin-gradle:2.1.10-SNAPSHOT")
}
}

project("aSubProject"){

apply plugin: "git-commit-id"

// we can pick up this file in the app
task createBuildInfoFile << {
def buildInfoFile = new File("$buildDir/build-info.properties")
Properties properties = new Properties();
properties.setProperty('version', project.version.toString())
properties.setProperty('timestamp', project.buildTimeStamp)
// the plugin adds the information to the systemproperties at the moment
properties.setProperty('git.commit.id', System.getProperty('git.commit.id'))
properties.store(buildInfoFile.newWriter(), null)
}

// or in MANIFEST
jar {
manifest.attributes["Created-By"] =
"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
manifest.attributes["Implementation-Title"] = subproject.name
manifest.attributes["Implementation-Version"] = subproject.version
// as above get it from systemproperties
manifest.attributes["git.commit.id"] = "${System.getProperty("java.version")}"
}
}

```

The big question is, are you willing to accept the change if I put some more work into it?

If not, no problem. I will drive my own little project then because I need this plugin (now).

Thank you
Jörg