JWebAssembly/build.gradle
2019-01-20 11:31:12 +01:00

155 lines
3.8 KiB
Groovy

plugins {
id "com.moowork.node" version "1.2.0"
id 'com.github.kt3k.coveralls' version '2.8.2' // Coverage
id "com.jfrog.bintray" version "1.8.4"
}
apply plugin: 'java-library'
apply plugin: 'maven-publish'
group 'de.inetsoftware'
archivesBaseName = 'jwebassembly-compiler'
version = '0.1'
repositories {
jcenter()
}
dependencies {
compileOnly 'com.google.code.findbugs:jsr305:3.0.1'
testCompile 'com.google.code.findbugs:jsr305:3.0.1'
testCompile 'de.inetsoftware:jwebassembly-api:+'
testCompile 'junit:junit:+'
}
sourceSets {
main {
java {
srcDir 'src'
}
resources {
srcDir 'src'
}
}
test {
java {
srcDir 'test'
}
resources {
srcDir 'test'
}
}
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.java
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
build {
dependsOn sourcesJar
dependsOn javadocJar
}
artifacts {
archives sourcesJar
archives javadocJar
}
node {
version = '10.8.0'
// version = '+'
download = true
}
task nodeVersion(type: NodeTask) {
test.dependsOn it
options = ['-v']
script = file('scriptDoesNotExists.js')
doLast {
if( node.download ) {
def nodeDir = nodeSetup.getNodeDir() // dir is only valid if downloaded
println nodeDir
test.systemProperty 'node.dir', nodeDir
}
}
}
test {
testLogging {
showStandardStreams = true
showStackTraces = true
exceptionFormat = 'full'
events 'passed', 'skipped', 'failed'
}
}
/****************************************
* Coverage
****************************************/
apply plugin: 'jacoco'
jacocoTestReport {
tasks.coveralls.dependsOn it
reports {
xml.enabled = true // coveralls plugin depends on xml format report
html.enabled = true
}
}
check.dependsOn tasks.coveralls
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_KEY')
publications = ['JWebAssemblyPublication']
publish = true
override = true
pkg {
repo = 'OSS'
userOrg = 'i-net-software'
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/i-net-software'
name = group + '.' + archivesBaseName
version {
released = new Date()
}
}
}
publishing {
publications {
JWebAssemblyPublication(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
artifactId archivesBaseName
pom.withXml {
def root = asNode()
root.appendNode('name', 'JWebAssembly-Compiler')
root.appendNode('description', 'A Java to WebAssembly compiler.')
root.appendNode('url', 'https://github.com/i-net-software/JWebAssembly')
def node = root.appendNode('developers').appendNode( 'developer' )
node.appendNode( 'id', 'Horcrux7' )
node.appendNode( 'name', 'Volker Berlin' )
node.appendNode( 'email', 'vberlin@inetsoftware.de' )
node.appendNode( 'organization', 'i-net software' )
node.appendNode( 'organizationUrl', 'https://www.inetsoftware.de' )
node = root.appendNode('scm')
node.appendNode( 'connection', 'scm:git:git@github.com:i-net-software/JWebAssembly.git' )
node.appendNode( 'developerConnection', 'scm:git:git@github.com:i-net-software/JWebAssembly.git' )
node.appendNode( 'url', 'https://github.com/i-net-software/JWebAssembly' )
root.children().last()
}
}
}
}