mirror of
https://github.com/corda/corda.git
synced 2024-12-18 20:47:57 +00:00
406f7ff292
This requires Kotlin 1.2 versions of core and serialization (core-1.2 and serialization-1.2 respectively), which are just "shell" modules and which compile the existing source code with Kotlin 1.2. The 1.2 plugin does not work with the current version of Gradle and so the 1.2 compiler has to be called directly. Now with two versions of Kotlin in the code base, each module needs to have its version manually specified to ensure a clean separation. Otherwise, the default Kotlin version can override 1.2 when needed. Some of the code was tidied-up or improved to enable it to be cross-compiled. For post-1.2 APIs being used, they have been copied into core-1.2 with the same method signatures. OpenTelemetryComponent was moved to node-api, along with the dependency, to avoid also having a 1.2 version for the opentelemetry module.
75 lines
2.4 KiB
Groovy
75 lines
2.4 KiB
Groovy
apply plugin: 'org.jetbrains.kotlin.jvm'
|
|
apply plugin: 'corda.common-publishing'
|
|
|
|
description 'Corda serialization'
|
|
|
|
configurations {
|
|
resolvableImplementation.extendsFrom implementation
|
|
|
|
testArtifacts.extendsFrom testRuntimeClasspath
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(":core")
|
|
implementation "io.reactivex:rxjava:$rxjava_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
implementation "org.apache.activemq:artemis-commons:${artemis_version}"
|
|
implementation "org.ow2.asm:asm:$asm_version"
|
|
implementation "com.google.guava:guava:$guava_version"
|
|
// For AMQP serialisation.
|
|
implementation "org.apache.qpid:proton-j:$protonj_version"
|
|
// ClassGraph: classpath scanning
|
|
implementation "io.github.classgraph:classgraph:$class_graph_version"
|
|
// Pure-Java Snappy compression
|
|
implementation "org.iq80.snappy:snappy:$snappy_version"
|
|
// For caches rather than guava
|
|
implementation "com.github.ben-manes.caffeine:caffeine:$caffeine_version"
|
|
|
|
testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}"
|
|
testImplementation "junit:junit:$junit_version"
|
|
|
|
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}"
|
|
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}"
|
|
testRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_version}"
|
|
testRuntimeOnly "org.slf4j:slf4j-simple:$slf4j_version"
|
|
|
|
testImplementation "org.assertj:assertj-core:$assertj_version"
|
|
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
|
testImplementation "org.mockito:mockito-core:$mockito_version"
|
|
testImplementation 'org.hamcrest:hamcrest-library:2.1'
|
|
testImplementation "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
|
|
}
|
|
|
|
tasks.withType(Javadoc).configureEach {
|
|
// We have no public or protected Java classes to document.
|
|
enabled = false
|
|
}
|
|
|
|
tasks.register('testJar', Jar) {
|
|
archiveClassifier = 'tests'
|
|
from sourceSets.test.output
|
|
}
|
|
|
|
artifacts {
|
|
testArtifacts testJar
|
|
}
|
|
|
|
jar {
|
|
archiveBaseName = 'corda-serialization'
|
|
archiveClassifier = ''
|
|
|
|
manifest {
|
|
attributes('Add-Opens': 'java.base/java.time java.base/java.io')
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
artifactId 'corda-serialization'
|
|
artifact(testJar)
|
|
from components.java
|
|
}
|
|
}
|
|
}
|