Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.gradle 4.20 KiB
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'jacoco'
apply plugin: 'findbugs'

project.version = '1.0.6-SNAPSHOT'
project.group = 'de.hhu.stups'
project.archivesBaseName = "tla2bAST"


repositories {
	mavenCentral()
        maven {
		name "sonatype snapshots"
		url "https://oss.sonatype.org/content/repositories/snapshots"
	}
	maven {
		name "cobra"
		url "http://cobra.cs.uni-duesseldorf.de/artifactory/repo"
	}
}

configurations { // configuration that holds jars to copy into lib
	releaseJars
}

def parser_version = '2.5.0-SNAPSHOT'

dependencies {
	//compile (group: 'com.microsoft', name: 'tla2tools', version: '1.4.6')
	compile (group: 'de.hhu.stups', name: 'tlatools', version: '1.0.0')

	compile (group: 'de.hhu.stups', name: 'prologlib', version: parser_version)
	compile (group: 'de.hhu.stups', name: 'parserbase', version: parser_version)
	compile (group: 'de.hhu.stups', name: 'bparser', version: parser_version)
	compile (group: 'de.hhu.stups', name: 'ltlparser', version: parser_version)

	//compile(group: 'de.prob', name: 'de.prob.core.kernel', version: '2.0.0-milestone-13-SNAPSHOT')

	testCompile (group: 'junit', name: 'junit', version: '4.7')

	releaseJars (group: 'de.hhu.stups', name: 'tlatools', version: '1.0.0')
	releaseJars (group: 'de.hhu.stups', name: 'prologlib', version: parser_version)
	releaseJars (group: 'de.hhu.stups', name: 'parserbase', version: parser_version)
	releaseJars (group: 'de.hhu.stups', name: 'bparser', version: parser_version)
	releaseJars (group: 'de.hhu.stups', name: 'ltlparser', version: parser_version)
}

jacoco {
    toolVersion = "0.7.1.201405082137"
    reportsDir = file("$buildDir/customJacocoReportDir")
}

// type 'gradle tla2b jacocoIntegrationTestReport' in order to run the jacoco code coverage analysis
task jacocoIntegrationTestReport(type: JacocoReport) {
	sourceSets sourceSets.main
	//executionData files('build/jacoco/integrationTests.exec')
	executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")
 }

tasks.withType(FindBugs) {
	// disable findbugs by default
	// in order to run findbugs type 'gradle tlc4b findbugsMain findbugsTest'
	task -> enabled = gradle.startParameter.taskNames.contains(task.name)

    reports {
        xml.enabled = false
        html.enabled = true
    }

	ignoreFailures = true
}


test {
	exclude('testing')
	allJvmArgs = [ "-Xss515m" ]
}

jar { from sourceSets.main.allJava }
jar	{
	from configurations.releaseJars.collect { it.isDirectory() ? it : zipTree(it) }
}

jar {
	manifest {
		attributes "Main-Class" : 'de.tla2b.TLA2B'
	}
}

task tla2b(dependsOn: build) << {
	copy {
		from('build/libs/')
		into('build/tla2b')
		include('tla2bAST-'+project.version+'.jar')
		rename('tla2bAST-(.+)', 'TLA2B.jar')
	}
}

if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {

apply plugin: 'signing'

signing {
    sign configurations.archives
}
uploadArchives {
  repositories {
    mavenDeployer {
      beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

      repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
        authentication(userName: ossrhUsername, password: ossrhPassword)
      }

      snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
        authentication(userName: ossrhUsername, password: ossrhPassword)
      }

      pom.project {
        name 'TLA+ to B-AST'
        packaging 'jar'
        // optionally artifactId can be defined here
        description "Translator from TLA+ to ProB's AST representation."
        url 'https://github.com/hhu-stups/tla2bAST'

        licenses {
          license {
            name 'GNU Lesser General Public License, Version 2.1'
            url 'http://www.gnu.org/licenses/lgpl-2.1.html'
          }
        }

        scm {
          connection 'scm:git:git://github.com/hhu-stups/tla2bAST.git'
          developerConnection 'scm:git:git@github.com:hhu-stups/tla2bAST.git'
          url 'https://github.com/bendisposto/hhu-stups/tla2bAST'
        }

        developers {
          developer {
            id 'bendisposto'
            name 'Jens Bendisposto'
            email 'jens@bendisposto.de'
          }
        }
      }
    }
  }
}
}