Files
i2p.i2p/build.gradle

96 lines
2.7 KiB
Groovy
Raw Normal View History

2019-02-17 01:27:05 +00:00
plugins {
id 'idea'
}
String getReleaseVersion() {
def releaseVersion
file("core/java/src/net/i2p/CoreVersion.java").readLines().findAll({ line ->
line.contains("public final static String VERSION")
}).first().eachMatch('.*"([^"]+)";', {
releaseVersion = it[1]
})
releaseVersion
}
String getBuildVersion() {
def buildVersion
file("router/java/src/net/i2p/router/RouterVersion.java").readLines().findAll({ line ->
line.contains("public final static long BUILD")
}).first().eachMatch('.*=\\s+([0-9]+);', {
buildVersion = it[1]
})
buildVersion
}
String getBuildExtra() {
def buildExtra
file("router/java/src/net/i2p/router/RouterVersion.java").readLines().findAll({ line ->
line.contains("public final static String EXTRA")
}).first().eachMatch('.*"(.*)";', {
buildExtra = it[1]
})
buildExtra
}
def releaseVersion = getReleaseVersion()
def buildVersion = getBuildVersion()
def buildExtra = getBuildExtra()
def fullVersion = "$releaseVersion-$buildVersion$buildExtra"
// Exclude apps/ dir itself, but include its subdirs
def javaProjects = subprojects - project(':apps')
configure(javaProjects) {
apply plugin: 'java'
apply plugin: 'jacoco'
2017-11-02 19:04:40 +00:00
apply plugin: 'eclipse'
2017-11-27 01:27:55 +00:00
apply plugin: 'idea'
2014-06-25 02:50:24 +00:00
repositories {
jcenter()
2014-06-25 02:50:24 +00:00
}
dependencies {
testCompile 'junit:junit:4.+'
2017-10-31 06:13:24 +00:00
testCompile 'org.hamcrest:hamcrest-library:1.3'
2017-11-02 20:15:48 +00:00
testCompile 'org.mockito:mockito-core:2.11.0'
2014-06-25 02:50:24 +00:00
}
jar {
manifest {
attributes 'Implementation-Version': "$fullVersion"
}
}
sourceCompatibility = 1.7
// Set i2pBootClasspath=/path/to/rt.jar:/path/to/jce.jar in ~/.gradle/gradle.properties if needed
if (i2pBootClasspath) {
tasks.withType(AbstractCompile, { AbstractCompile ac ->
ac.options.bootstrapClasspath = files(i2pBootClasspath)
})
}
}
task codeCoverageReport(type: JacocoReport) {
dependsOn(javaProjects.test)
jacocoClasspath = project(':core').configurations.jacocoAnt
additionalSourceDirs = files(javaProjects.sourceSets.main.allSource.srcDirs)
sourceDirectories = files(javaProjects.sourceSets.main.allSource.srcDirs)
classDirectories = files(javaProjects.sourceSets.main.output)
executionData = files(javaProjects.jacocoTestReport.executionData)
doFirst {
executionData = files(executionData.findAll { it.exists() })
}
reports {
xml.enabled true
2019-02-17 01:16:20 +00:00
xml.destination file("${buildDir}/reports/jacoco/report.xml")
html.enabled true
2019-02-17 01:16:20 +00:00
html.destination file("${buildDir}/reports/jacoco/html")
}
}
//apply from: file('gradle/update.gradle')