I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
build.gradle 2.68 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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'
    
    zab2's avatar
    zab2 committed
        apply plugin: 'eclipse'
    
        apply plugin: 'idea'
    
    str4d's avatar
    str4d committed
        repositories {
    
    str4d's avatar
    str4d committed
        }
    
        dependencies {
            testCompile 'junit:junit:4.+'
    
    str4d's avatar
    str4d committed
            testCompile 'org.hamcrest:hamcrest-library:1.3'
    
    zab2's avatar
    zab2 committed
            testCompile 'org.mockito:mockito-core:2.11.0'
    
                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
    
    str4d's avatar
    str4d committed
            xml.destination file("${buildDir}/reports/jacoco/report.xml")
    
    str4d's avatar
    str4d committed
            html.destination file("${buildDir}/reports/jacoco/html")
    
    //apply from: file('gradle/update.gradle')