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()