mirror of
https://github.com/corda/corda.git
synced 2024-12-26 08:01:09 +00:00
caeafb8201
* ENT-6357: Deserialize LedgerTransaction elements for each Contract.verify(). * Lock the LedgerTransaction and NetworkParameters objects down for contract verification. * Refactor BasicVerifier to be package private instead of public. * Simplify verifyConstraints() operation. * Review fixes: replace HashSet with LinkedHashSet, and add signing parties to commands via mapIndexed. * Ensure tests also run notary nodes "out of process". * Streamline SerializationContext switching. * Cache deserialised cryptographic instances during contract verification. * Invoke Class.forName() instead of ClassLoader.loadClass() to reduce contention on the system classloader's lock. * Deserialization cache key now pre-computes its hash code. * Allow AttachmentsClassLoader to be used concurrently. * Cache all Envelope objects for reuse during contract verification. * Generate CertPathProxy hash code using conventional algorithm. * Adjust CustomSerializer.Proxy to allow better access to SerializationContext.
57 lines
1.5 KiB
Groovy
57 lines
1.5 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'net.corda.plugins.publish-utils'
|
|
id 'com.jfrog.artifactory'
|
|
id 'idea'
|
|
}
|
|
apply from: "${rootProject.projectDir}/deterministic.gradle"
|
|
|
|
description 'Test utilities for deterministic contract verification'
|
|
|
|
configurations {
|
|
deterministicArtifacts {
|
|
canBeResolved = false
|
|
}
|
|
|
|
// Compile against the deterministic artifacts to ensure that we use only the deterministic API subset.
|
|
compileOnly.extendsFrom deterministicArtifacts
|
|
runtimeArtifacts.extendsFrom api
|
|
}
|
|
|
|
dependencies {
|
|
deterministicArtifacts project(path: ':serialization-deterministic', configuration: 'deterministicArtifacts')
|
|
deterministicArtifacts project(path: ':core-deterministic', configuration: 'deterministicArtifacts')
|
|
|
|
runtimeArtifacts project(':serialization')
|
|
runtimeArtifacts project(':core')
|
|
|
|
api "junit:junit:$junit_version"
|
|
runtimeOnly "org.junit.vintage:junit-vintage-engine:$junit_vintage_version"
|
|
}
|
|
|
|
jar {
|
|
archiveBaseName = 'corda-deterministic-verifier'
|
|
}
|
|
|
|
artifacts {
|
|
deterministicArtifacts jar
|
|
runtimeArtifacts jar
|
|
publish jar
|
|
}
|
|
|
|
publish {
|
|
// Our published POM will contain dependencies on the non-deterministic Corda artifacts.
|
|
dependenciesFrom(configurations.runtimeArtifacts) {
|
|
defaultScope = 'compile'
|
|
}
|
|
name jar.archiveBaseName.get()
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
if (project.hasProperty("deterministic_idea_sdk")) {
|
|
jdkName project.property("deterministic_idea_sdk") as String
|
|
}
|
|
}
|
|
}
|