Mercurial > public > gradleplugins
comparison src/main/groovy/org/ssdt_ohio/gradle/plugins/VersionClassPlugin.groovy @ 9:9f9063d3c17c
cope with subproject without src files
author | smith@nwoca.org |
---|---|
date | Thu, 25 Oct 2012 14:24:39 +0100 |
parents | c32864e7d65b |
children | 4ff2030d2074 |
comparison
equal
deleted
inserted
replaced
8:15ddcc73ef78 | 9:9f9063d3c17c |
---|---|
23 } | 23 } |
24 buildNumber = props['build.number'] | 24 buildNumber = props['build.number'] |
25 } | 25 } |
26 | 26 |
27 def targetPackage = getTargetClass(project) | 27 def targetPackage = getTargetClass(project) |
28 | |
29 if (!targetPackage) { | |
30 return | |
31 } | |
28 | 32 |
29 def outFile = new File(generatedSrcDir, "groovy/" + targetPackage.replaceAll('\\.', "/") + "/ProjectVersion.groovy") | 33 def outFile = new File(generatedSrcDir, "groovy/" + targetPackage.replaceAll('\\.', "/") + "/ProjectVersion.groovy") |
30 | 34 |
31 outFile.getParentFile().mkdirs() | 35 outFile.getParentFile().mkdirs() |
32 logger.info("creating $targetPackage in $outFile") | 36 logger.info("creating $targetPackage in $outFile") |
77 makeVersionClassTask.getInputs().files(project.getBuildFile()) | 81 makeVersionClassTask.getInputs().files(project.getBuildFile()) |
78 } | 82 } |
79 | 83 |
80 project.getTasks().getByName('compileGroovy').dependsOn('makeVersionClass') | 84 project.getTasks().getByName('compileGroovy').dependsOn('makeVersionClass') |
81 | 85 |
82 // project.getTasks().getByName('jar').manifest.attributes( | |
83 // [ | |
84 // "Specification-Title": project.name, | |
85 // "Specification-Version": project.version, | |
86 // "Specification-Vendor": project.group, | |
87 // "Implementation-Title": project.name, | |
88 // "Implementation-Version": project.version, | |
89 // "Implementation-Vendor": project.group, | |
90 // "Built-By": System.properties['user.name'], | |
91 // "Build-Jdk": System.properties['java.version'], | |
92 // ] | |
93 // ) | |
94 | 86 |
95 } | 87 } |
96 | 88 |
97 | 89 |
98 | 90 |
99 private getTargetClass(project) { | 91 private getTargetClass(project) { |
100 def source = project.sourceSets.main.groovy.getSrcDirTrees() | 92 def source = project.sourceSets.main.groovy.getSrcDirTrees() |
93 | |
101 def files = project.sourceSets.main.groovy as File[] | 94 def files = project.sourceSets.main.groovy as File[] |
95 if (!files ) { | |
96 return null | |
97 } | |
98 | |
102 def targetDir = files.first().parentFile.toString() | 99 def targetDir = files.first().parentFile.toString() |
103 | 100 |
104 def targetPackage = targetDir | 101 def targetPackage = targetDir |
105 source.each { | 102 source.each { |
106 targetPackage -= it.getDir().getPath().toString() | 103 targetPackage -= it.getDir().getPath().toString() |