Skip to content
Snippets Groups Projects
build.gradle 4.88 KiB
Newer Older
erbel's avatar
erbel committed
// Apply the java-library plugin to add support for Java Library
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'checkstyle'
apply plugin: 'findbugs'
apply plugin: 'maven'
apply plugin: "com.github.psxpaul.execfork"
apply plugin: 'jacoco'

erbel's avatar
erbel committed

subprojects {
    apply plugin: 'java'

    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    
}

erbel's avatar
erbel committed
    sourceCompatibility = 1.8
    targetCompatibility = 1.8


erbel's avatar
erbel committed
buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.com.github.psxpaul:gradle-execfork-plugin:0.1.8"
  }
}

sourceSets {
  startMartServer {
    resources {
      srcDir 'src/test/resources'
    }
  }
}


// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    //mavenLocal()
    mavenCentral()
    jcenter()
    maven {
          url "https://nexus.informatik.uni-goettingen.de/content/repositories/thirdparty/"
    }
    maven {
          url "https://nexus.informatik.uni-goettingen.de/content/repositories/rwm/"
    }
}

dependencies {
	//Nexus
	compile "org.eclipse.uml2:org.eclipse.uml2.uml:4.1.2"
	//runtime?
	compile "org.eclipse.uml2:org.eclipse.uml2.types:1.1.0"
	compile "org.eclipse.uml2:org.eclipse.uml2.common:1.8.2"
	compile group: 'org.eclipse.ocl', name: 'pivot', version: '1.3.0'
erbel's avatar
erbel committed
	//occiware
	compile group: 'org.eclipse.cmf.occi', name: 'core', version: '1.0.0'
	compile group: 'org.eclipse.cmf.occi', name: 'infrastructure', version: '1.0.0'
erbel's avatar
erbel committed
    //own
erbel's avatar
erbel committed
	compile group: 'de.ugoe.cs.rwm', name: 'cocci', version: '1.0.0'
erbel's avatar
erbel committed
	compile group: 'de.ugoe.cs.rwm', name: 'docci', version: '1.0.0'
erbel's avatar
erbel committed
	//compile group: 'de.ugoe.cs.rwm.mocci', name: 'model', version: '1.0.0'
	compile project(':de.ugoe.cs.rwm.mocci.model')
erbel's avatar
erbel committed
	//modmacao
	compile group: 'org.modmacao', name: 'core', version: '1.0.0'
	compile group: 'org.modmacao', name: 'placement', version: '1.0.0'
	compile group: 'org.modmacao.occi', name: 'platform', version: '1.0.0'
	compile group: 'org.modmacao.openstack', name: 'runtime', version: '1.0.0'
	compile group: 'org.modmacao.openstack.swe', name: 'runtime', version: '1.0.0'
erbel's avatar
erbel committed
	compile group: 'org.modmacao', name: 'ansible', version: '1.0.0'
erbel's avatar
erbel committed
	
	//maven
	compile group: 'log4j', name: 'log4j', version: '1.2.17'
	compile group: 'com.google.guava', name: 'guava', version: '25.1-jre'
	compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.0'
	compile "org.eclipse.core:org.eclipse.core.runtime:3.7.0"
erbel's avatar
erbel committed
	compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
erbel's avatar
erbel committed
	compile group: 'com.jcraft', name: 'jsch', version: '0.1.54'
erbel's avatar
erbel committed
	testCompile group: 'junit', name: 'junit', version: '4.12'
erbel's avatar
erbel committed
	compile group: 'de.ugoe.cs.rwm.pog', name: 'model', version: '1.0.0'
	compile group: 'de.ugoe.cs.rwm', name: 'tocci', version: '1.0.0'
erbel's avatar
erbel committed
    //testImplementation 'junit:junit:4.12'
}

erbel's avatar
erbel committed

erbel's avatar
erbel committed
project(':de.ugoe.cs.rwm.mocci.model.edit') { 
  dependencies {
    compile project(':de.ugoe.cs.rwm.mocci.model')
  }
}

erbel's avatar
erbel committed
project(':de.ugoe.cs.rwm.mocci.connector') { 
  dependencies {
    compile project(':de.ugoe.cs.rwm.mocci.model')
  }
}

erbel's avatar
erbel committed
project(':de.ugoe.cs.rwm.mocci.connector.dummy') { 
erbel's avatar
erbel committed
  dependencies {
erbel's avatar
erbel committed
    compile project(':de.ugoe.cs.rwm.mocci.model')
erbel's avatar
erbel committed

erbel's avatar
erbel committed
configurations.all {
    // Check for updates every build
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

erbel's avatar
erbel committed
javadoc {
    source = sourceSets.main.allJava
    classpath = configurations.compile
erbel's avatar
erbel committed
    failOnError = true
erbel's avatar
erbel committed
}
test {
erbel's avatar
erbel committed
    //exclude 'de/ugoe/cs/rwm/mocci/live/**'
erbel's avatar
erbel committed
    testLogging.showStandardStreams = true
        testLogging {
        exceptionFormat = 'full'
    }
}
tasks.test.dependsOn("startMartServer")
test.finalizedBy jacocoTestReport

jacoco {
    toolVersion = "0.8.1"
}

jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("${buildDir}/reports/jacoco")
    }
}

findbugs {
    sourceSets = [sourceSets.main]
erbel's avatar
erbel committed
    ignoreFailures = false
erbel's avatar
erbel committed
}

checkstyle {
    toolVersion = "8.7"
    sourceSets = [sourceSets.main]
}

checkstyleMain {
    ignoreFailures = true
}

tasks.withType(FindBugs) {
    reports {
        xml.enabled false
        html.enabled true
    }
} 
 
task startMartServer(type: com.github.psxpaul.task.JavaExecFork) {
    classpath = files("src/test/resources/org.occiware.mart.jetty.jar")
    main = 'org.occiware.mart.jetty.MartServer'
    waitForPort = 8080
    stopAfter = test
}


uploadArchives {
    repositories {
       mavenDeployer {
             repository(url: "https://nexus.informatik.uni-goettingen.de/content/repositories/rwm/") {
             authentication(userName: System.getenv('NEXUSUSER'), password: System.getenv('NEXUSPASSWORD'))
            }
            pom.version = "1.0.0"
erbel's avatar
erbel committed
             pom.artifactId = "mocci"
erbel's avatar
erbel committed
             pom.groupId = "de.ugoe.cs.rwm"
       }
    }
}