mirror of
https://github.com/i-net-software/JWebAssembly.git
synced 2025-03-14 18:43:27 +01:00
182 lines
5.0 KiB
Groovy
182 lines
5.0 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'maven-publish'
|
|
id 'signing'
|
|
id 'com.github.kt3k.coveralls' version '2.11.0' // Coverage
|
|
}
|
|
|
|
def majorJavaVersion = JavaVersion.current().getMajorVersion() as int
|
|
if( majorJavaVersion < 11 ) {
|
|
sourceCompatibility = 1.8
|
|
} else {
|
|
sourceCompatibility = 11
|
|
}
|
|
|
|
group 'de.inetsoftware'
|
|
archivesBaseName = 'jwebassembly-compiler'
|
|
version = '0.4'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url 'https://jitpack.io' } // for snapshot of the API
|
|
}
|
|
|
|
dependencies {
|
|
// "compileOnly" will not add as dependency. this is different to "compile".
|
|
compileOnly 'com.google.code.findbugs:jsr305:3.0.1'
|
|
//compileOnly 'de.inetsoftware:jwebassembly-api:+'
|
|
compileOnly 'com.github.i-net-software:jwebassembly-api:master-SNAPSHOT'
|
|
|
|
testImplementation 'com.google.code.findbugs:jsr305:3.0.1'
|
|
//testCompile 'de.inetsoftware:jwebassembly-api:+'
|
|
testImplementation 'com.github.i-net-software:jwebassembly-api:master-SNAPSHOT'
|
|
testImplementation 'junit:junit:+'
|
|
testImplementation 'org.mockito:mockito-core:4.+'
|
|
testImplementation 'org.apache.commons:commons-compress:1.2'
|
|
testImplementation 'com.google.code.gson:gson:+'
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir 'src'
|
|
}
|
|
resources {
|
|
srcDir 'src'
|
|
}
|
|
}
|
|
test {
|
|
java {
|
|
srcDir 'test'
|
|
if( majorJavaVersion >= 11 ) {
|
|
srcDir 'test11'
|
|
}
|
|
}
|
|
resources {
|
|
srcDir 'test'
|
|
}
|
|
}
|
|
}
|
|
|
|
compileJava.options.encoding = 'UTF-8'
|
|
compileJava.options.compilerArgs += ['-Xlint:all', '-Xlint:-serial', '-Xlint:-fallthrough']
|
|
compileTestJava.options.encoding = 'UTF-8'
|
|
javadoc.options.encoding = 'UTF-8'
|
|
|
|
jar {
|
|
manifest {
|
|
attributes( 'Specification-Title': 'JWebAssembly-Compiler',
|
|
'Specification-Vendor': 'i-net software',
|
|
'Specification-Version': version,
|
|
'Implementation-Title': 'JWebAssembly-Compiler',
|
|
'Implementation-Vendor': 'i-net software',
|
|
'Implementation-Version': version)
|
|
}
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
archiveClassifier = 'sources'
|
|
from sourceSets.main.java
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
archiveClassifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
build {
|
|
dependsOn sourcesJar
|
|
dependsOn javadocJar
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
archives javadocJar
|
|
}
|
|
|
|
test {
|
|
systemProperty "file.encoding", "UTF-8"
|
|
enableAssertions = true
|
|
testLogging {
|
|
showStandardStreams = true
|
|
showStackTraces = true
|
|
exceptionFormat = 'full'
|
|
events 'passed', 'skipped', 'failed'
|
|
}
|
|
}
|
|
|
|
|
|
/****************************************
|
|
* Coverage
|
|
****************************************/
|
|
apply plugin: 'jacoco'
|
|
|
|
jacocoTestReport {
|
|
tasks.coveralls.dependsOn it
|
|
reports {
|
|
xml.required = true // coveralls plugin depends on xml format report
|
|
html.required = true
|
|
}
|
|
}
|
|
check.dependsOn tasks.coveralls
|
|
|
|
|
|
/****************************************
|
|
* Deploy to Sonatype
|
|
****************************************/
|
|
publishing {
|
|
publications {
|
|
JWebAssembly(MavenPublication) {
|
|
from components.java
|
|
artifact sourcesJar
|
|
artifact javadocJar
|
|
artifactId archivesBaseName
|
|
pom {
|
|
name = 'JWebAssembly-Compiler'
|
|
description = 'A Java to WebAssembly compiler.'
|
|
url = 'https://github.com/i-net-software/JWebAssembly'
|
|
developers {
|
|
developer {
|
|
id = 'Horcrux7'
|
|
name = 'Volker Berlin'
|
|
email = 'vberlin@inetsoftware.de'
|
|
organization = 'i-net software'
|
|
organizationUrl = 'https://www.inetsoftware.de'
|
|
}
|
|
}
|
|
licenses {
|
|
license {
|
|
name = 'The Apache License, Version 2.0'
|
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
}
|
|
}
|
|
scm {
|
|
connection = 'scm:git:git@github.com:i-net-software/JWebAssembly.git'
|
|
developerConnection = 'scm:git:git@github.com:i-net-software/JWebAssembly.git'
|
|
url = 'https://github.com/i-net-software/JWebAssembly'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
|
|
if (project.hasProperty("ossrhUsername") ) {
|
|
credentials {
|
|
username ossrhUsername
|
|
password ossrhPassword
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
if (project.hasProperty("signing.keyId") ){
|
|
sign publishing.publications.JWebAssembly
|
|
|
|
// does not create sha256 and sha512 checksums
|
|
System.setProperty('org.gradle.internal.publish.checksums.insecure', 'true' )
|
|
}
|
|
}
|