Select Git revision
build.gradle
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.gradle 3.22 KiB
apply plugin: 'java-library'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'jacoco'
apply plugin: 'signing'
project.version = '1.2.0-SNAPSHOT'
project.group = 'de.hhu.stups'
final isSnapshot = project.version.endsWith("-SNAPSHOT")
repositories {
mavenCentral()
if (isSnapshot) {
maven {
name "sonatype snapshots"
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}
}
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
def parser_version = '2.12.4'
dependencies {
implementation(group: 'commons-cli', name: 'commons-cli', version: '1.4')
api(group: 'de.hhu.stups', name: 'tlatools', version: '1.0.2')
api(group: 'de.hhu.stups', name: 'prologlib', version: parser_version)
api(group: 'de.hhu.stups', name: 'bparser', version: parser_version)
testImplementation(group: 'junit', name: 'junit', version: '4.13.2')
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
withSourcesJar()
withJavadocJar()
}
processResources {
inputs.property("project.version", project.version)
filesMatching("de/tla2b/build.properties") {
expand(version: project.version)
}
}
jacoco {
toolVersion = "0.8.9"
reportsDirectory = 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")
}
task createJar(type: Jar, dependsOn: classes){
archiveFileName = 'TLA2B.jar'
//from sourceSets.main.allJava
from sourceSets.main.output
from {configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
exclude('**/*.java')
manifest {
attributes "Main-Class" : 'de.tla2b.TLA2B'
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
pom {
name = 'TLA+ to B-AST'
description = "Translator from TLA+ to ProB's AST representation."
url = 'https://github.com/hhu-stups/tla2bAST'
licenses {
license {
name = 'Eclipse Public License, Version 1.0'
url = 'https://www.eclipse.org/legal/epl-v10.html'
}
}
scm {
connection = 'scm:git:https://github.com/hhu-stups/tla2bAST.git'
developerConnection = 'scm:git:git@github.com:hhu-stups/tla2bAST.git'
url = 'https://github.com/hhu-stups/tla2bAST'
}
developers {
developer {
id = 'bendisposto'
name = 'Jens Bendisposto'
email = 'jens@bendisposto.de'
}
}
}
}
}
repositories {
maven {
final releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2"
final snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots"
url isSnapshot ? snapshotsRepoUrl : releasesRepoUrl
if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
credentials {
username project.ossrhUsername
password project.ossrhPassword
}
}
}
}
}
ext."signing.secretKeyRingFile" = rootProject.file("secring.gpg").absolutePath
signing {
sign publishing.publications.mavenJava
}