| apply plugin: 'groovy' |
| apply plugin: 'maven-publish' |
| apply plugin: 'wrapper' |
| |
| repositories { |
| mavenCentral() |
| } |
| |
| sourceCompatibility = '1.7' |
| targetCompatibility = '1.7' |
| |
| def isLinux() { |
| return System.properties['os.name'].toLowerCase().contains("linux") |
| } |
| |
| def isMacOsX() { |
| return System.properties['os.name'].toLowerCase().contains("os x") |
| } |
| |
| def String getOsName() { |
| if (isLinux()) { |
| return "linux"; |
| } else if (isMacOsX()) { |
| return "macosx"; |
| } else { |
| throw new IllegalStateException("Unsupported operating system " + System.properties.'os.name') |
| } |
| } |
| |
| dependencies { |
| compile gradleApi() |
| compile localGroovy() |
| testCompile 'com.google.truth:truth:0.27' |
| } |
| |
| task buildVdl(type: Exec) { |
| description 'Build the VDL tool' |
| group 'Build' |
| commandLine 'jiri', 'go', 'build', '-o', 'build/vdltool/vdl-' + getOsName(), 'v.io/x/ref/cmd/vdl' |
| } |
| |
| task natives(type: Jar, dependsOn: buildVdl) { |
| from 'build/vdltool/vdl-' + getOsName() |
| } |
| |
| tasks.'processResources'.dependsOn(buildVdl) |
| |
| def pomDependencyText = ''' |
| <dependencies> |
| <dependency> |
| <groupId>io.v</groupId> |
| <artifactId>gradle-plugin-vdltool-linux</artifactId> |
| <version>0.1-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>io.v</groupId> |
| <artifactId>gradle-plugin-vdltool-macosx</artifactId> |
| <version>0.1-SNAPSHOT</version> |
| </dependency> |
| </dependencies> |
| ''' |
| |
| def pomDependencies = new XmlParser().parseText(pomDependencyText) |
| |
| publishing { |
| publications { |
| mavenJava(MavenPublication) { |
| groupId 'io.v' |
| artifactId 'gradle-plugin' |
| version '0.1-SNAPSHOT' |
| |
| from components.java |
| |
| pom.withXml { |
| asNode().append(pomDependencies) |
| } |
| } |
| |
| mavenNatives(MavenPublication) { |
| groupId 'io.v' |
| artifactId 'gradle-plugin-vdltool-' + getOsName() |
| version '0.1-SNAPSHOT' |
| |
| artifact natives |
| } |
| } |
| repositories { |
| maven { |
| credentials { |
| username 'admin' |
| password 'admin123' |
| } |
| url 'http://srdjan.mtv:8081/nexus/content/repositories/test_repo' |
| } |
| } |
| } |
| |
| wrapper { |
| gradleVersion = '2.4' |
| } |