IJava/build.gradle

88 lines
1.9 KiB
Groovy

import org.apache.tools.ant.filters.ReplaceTokens
plugins {
id 'com.github.hierynomus.license' version '0.14.0'
id 'io.github.spencerpark.jupyter-kernel-installer' version '1.1.5'
}
apply plugin: 'java'
apply plugin: 'maven-publish'
group = 'io.github.spencerpark'
version = '1.1.0-SNAPSHOT'
task wrapper(type: Wrapper) {
gradleVersion = '4.2.1'
}
license {
header = file('LICENSE')
exclude '**/*.json'
mapping {
// Use a regular multiline comment rather than a javadoc comment
java = 'SLASHSTAR_STYLE'
}
}
build.dependsOn 'licenseFormat'
compileJava {
sourceCompatibility = 1.9
targetCompatibility = 1.9
}
configurations {
shade
// transitive true to make sure that the dependencies of shade dependencies also get shaded
// into the jar
shade.transitive = true
compile.extendsFrom(shade)
}
repositories {
maven {
url = 'https://oss.sonatype.org/content/repositories/snapshots/'
}
mavenCentral()
mavenLocal()
}
dependencies {
shade group: 'io.github.spencerpark', name: 'jupyter-jvm-basekernel', version: '2.2.1-SNAPSHOT'
shade group: 'org.jboss.shrinkwrap.resolver', name: 'shrinkwrap-resolver-impl-maven', version: '3.1.3'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
jar {
//Include all shaded dependencies in the jar
from configurations.shade
.collect {it.isDirectory() ? it : zipTree(it)}
manifest {
attributes('Main-class': 'io.github.spencerpark.ijava.IJava')
}
}
processResources {
def tokens = [
'version': project.version,
'project': project.name
]
inputs.properties(tokens)
filter ReplaceTokens, tokens: tokens
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
jupyter {
kernelName = 'java'
kernelDisplayName = 'Java'
kernelLanguage = 'java'
kernelInterruptMode = 'message'
}