corda/build.gradle

821 lines
33 KiB
Groovy
Raw Normal View History

import com.r3.testing.DistributeTestsBy
import com.r3.testing.PodLogLevel
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
import static org.gradle.api.JavaVersion.VERSION_11
import static org.gradle.api.JavaVersion.VERSION_1_8
2015-11-03 12:37:19 +00:00
buildscript {
// For sharing constants between builds
Properties constants = new Properties()
file("$projectDir/constants.properties").withInputStream { constants.load(it) }
2016-11-17 11:03:40 +00:00
// Our version: bump this on release.
ext.baseVersion = constants.getProperty("cordaVersion")
ext.versionSuffix = constants.getProperty("versionSuffix")
ext.corda_build_edition = System.getenv("CORDA_BUILD_EDITION")?.trim() ?: "Corda Open Source"
ext.corda_platform_version = constants.getProperty("platformVersion")
ext.gradle_plugins_version = constants.getProperty("gradlePluginsVersion")
// Dependency versions. Can run 'gradle dependencyUpdates' to find new versions of things.
//
// TODO: Sort this alphabetically.
ext.kotlin_version = constants.getProperty("kotlinVersion")
ext.warnings_as_errors = project.hasProperty("compilation.warningsAsErrors") ? project.property("compilation.warningsAsErrors").toBoolean() : false
ext.quasar_group = 'co.paralleluniverse'
// Set version of Quasar according to version of Java used:
if (JavaVersion.current().isJava8()) {
ext.quasar_version = constants.getProperty("quasarVersion")
ext.quasar_classifier = constants.getProperty("quasarClassifier")
ext.jdkClassifier = constants.getProperty("jdkClassifier")
} else {
ext.quasar_version = constants.getProperty("quasarVersion11")
ext.quasar_classifier = constants.getProperty("quasarClassifier11")
ext.jdkClassifier = constants.getProperty("jdkClassifier11")
}
ext.cordaScanApiClassifier = jdkClassifier
ext.quasar_exclusions = [
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
'co.paralleluniverse**',
'groovy**',
'com.esotericsoftware.**',
'jdk**',
'junit**',
'kotlin**',
'net.rubygrapefruit.**',
'org.gradle.**',
'org.apache.**',
'org.jacoco.**',
'org.junit**',
'org.slf4j**',
'worker.org.gradle.**',
'com.nhaarman.mockito_kotlin**',
'org.assertj**',
'org.hamcrest**',
'org.mockito**',
'org.opentest4j**'
]
// gradle-capsule-plugin:1.0.2 contains capsule:1.0.1 by default.
// We must configure it manually to use the latest capsule version.
ext.capsule_version = '1.0.3'
ext.asm_version = '7.1'
ENT-6286: OS: Upgrade version of Artemis to 2.19.1 (#6975) Fixes DDoS attack mentioned on the Jira ticket. PR upgrades Artemis library to version 2.19.1. This is our own release of Apache Artemis library which has vulnerability fix for v2.20 applied. **_Breaking changes discovered during Artemis upgrade:_** 1. When the queue is created as temporary, it needs to explicitly be specified as non-durable. 2. By default, Artemis Client performs Host DNS name check against the certificate presented by the server. Our TLS certificates fail this check and this verification has to be explicitly disabled, see use of: `TransportConstants.VERIFY_HOST_PROP_NAME`. 3. Artemis Server now caches login attempts, even unsuccessful ones. When we add RPC users dynamically via DB insert this may have an unexpected outcome if the user with the same `userName` and `password` was not available previously. To workaround permissions changing dynamically, authorization and authentication caches had to be disabled. 4. When computing `maxMessageSize`, the size of the headers content is now taken into account as well. 5. Artemis handling of start-up errors has changed. E.g. when the port is already bound. 6. A number of deprecated APIs like: `createTemporaryQueue`, `failoverOnInitialAttempt`, `NullOutputStream`, `CoreQueueConfiguration`. 7. Log warning message is produced like: `AMQ212080: Using legacy SSL store provider value: JKS. Please use either 'keyStoreType' or 'trustStoreType' instead as appropriate.` 8. As reported by QA, Artemis now produces more audit logging more details [here](https://r3-cev.atlassian.net/browse/ENT-6540). Log configuration been adjusted to reduce such output.
2022-01-21 09:18:14 +00:00
ext.artemis_version = '2.19.1'
// TODO Upgrade Jackson only when corda is using kotlin 1.3.10
2024-12-04 14:44:30 +00:00
ext.jackson_version = '2.14.0'
ext.jackson_kotlin_version = '2.9.7'
2024-10-24 12:29:04 +00:00
ext.jetty_version = '9.4.56.v20240826'
ext.jersey_version = '2.25'
ext.servlet_version = '4.0.1'
ext.assertj_version = '3.12.2'
ext.slf4j_version = '1.7.30'
2022-01-10 10:51:52 +00:00
ext.log4j_version = '2.17.1'
ext.bouncycastle_version = constants.getProperty("bouncycastleVersion")
ext.guava_version = constants.getProperty("guavaVersion")
ext.caffeine_version = constants.getProperty("caffeineVersion")
ext.disruptor_version = constants.getProperty("disruptorVersion")
2018-04-13 14:17:20 +00:00
ext.metrics_version = constants.getProperty("metricsVersion")
ext.metrics_new_relic_version = constants.getProperty("metricsNewRelicVersion")
CORDA-2876: Integrate the DJVM with the Corda Node. (#5633) * * CORDA-2876: Migrate DJVM serialization modules into Corda. * Pre-generate Corda classes for DJVM sandbox when node boots in production mode. * Ensure that all DJVM test contract CorDapps are signed. * Test examining attachments within DJVM sandbox. * Test Contract.verify() using cryptographic verify function. * Add test cases for more non-determinism in Contract.verify(). * Update node-driver to support testing nodes with DJVM support. * Modify Node to allow alternative DJVM configurations for testing. * Refactor DeterministicVerifierFactoryService for default use-case. * Small whitespace and code-style refactors. * Create and activate a DJVM execution profile for the Node. * Revert making Verifier implement AutoCloseable. * Allow the node to cache sandboxed Corda byte-code for reuse. * Use updated Quasar agent that knows not to touch DJVM classloaders. * Fix Quasar's package exclusions globs for DJVM. * Deserialise LedgerTransaction into the sandbox for Contract.verify(). * Add the DJVM's serialisation modules to the Corda node. * Update the node for the latest DJVM API, and preserve the ConstructorForDeserialization annotation on user contract classes. * Add corda-dev to repositories while DJVM is SNAPSHOT. * Migrate DJVM specialisation into AbstractNode's ServiceHubInternalImpl. * Exclude sandbox.** and shaded djvm.** classes from Quasar agent. * Add the corda-dev repository to :node for the deterministic runtime. * Turn Verifier into an abstract base class that is specialised by BasicVerifier and DeterministicVerifier. * Add the Corda deterministic libraries to the Node, and split the DJVM sandbox across two SandboxClassLoader instances. * Add DJVM to contract verification path inside Corda Node. * Minor lambda simplifications and removing unused import. * CORDA-2871: Remove @CordaSerializable from LedgerTransaction. * CORDA-2871: Add a callback to ServicesForResolution to allow the Node to modify a LedgerTransaction object. * CORDA-2871: Refactor the contract verification code into a separate class, and allow LedgerTransaction to choose different Verifier objects. * Update DJVM to use Corda 4.4-SNAPSHOT. (#95) * CORDA-3330: Allow DJVM to preload / pregenerate classes from selected jars. (#92) * Add support for SourceClassLoader.getResources() to DJVM. * Allow a SandboxConfiguration to preload sandbox byte-code for all classes inside jars containing META-INF/DJVM-preload. * CORDA-3309: Remove explicit try-catch in favour of UncaughtExceptionHandler. (#91) * CORDA-3309: Install UncaughtExceptionHandler for DJVM tasks. (#88) * Fix tests broken by Windows line endings. (#82) * CORDA-3292: Reimplement ExecutionProfile as a data class. (#80) * CORDA-2877: Refactor how we create child SandboxConfiguration objects. (#76) * CORDA-2877: Load bytecode from a persistent cache to prevent repeated rewriting. (#75) * Refactor byte-code cache to SandboxConfiguration instead of AnalysisConfiguration. We cannot "mix and match" byte-code generated by different sets of rules. * CORDA-3137: Enhance annotation handling so that we can allow some annotations to be mapped into the sandbox without also needing to be stitched. (#72) * CORDA-2871: Minor cosmetic fixes. (#69) * CORDA-3218: Align DJVM with internal Corda Serialisation API. (#68) * Ensure we get the latest SNAPSHOT of the serialisation code. * CORDA-2871: Refactor SourceClassLoader to define source classes. (#66) * Rewrite SourceClassLoader to support parent/child relationships. * Revert catching TypNotPresebtException - it was a symptom of a bigger problem. * Remove AutoCloseable from AnalysisConfiguration and SourceClassLoader. * SourceClassLoader.getResource() must delegate to its parent first. * CORDA-2871: Ensure ClassLoader.loadClass() throws ClassNotFoundException for all cases where the class cannot be found. (#64) * CORDA-2871: Modify sandbox tasks to implement both java.Function and sandbox.Function (#62) * Make TaskExecutors implement BiFunction to make them composable. * Create ImportTask to wrap a java.Function inside a sandbox.Function. * Add createExecutor() and createRawExecutor() APIs to SandboxClassLoader. * Update serialization to use SandboxClassLoader.toSandboxClass(). * Remove a layer of lambdas from the serialisation code. * Update SandboxExecutor and SandboxRawExecutor. * Rename Executor to TaskFactory. * Rename dangling executor -> taskFactory. * CORDA-2871: Sanity fixes! (#63) * Improve message for SandboxClassLoadingException. * Fix serialisation API for using sandboxed environment. * CORDA-3174: Extend serialisation to include InputStream and OpaqueBytesSubSequence. (#60) * Update DJVM Example project for serialisation. * Add serializers for InputStream and OpaqueBytesSubSequence. * Support ZIP Inflater and CRC32 inside the sandbox. * Allow the DJVM to wrap java.io.InputStream as sandbox.java.io.InputStream. * Configure tests also to preserve @DeprecatedConstructorForDeserialization. * CORDA-3174: Implement Corda serialization modules. (#59) * Create DJVM serialization modules. * Create test cases for Array<T>, List<T> and List<Array<T>>. * Refactor SandboxPrimiveSerializer for all primitive types. * Implement SandboxCollectionSerializer to support Collection types. * Implement SandboxMapSerializer to support Map types. * Attempt to fix infinite loop when computing Collection and Map fingerprints. * Apply special handling when deserialising sandbox.java.lang.Character. * Remap Java primitive types to sandbox Java object types to deter evolution. * Use Class.getPackage().getName() to determine sandbox package name. * Implement SandboxEnumSerializer to support Enum types. * Implement SandboxPublicKeySerializer to support Java security keys. * Add serialization projects to the composite example project. * Implement serializers for BigInteger, BigDecimal, Currency and StringBuffer. * Test that deserialising does not instantiate the untrusted user classes. * Implement serializers for java.time.* types. * Add serialiser for BitSet - currently disabled until BitSet itself is supported. * Add serialisers for EnumSet and Class. * Include support for EnumMap in the SandboxMapSerializer. * Ensure the DJVM Example project's tests preserve @CordaSerializable. * Add support for UUID as a primitive type. * Use common abortReadOnly() method for declaring serialization as unsupported. * Streamline the API for deserialising into the sandbox. * Add preliminary support for deserialising X.509 certificates. * Implement serializer for java.util.Optional. * Refactor configuration of the sandbox serialization scheme. * Add tests for deserialising arrays of basic types. * Include method annotations in annotation stitching. This ensures that `@ConstructorForDeserialization` is not dropped. * Enable test for SandboxBitSetSerializer. * Enable tests for X.509 serializers. * Implement serializers for ProtonJ primitive types. * Serialize java.util.Date as a primitive type. * Add the bintray Gradle plugin to the serialisation modules. * Do not publish serialisation modules - they will become part of Corda itself. * CORDA-2876: Only apply DJVM sources to Node Driver when devMode=true. * Resolve DeteKT warnings. * Require Node's JVM to set -Dnet.corda.djvm=true in order to enable DJVM. * Enable DJVM for DemoBench nodes. * Disable Quasar instrumentation verification for DemoBench nodes. * Upgrade to DJVM 1.0-RC01. * Try to modify DriverParameters in a more "ABI friendly" way. * Refactor and simplify sandbox deserialisation of primitive objects. * Review fixes. * Update EvolutionSerializerFactory to handle sandboxed primitive boxed types.
2019-11-05 13:44:18 +00:00
ext.djvm_version = constants.getProperty("djvmVersion")
ext.deterministic_rt_version = constants.getProperty('deterministicRtVersion')
ext.okhttp_version = '3.14.2'
ext.netty_version = '4.1.77.Final'
ext.tcnative_version = constants.getProperty("tcnativeVersion")
2017-04-10 12:45:40 +00:00
ext.typesafe_config_version = constants.getProperty("typesafeConfigVersion")
ext.fileupload_version = '1.4'
ext.kryo_version = '4.0.2'
ext.kryo_serializer_version = '0.43'
// Legacy JUnit 4 version
ext.junit_version = '4.12'
// Need this version to access classpath scanning error handling fix -
// see https://github.com/junit-team/junit5/commit/389de48c2a18c5a93a7203ef424aa47a8a835a74
// Upgrade to 5.5.x when GA release is available.
ext.junit_vintage_version = '5.5.0-RC1'
ext.junit_jupiter_version = '5.5.0-RC1'
ext.junit_platform_version = '1.5.0-RC1'
ext.mockito_version = '2.28.2'
ext.mockito_kotlin_version = '1.6.0'
ext.hamkrest_version = '1.7.0.0'
ext.jopt_simple_version = '5.0.2'
ext.jansi_version = '1.18'
ext.hibernate_version = '5.4.32.Final'
ext.h2_version = '1.4.199' // Update docs if renamed or removed.
ext.rxjava_version = '1.3.8'
ext.dokka_version = '0.10.1'
ext.eddsa_version = '0.3.0'
ext.dependency_checker_version = '5.2.0'
ext.commons_collections_version = '4.3'
ext.beanutils_version = '1.9.4'
ext.jsr305_version = constants.getProperty("jsr305Version")
ext.shiro_version = '1.10.0'
ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
2024-10-28 14:33:37 +00:00
ext.hikari_version = '4.0.3'
ext.liquibase_version = '3.6.3'
ext.artifactory_contextUrl = 'https://software.r3.com/artifactory'
ext.publicArtifactURL = 'https://download.corda.net/maven'
ext.snake_yaml_version = constants.getProperty('snakeYamlVersion')
INFRA-1309: migrate docker-compose-rule-junit4 from Bintray to Maven Central (#6927) docker-compose-rule-junit4 is available from Maven Central, but from version 1.0.0 onwards Bumping version number to 1.5.0 introduces following list of dependencies: * com.fasterxml.jackson.core:jackson-annotations:2.4.4 (Apache 2.0) * com.fasterxml.jackson.core:jackson-core:2.9.7 (Apache 2.0) * com.fasterxml.jackson.core:jackson-databind:2.11.0 (Apache 2.0) * com.fasterxml.jackson.core:jackson-databind:2.9.7 (Apache 2.0) * com.fasterxml.jackson.core:jackson-databind:2.9.8 (Apache 2.0) * com.fasterxml.jackson.core:jackson-databind:2.9.9 (Apache 2.0) * com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.9.8 (Apache 2.0) * com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.10.2 (Apache 2.0) * com.fasterxml.jackson.datatype:jackson-datatype-guava:2.9.8 (Apache 2.0) * com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.8 (Apache 2.0) * com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.8 (Apache 2.0) * com.fasterxml.jackson.module:jackson-module-afterburner:2.9.8 (Apache 2.0) * com.github.zafarkhaja:java-semver:0.9.0 (MIT) * com.google.code.findbugs:jsr305:3.0.2 (Apache 2.0) * com.google.errorprone:error_prone_annotations:2.3.3 (Apache 2.0) * com.google.guava:guava:18.0 (Apache 2.0) * com.google.guava:guava:21.0 (Apache 2.0) * commons-io:commons-io:2.6 (Apache 2.0) * com.palantir.conjure.java.api:errors:2.12.0 (Apache 2.0) * com.palantir.conjure.java:conjure-lib:5.15.0 (Apache 2.0) * com.palantir.conjure.java.runtime:conjure-java-jackson-serialization: 4.18.1 (Apache 2.0) * com.palantir.docker.compose:docker-compose-rule-core:1.5.0 (Apache 2.0) * com.palantir.docker.compose:docker-compose-rule-events-api-objects: 1.5.0 (Apache 2.0) * com.palantir.docker.compose:docker-compose-rule-junit4:1.5.0 (Apache 2.0) * com.palantir.ri:resource-identifier:1.1.0 (Apache 2.0) * com.palantir.safe-logging:preconditions:1.11.0 (Apache 2.0) * com.palantir.safe-logging:preconditions:1.13.0 (Apache 2.0) * com.palantir.safe-logging:preconditions:1.9.0 (Apache 2.0) * com.palantir.safe-logging:safe-logging:1.11.0 (Apache 2.0) * com.palantir.safe-logging:safe-logging:1.13.0 (Apache 2.0) * com.palantir.tokens:auth-tokens:3.6.1 (Apache 2.0) * jakarta.annotation:jakarta.annotation-api:1.3.5 (EPL 2.0) * jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 (EPL 2.0) * joda-time:joda-time:2.10.3 (Apache 2.0) * junit:junit:4.13 (EPL 1.0) * one.util:streamex:0.7.2 (Apache 2.0) * org.apache.commons:commons-lang3:3.7 (Apache 2.0) * org.awaitility:awaitility:4.0.2 (Apache 2.0) * org.hamcrest:hamcrest:2.1 (BSD 3-clause) * org.hamcrest:hamcrest-core:2.1 (BSD 3-clause) * org.slf4j:slf4j-api:1.7.25 (MIT)
2021-07-19 13:02:33 +00:00
ext.docker_compose_rule_version = '1.5.0'
ext.selenium_version = '3.141.59'
ext.ghostdriver_version = '2.1.0'
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
ext.proguard_version = constants.getProperty('proguardVersion')
ext.jsch_version = '0.1.55'
ext.protonj_version = '0.33.0' // Overide Artemis version
2024-07-09 15:13:53 +00:00
ext.snappy_version = '0.5'
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
ext.class_graph_version = constants.getProperty('classgraphVersion')
ext.jcabi_manifests_version = '1.1'
ext.picocli_version = '3.9.6'
ext.commons_lang_version = '3.9'
2024-10-14 12:34:49 +00:00
ext.commons_io_version = '2.17.0'
ext.controlsfx_version = '8.40.15'
ext.detekt_version = constants.getProperty('detektVersion')
ext.docker_java_version = constants.getProperty("dockerJavaVersion")
2024-04-11 13:01:57 +00:00
ext.commons_configuration2_version = "2.10.1"
ext.commons_text_version = "1.10.0"
if (JavaVersion.current().isJava8()) {
ext.fontawesomefx_commons_version = '8.15'
ext.fontawesomefx_fontawesome_version = '4.7.0-5'
} else {
// has been compiled by a more recent version of the Java Runtime (class file version 55.0)
ext.fontawesomefx_commons_version = '11.0'
ext.fontawesomefx_fontawesome_version = '4.7.0-11'
}
// Name of the IntelliJ SDK created for the deterministic Java rt.jar.
// ext.deterministic_idea_sdk = '1.8 (Deterministic)'
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
// Update 121 is required for ObjectInputFilter.
// Updates [131, 161] also have zip compression bugs on MacOS (High Sierra).
// when the java version in NodeStartup.hasMinimumJavaVersion() changes, so must this check
ext.java8_minUpdateVersion = constants.getProperty('java8MinUpdateVersion')
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
ext.corda_revision = {
try {
"git rev-parse HEAD".execute().text.trim()
} catch (Exception ignored) {
logger.warn("git is unavailable in build environment")
"unknown"
}
}()
ext.corda_docs_link = "https://docs.corda.net/docs/corda-os/$baseVersion"
2015-11-03 12:37:19 +00:00
repositories {
mavenLocal()
// Use system environment to activate caching with Artifactory,
// because it is actually easier to pass that during parallel build.
// NOTE: it has to be a name of a virtual repository with all
// required remote or local repositories!
if (System.getenv("CORDA_USE_CACHE")) {
maven {
name "R3 Maven remote repositories"
url "${artifactory_contextUrl}/${System.getenv("CORDA_USE_CACHE")}"
authentication {
basic(BasicAuthentication)
}
credentials {
username = System.getenv('CORDA_ARTIFACTORY_USERNAME')
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
}
}
} else {
maven {
url "${publicArtifactURL}/corda-dependencies-dev"
content {
includeGroupByRegex 'net\\.corda(\\..*)?'
includeGroupByRegex 'com\\.r3(\\..*)?'
}
}
maven {
url "${publicArtifactURL}/corda-releases"
content {
includeGroupByRegex 'net\\.corda(\\..*)?'
includeGroupByRegex 'com\\.r3(\\..*)?'
}
}
gradlePluginPortal()
mavenCentral()
maven {
url "${publicArtifactURL}/jcenter-backup"
}
}
2015-11-03 12:37:19 +00:00
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
2016-11-25 16:34:32 +00:00
classpath "net.corda.plugins:publish-utils:$gradle_plugins_version"
classpath "net.corda.plugins:quasar-utils:$gradle_plugins_version"
classpath "net.corda.plugins:cordformation:$gradle_plugins_version"
classpath "net.corda.plugins:cordapp:$gradle_plugins_version"
classpath "net.corda.plugins:api-scanner:$gradle_plugins_version"
classpath "net.corda.plugins:jar-filter:$gradle_plugins_version"
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
classpath "net.sf.proguard:proguard-gradle:$proguard_version"
classpath 'com.github.ben-manes:gradle-versions-plugin:0.15.0'
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:${dokka_version}"
classpath "net.i2p.crypto:eddsa:$eddsa_version" // Needed for ServiceIdentityGenerator in the build environment.
classpath "org.owasp:dependency-check-gradle:${dependency_checker_version}"
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:$artifactory_plugin_version"
// Capsule gradle plugin forked and maintained locally to support Gradle 5.x
// See https://github.com/corda/gradle-capsule-plugin
classpath "us.kirchmeier:gradle-capsule-plugin:1.0.4_r3"
classpath group: "com.r3.testing", name: "gradle-distributed-testing-plugin", version: '1.3.0'
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.8"
classpath "com.gradle:gradle-enterprise-gradle-plugin:$gradleEnterprisePlugin"
classpath "com.gradle:common-custom-user-data-gradle-plugin:$customUserDataGradlePlugin"
2015-11-03 12:37:19 +00:00
}
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
2015-11-03 12:37:19 +00:00
}
plugins {
// Add the shadow plugin to the plugins classpath for the entire project.
id 'com.github.johnrengelman.shadow' version '2.0.4' apply false
id "org.ajoberstar.grgit" version "4.0.0"
}
apply plugin: 'project-report'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'com.r3.testing.distributed-testing'
apply plugin: "com.gradle.build-scan"
apply plugin: "com.gradle.common-custom-user-data-gradle-plugin"
buildScan {
server = gradleEnterpriseUrl
allowUntrustedServer = false
def apiKey = project.findProperty('CORDA_GRADLE_SCAN_KEY') ?: System.getenv('CORDA_GRADLE_SCAN_KEY')
if (apiKey?.trim()) {
publishAlways()
capture {
taskInputFiles = true
}
uploadInBackground = false
accessKey = apiKey
}
}
// If the command line project option -PversionFromGit is added to the gradle invocation, we'll resolve
// the latest git commit hash and timestamp and create a version postfix from that
if (project.hasProperty("versionFromGit")){
ext.versionSuffix = "${grgit.head().dateTime.format("yyyyMMdd_HHmmss")}-${grgit.head().abbreviatedId}"
}
// Need the `toString()` call on these, because they need to be converted from GStringImpl to Java Strings.
if (ext.versionSuffix != ""){
ext.corda_release_version = "${ext.baseVersion}-${ext.versionSuffix}".toString()
} else {
ext.corda_release_version = "${ext.baseVersion}".toString()
}
// We need the following three lines even though they're inside an allprojects {} block below because otherwise
// IntelliJ gets confused when importing the project and ends up erasing and recreating the .idea directory, along
// with the run configurations. It also doesn't realise that the project is a Java 8 project and misconfigures
// the resulting import. This fixes it.
apply plugin: 'java'
logger.lifecycle("Java version: {}", JavaVersion.current())
sourceCompatibility = VERSION_1_8
targetCompatibility = JavaVersion.current().isJava8() ? VERSION_1_8 : VERSION_11
logger.lifecycle("Java source compatibility: {}", sourceCompatibility)
logger.lifecycle("Java target compatibility: {}", targetCompatibility)
logger.lifecycle("Quasar version: {}", quasar_version)
logger.lifecycle("Quasar classifier: {}", quasar_classifier.toString())
logger.lifecycle("Building Corda version: {}", corda_release_version)
allprojects {
apply plugin: 'kotlin'
apply plugin: 'jacoco'
apply plugin: 'org.owasp.dependencycheck'
apply plugin: 'kotlin-allopen'
apply plugin: 'org.sonarqube'
allOpen {
annotations(
"javax.persistence.Entity",
"javax.persistence.Embeddable",
"javax.persistence.MappedSuperclass"
)
}
// we do this to allow for Gradle task caching.
// below block tells Gradle to ignore specifically the dymaically generated files in the manifest when checking if a file is up to date
// this has no impact on publishing or production of jar, This only reates to Grades mechamish for verifying the Cache key
normalization {
runtimeClasspath {
ignore("**/*.EC") //signing related
ignore("**/*.SF") //signing related
ignore("**/*.MF")
ignore("**/*.kotlin_module")
ignore("**/Cordapp-Dependencies")
}
}
dependencyCheck {
suppressionFile = '.ci/dependency-checker/suppressedLibraries.xml'
cveValidForHours = 1
format = 'ALL'
failOnError = project.property('owasp.failOnError')
// by default CVSS is '11' which passes everything. Set between 0-10 to catch vulnerable deps
failBuildOnCVSS = project.property('owasp.failBuildOnCVSS').toFloat()
analyzers {
assemblyEnabled = false
nuspecEnabled = false
nugetconfEnabled = false
}
}
sourceCompatibility = VERSION_1_8
targetCompatibility = JavaVersion.current().isJava8() ? VERSION_1_8 : VERSION_11
jacoco {
// JDK11 official support (https://github.com/jacoco/jacoco/releases/tag/v0.8.3)
toolVersion = "0.8.3"
}
tasks.withType(JavaCompile).configureEach {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Xlint:-options" << "-parameters"
options.compilerArgs << '-XDenableSunApiLintControl'
if (warnings_as_errors) {
// We cannot fail the build on compiler warnings because we have java warnings that you cannot disable:
// Signal is internal proprietary API and may be removed in a future release
// otherwise we should have the following line here:
// options.compilerArgs << "-Werror"
}
options.encoding = 'UTF-8'
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = VERSION_1_8
javaParameters = true // Useful for reflection.
freeCompilerArgs = ['-Xjvm-default=compatibility']
allWarningsAsErrors = warnings_as_errors
}
}
tasks.register('compileAll') { task ->
task.dependsOn tasks.withType(AbstractCompile)
}
tasks.withType(Jar).configureEach { task ->
// Includes War and Ear
manifest {
attributes('Corda-Release-Version': corda_release_version)
attributes('Corda-Platform-Version': corda_platform_version)
attributes('Corda-Revision': corda_revision)
attributes('Corda-Vendor': corda_build_edition)
attributes('Automatic-Module-Name': "net.corda.${task.project.name.replaceAll('-', '.')}")
attributes('Corda-Docs-Link': corda_docs_link)
}
}
tasks.withType(Test).configureEach {
forkEvery = 20
ignoreFailures = project.hasProperty('tests.ignoreFailures') ? project.property('tests.ignoreFailures').toBoolean() : false
failFast = project.hasProperty('tests.failFast') ? project.property('tests.failFast').toBoolean() : false
// Prevent the project from creating temporary files outside of the build directory.
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
systemProperty 'java.io.tmpdir', buildDir.absolutePath
maxHeapSize = "1g"
if (project.path.startsWith(':experimental') && System.getProperty("experimental.test.enable") == null) {
enabled = false
}
CORDA-1509 Configure and enable Gradle Build Cache (#3908) * Fix to enable gradle build caching of test runs. * Configure gradle build caching to be enabled. * Generate dependency report and graph: 1) ./gradlew htmlDependencyReport 2) ./gradlew generateDependencyGraphCorda * Strip out all Jacoco references to prevent Gradle Build Cache error: "Caching disabled for task ':<module>:test': 'JaCoCo agent configured with `append = true`' satisfied" * Revert jacoco back into jarFilter gradle build file. Disable building deterministic modules (including jarFilter). * Added Gradle build scan plugin. * Set file encoding to prevent incorrect Gradle build cache keys across different machines. https://guides.gradle.org/using-build-cache/#system_file_encoding * Apply gradle build cache settings to buildSrc. * Added targetted gradle build tasks to leverage cache. * Updated URL's of several different test Gradle Cache instances. * Updated CI batch build scripts. * Updated script perms to be executable. * Added CI smoke tests batch script. * Use TestDev Labs gradle cache. * Echo URL of Gradle Build Repository. Echo exit status of each Gradle build command. * Use environment variables to define Gradle Build Cache usage and URL. * Customisation through parameters. * Remove dependency graph generation plugin. Align build cache settings across project and buildSrc gradle files. * Remove buildSrc gradle build cache config. * Revert definition of gradle build cache variables back to settings.gradle. * Fix incorrect path. * Aligned gradle build cache configuration across buildSrc and project. * Minor updates to test scope. * Minor updates to test scope. * Update scripts to use GRADLE_HOME * Exit on unset GRADLE_HOME * Remove duplication following rebase from master. * Remove fine-grained build task scripts. * Added back Jacoco reporting. * Revert jdk8u-deterministic module. * Incorporating changes from PR review feedback. * Workaround Jacoco issue associated with Gradle Build Cache test task. * Update init script. * Remove redundant build-scan declarations. * Updates from PR review feedback. * Remove GRADLE_HOME as no longer needed - everything is driven via gradle wrapper. * Use CORDA prefix in system environment variable.
2018-09-26 12:38:23 +00:00
// Required to use Gradle build cache (until Gradle 5.0 is released with default value of "append" set to false)
// See https://github.com/gradle/gradle/issues/5269 and https://github.com/gradle/gradle/pull/6419
extensions.configure(TypeOf.typeOf(JacocoTaskExtension)) { ex ->
ex.append = false
}
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
maxParallelForks = (System.env.CORDA_TESTING_FORKS == null) ? 1 : "$System.env.CORDA_TESTING_FORKS".toInteger()
systemProperty 'java.security.egd', 'file:/dev/./urandom'
}
tasks.withType(Test).configureEach {
WIP Kubenetes parallel build (#5396) * Split integration tests * add simple example of printing all methods annotated with @Test * add docker plugin to root project remove docker plugin from child projects add Dockerfile for image to use when testing add task to build testing image to root project * add comment describing proposed testing workflow * simple attempt at running tests in docker container * add my first k8s interaction script * add fabric8 as dependnency to buildSrc * before adding classpath * collect reports from containers and run through testReports * re-enable kubes backed testing * for each project 1. add a list tests task 2. use this list tests task to modify the included tests 3. add a parallel version of the test task * tweak logic for downloading test report XML files * use output of parallel testing tasks in report tasks to determine build resultCode * prepare for jenkins test * prepare for jenkins test * make docker reg password system property * add logging to print out docker reg creds * enable docker build * fix gradle build file * gather xml files into root project * change log level for gradle modification * stop printing gradle docker push passwd * tidy up report generation * fix compilation errors * split signature constraints test into two * change Sig constraint tests type hierarchy * tidy up build.gradle * try method based test includes * add unit test for test listing * fix bug with test slicing * stop filtering ignored tests to make the numbers match existing runs * change log level to ensure print out * move all plugin logic to buildSrc files * tidy up test modification add comments to explain what DistributedTesting plugin does * move new plugins into properly named packages * tidy up runConfigs * fix compile errors due to merge with slow-integration-test work * add system parameter to enable / disable build modification * add -Dkubenetise to build command * address review comments * type safe declaration of parameters in KubesTest
2019-09-03 15:40:08 +00:00
if (name.contains("integrationTest")) {
maxParallelForks = (System.env.CORDA_INT_TESTING_FORKS == null) ? 1 : "$System.env.CORDA_INT_TESTING_FORKS".toInteger()
}
}
if (jdkClassifier) {
jar {
// JDK11 built and published artifacts to include classifier
archiveClassifier = jdkClassifier
}
}
2016-11-10 13:14:38 +00:00
group 'net.corda'
version "$corda_release_version"
repositories {
mavenLocal()
// Prevents cache giving use the wrong artemis
mavenCentral {
content {
includeGroup 'org.apache.activemq'
}
}
// Use system environment to activate caching with Artifactory,
// because it is actually easier to pass that during parallel build.
// NOTE: it has to be a name of a virtual repository with all
// required remote or local repositories!
if (System.getenv("CORDA_USE_CACHE")) {
maven {
name "R3 Maven remote repositories"
url "${artifactory_contextUrl}/${System.getenv("CORDA_USE_CACHE")}"
authentication {
basic(BasicAuthentication)
}
credentials {
username = System.getenv('CORDA_ARTIFACTORY_USERNAME')
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
}
}
} else {
maven {
url "${publicArtifactURL}/corda-dependencies"
content {
includeGroupByRegex 'net\\.corda(\\..*)?'
includeGroupByRegex 'com\\.r3(\\..*)?'
includeGroup 'co.paralleluniverse'
includeGroup 'org.crashub'
includeGroup 'com.github.bft-smart'
includeGroup 'com.github.detro'
}
}
maven {
url "${publicArtifactURL}/corda-dev"
content {
includeGroupByRegex 'net\\.corda(\\..*)?'
includeGroupByRegex 'com\\.r3(\\..*)?'
}
}
maven {
url 'https://repo.gradle.org/gradle/libs-releases'
content {
includeGroup 'org.gradle'
includeGroup 'com.github.detro'
}
}
maven {
url "${publicArtifactURL}/corda-releases"
content {
includeModule('net.corda', 'corda-shell')
}
}
mavenCentral()
maven {
url "${publicArtifactURL}/jcenter-backup"
}
}
}
configurations {
all {
resolutionStrategy {
// Force dependencies to use the same version of Kotlin as Corda.
force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
force "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
// Force dependencies to use the same version of Guava as Corda.
force "com.google.guava:guava:$guava_version"
// Demand that everything uses our given versions of:
// * Netty
// * Apache commons-configuration2
eachDependency { details ->
if (details.requested.group == 'io.netty' && details.requested.name.startsWith('netty-')) {
if (details.requested.name.startsWith('netty-tcnative')){
details.useVersion tcnative_version
} else {
details.useVersion netty_version
}
}
if (details.requested.group == 'org.apache.commons') {
if (details.requested.name == "commons-configuration2") {
details.useVersion commons_configuration2_version
}
2023-04-27 01:44:30 +00:00
}
}
}
}
compile {
// We want to use SLF4J's version of these bindings: jcl-over-slf4j
// Remove any transitive dependency on Apache's version.
exclude group: 'commons-logging', module: 'commons-logging'
// Remove any transitive dependency on Logback (e.g. Liquibase 3.6 introduces this dependency)
exclude group: 'ch.qos.logback'
// Netty-All is an uber-jar which contains every Netty module.
// Exclude it to force us to use the individual Netty modules instead.
exclude group: 'io.netty', module: 'netty-all'
}
runtime {
// We never want isolated.jar on classPath, since we want to test jar being dynamically loaded as an attachment
exclude module: 'isolated'
}
}
}
sonarqube {
properties {
property "sonar.projectName", "Corda"
property "sonar.projectKey", "corda"
property 'sonar.tests', '**/src/test/**,**/src/smoke-test/**,**/src/integration-test/**,**/src/integration-test-slow/**'
property 'sonar.coverage.jacoco.xmlReportPaths', "${rootDir.path}/build/reports/jacoco/jacocoRootReport/jacocoRootReport.xml"
property 'detekt.sonar.kotlin.baseline.path', "${rootDir.path}/detekt-baseline.xml"
property 'detekt.sonar.kotlin.config.path', "${rootDir.path}/detekt-config.yml"
}
}
// Check that we are running on a Java 8 JDK. The source/targetCompatibility values above aren't sufficient to
// guarantee this because those are properties checked by the Java plugin, but we're using Kotlin.
//
// We recommend a specific minor version (unfortunately, not checkable directly) because JavaFX adds APIs in
// minor releases, so we can't work with just any Java 8, it has to be a recent one.
if (!JavaVersion.current().java8Compatible)
throw new GradleException("Corda requires Java 8, please upgrade to at least 1.8.0_$java8_minUpdateVersion")
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
configurations {
detekt
}
// Required for building out the fat JAR.
2016-11-04 17:15:06 +00:00
dependencies {
compile project(':node')
compile "com.google.guava:guava:$guava_version"
// Set to corda compile to ensure it exists now deploy nodes no longer relies on build
compile project(path: ":node:capsule", configuration: 'runtimeArtifacts')
compile project(path: ":testing:testserver:testcapsule:", configuration: 'runtimeArtifacts')
// For the buildCordappDependenciesJar task
runtime project(':client:jfx')
runtime project(':client:mock')
runtime project(':client:rpc')
runtime project(':core')
runtime project(':confidential-identities')
runtime project(':finance:workflows')
runtime project(':finance:contracts')
runtime project(':testing:testserver')
testCompile project(':test-utils')
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
detekt 'io.gitlab.arturbosch.detekt:detekt-cli:1.0.1'
2016-11-04 17:15:06 +00:00
}
jar {
// Prevent the root project from building an unwanted dummy CorDapp.
enabled = false
}
2016-07-21 10:11:37 +00:00
task jacocoRootReport(type: org.gradle.testing.jacoco.tasks.JacocoReport) {
dependsOn = subprojects.test
additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories = files(subprojects.sourceSets.main.output)
executionData = files(subprojects.jacocoTestReport.executionData)
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
onlyIf = {
true
}
doFirst {
executionData = files(executionData.findAll {
it.exists()
})
}
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it,
// these exclusions are necessary because jacoco gets confused by same class names
// which occur due to deterministic versions of non deterministic classes
[DRAFT] feat/CORDA-3823-hash-agility-qa-ready (#6789) * wip * wip * wip (need to review IEE comments) * wip * wip * Small refactoring, fixed network-verifier's TestNotaryFlow * Added command line option to explicitly enable hash agility support * wip-do-not-push * wip * wip * wip * aligned merkletree/transaction hash algorithms * wip * Added mixed algorithm support for nodes vs leaves and corrected mixed algorithm tests * moved global computeNonce and componentHash to DigestService * added comment for failing test to fix * wip * Minor cleanups, added deprecated componentHash/computeNonce * restored exploratory changes to failing SignedTransaction test * cleaned up and minor rafactoring * Fixed some tests with hardcoded hash algorithm * some changes and cleanups following code review * WIP commit before large change * WIP Fixed 3 tests * WIP removed direct references to randomSHA256() and sha256() * Updated/added liquibase migrations to support larger hash algorithms * Reviewed, cleanups, comments, fixes * removing direct references to sha256() * WIP verifying obligations test errors * reviewing obligation/attachment issues with sha3_256 * Full review before PR - intermediate commits * Reviewed and cleaned up * Futher cleanup * Fixed partial tree backward compatible json and cleanups * all tests passing * Removed couple of unused imports * Reworked global componentHash function to avoid deprecated warnings * replaced SHA3s with some alternate SHA2s * Removed SHA3-256 and SHA3-512 references * fixed some tests using non ubiquitous hash algorithms * Fixed ABI compatibility (not for TransactionBuilder) * Fixed ABI compatibility to TransactionBuilder * couple of fixes * fixed DigestService's randomHash * Removed constructor with loosely typed args for private constructor of LedgerTransaction class (API removal) * re-introduced LedgerTransaction deprecated ctor for deserialization * Add possibility to load CustomMessageDigest bypassing JCA (#6798) * Change api-current for DigestAlgorithm * disable flaky tests Co-authored-by: Denis Rekalov <denis.rekalov@r3.com>
2020-11-05 22:05:29 +00:00
exclude: ['**/net/corda/core/crypto/DigestSupplier**',
'**/net/corda/core/crypto/DelegatingSecureRandomService',
'**/net/corda/core/internal/ThreadLocalToggleField**',
'**/net/corda/core/internal/InheritableThreadLocalToggleField**',
'**/net/corda/core/internal/ToggleField**',
'net/corda/core/internal/rules/StateContractValidationEnforcementRule**',
'net/corda/core/internal/SimpleToggleField**',
'net/corda/core/serialization/SerializationFactory**',
'net/corda/serialization/internal/amqp/AMQPStreams**',
'net/corda/serialization/internal/amqp/AMQPSerializerFactories**',
'net/corda/serialization/internal/amqp/AMQPSerializationThreadContext**',
'net/corda/serialization/internal/ByteBufferStreams**',
'net/corda/serialization/internal/model/DefaultCacheProvider**',
'net/corda/serialization/internal/DefaultWhitelist**'
])
})
}
2016-07-21 16:40:57 +00:00
}
tasks.register('detekt', JavaExec) {
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
def input = "$projectDir"
def config = "$projectDir/detekt-config.yml"
def baseline = "$projectDir/detekt-baseline.xml"
def detektPluginsJar = project(':detekt-plugins').tasks.jar
def plugins = detektPluginsJar.outputs.files.singleFile
def params = ['-i', input, '-c', config, '-b', baseline, '--plugins', plugins]
inputs.files(detektPluginsJar, config, baseline)
main = "io.gitlab.arturbosch.detekt.cli.Main"
classpath = configurations.detekt
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
args(params)
}
tasks.register('detektBaseline', JavaExec) {
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
main = "io.gitlab.arturbosch.detekt.cli.Main"
classpath = configurations.detekt
def input = "$projectDir"
def config = "$projectDir/detekt-config.yml, $projectDir/detekt-baseline-config.yml"
add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now
2019-09-19 17:41:06 +00:00
def baseline = "$projectDir/detekt-baseline.xml"
def params = ['-i', input, '-c', config, '-b', baseline, '--create-baseline']
args(params)
}
tasks.withType(Test).configureEach {
2016-07-21 16:40:57 +00:00
reports.html.destination = file("${reporting.baseDir}/${name}")
}
task testReport(type: TestReport) {
destinationDir = file("$buildDir/reports/allTests")
// Include the results from the `test` task in all subprojects
reportOn subprojects*.test
}
bintrayConfig {
user = System.getenv('CORDA_BINTRAY_USER')
key = System.getenv('CORDA_BINTRAY_KEY')
repo = 'corda'
org = 'r3'
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/corda/corda'
projectUrl = 'https://github.com/corda/corda'
gpgSign = true
gpgPassphrase = System.getenv('CORDA_BINTRAY_GPG_PASSPHRASE')
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
publications = [
'corda-jfx',
'corda-mock',
'corda-rpc',
'corda-core',
'corda-core-deterministic',
'corda-deterministic-verifier',
CORDA-2876: Integrate the DJVM with the Corda Node. (#5633) * * CORDA-2876: Migrate DJVM serialization modules into Corda. * Pre-generate Corda classes for DJVM sandbox when node boots in production mode. * Ensure that all DJVM test contract CorDapps are signed. * Test examining attachments within DJVM sandbox. * Test Contract.verify() using cryptographic verify function. * Add test cases for more non-determinism in Contract.verify(). * Update node-driver to support testing nodes with DJVM support. * Modify Node to allow alternative DJVM configurations for testing. * Refactor DeterministicVerifierFactoryService for default use-case. * Small whitespace and code-style refactors. * Create and activate a DJVM execution profile for the Node. * Revert making Verifier implement AutoCloseable. * Allow the node to cache sandboxed Corda byte-code for reuse. * Use updated Quasar agent that knows not to touch DJVM classloaders. * Fix Quasar's package exclusions globs for DJVM. * Deserialise LedgerTransaction into the sandbox for Contract.verify(). * Add the DJVM's serialisation modules to the Corda node. * Update the node for the latest DJVM API, and preserve the ConstructorForDeserialization annotation on user contract classes. * Add corda-dev to repositories while DJVM is SNAPSHOT. * Migrate DJVM specialisation into AbstractNode's ServiceHubInternalImpl. * Exclude sandbox.** and shaded djvm.** classes from Quasar agent. * Add the corda-dev repository to :node for the deterministic runtime. * Turn Verifier into an abstract base class that is specialised by BasicVerifier and DeterministicVerifier. * Add the Corda deterministic libraries to the Node, and split the DJVM sandbox across two SandboxClassLoader instances. * Add DJVM to contract verification path inside Corda Node. * Minor lambda simplifications and removing unused import. * CORDA-2871: Remove @CordaSerializable from LedgerTransaction. * CORDA-2871: Add a callback to ServicesForResolution to allow the Node to modify a LedgerTransaction object. * CORDA-2871: Refactor the contract verification code into a separate class, and allow LedgerTransaction to choose different Verifier objects. * Update DJVM to use Corda 4.4-SNAPSHOT. (#95) * CORDA-3330: Allow DJVM to preload / pregenerate classes from selected jars. (#92) * Add support for SourceClassLoader.getResources() to DJVM. * Allow a SandboxConfiguration to preload sandbox byte-code for all classes inside jars containing META-INF/DJVM-preload. * CORDA-3309: Remove explicit try-catch in favour of UncaughtExceptionHandler. (#91) * CORDA-3309: Install UncaughtExceptionHandler for DJVM tasks. (#88) * Fix tests broken by Windows line endings. (#82) * CORDA-3292: Reimplement ExecutionProfile as a data class. (#80) * CORDA-2877: Refactor how we create child SandboxConfiguration objects. (#76) * CORDA-2877: Load bytecode from a persistent cache to prevent repeated rewriting. (#75) * Refactor byte-code cache to SandboxConfiguration instead of AnalysisConfiguration. We cannot "mix and match" byte-code generated by different sets of rules. * CORDA-3137: Enhance annotation handling so that we can allow some annotations to be mapped into the sandbox without also needing to be stitched. (#72) * CORDA-2871: Minor cosmetic fixes. (#69) * CORDA-3218: Align DJVM with internal Corda Serialisation API. (#68) * Ensure we get the latest SNAPSHOT of the serialisation code. * CORDA-2871: Refactor SourceClassLoader to define source classes. (#66) * Rewrite SourceClassLoader to support parent/child relationships. * Revert catching TypNotPresebtException - it was a symptom of a bigger problem. * Remove AutoCloseable from AnalysisConfiguration and SourceClassLoader. * SourceClassLoader.getResource() must delegate to its parent first. * CORDA-2871: Ensure ClassLoader.loadClass() throws ClassNotFoundException for all cases where the class cannot be found. (#64) * CORDA-2871: Modify sandbox tasks to implement both java.Function and sandbox.Function (#62) * Make TaskExecutors implement BiFunction to make them composable. * Create ImportTask to wrap a java.Function inside a sandbox.Function. * Add createExecutor() and createRawExecutor() APIs to SandboxClassLoader. * Update serialization to use SandboxClassLoader.toSandboxClass(). * Remove a layer of lambdas from the serialisation code. * Update SandboxExecutor and SandboxRawExecutor. * Rename Executor to TaskFactory. * Rename dangling executor -> taskFactory. * CORDA-2871: Sanity fixes! (#63) * Improve message for SandboxClassLoadingException. * Fix serialisation API for using sandboxed environment. * CORDA-3174: Extend serialisation to include InputStream and OpaqueBytesSubSequence. (#60) * Update DJVM Example project for serialisation. * Add serializers for InputStream and OpaqueBytesSubSequence. * Support ZIP Inflater and CRC32 inside the sandbox. * Allow the DJVM to wrap java.io.InputStream as sandbox.java.io.InputStream. * Configure tests also to preserve @DeprecatedConstructorForDeserialization. * CORDA-3174: Implement Corda serialization modules. (#59) * Create DJVM serialization modules. * Create test cases for Array<T>, List<T> and List<Array<T>>. * Refactor SandboxPrimiveSerializer for all primitive types. * Implement SandboxCollectionSerializer to support Collection types. * Implement SandboxMapSerializer to support Map types. * Attempt to fix infinite loop when computing Collection and Map fingerprints. * Apply special handling when deserialising sandbox.java.lang.Character. * Remap Java primitive types to sandbox Java object types to deter evolution. * Use Class.getPackage().getName() to determine sandbox package name. * Implement SandboxEnumSerializer to support Enum types. * Implement SandboxPublicKeySerializer to support Java security keys. * Add serialization projects to the composite example project. * Implement serializers for BigInteger, BigDecimal, Currency and StringBuffer. * Test that deserialising does not instantiate the untrusted user classes. * Implement serializers for java.time.* types. * Add serialiser for BitSet - currently disabled until BitSet itself is supported. * Add serialisers for EnumSet and Class. * Include support for EnumMap in the SandboxMapSerializer. * Ensure the DJVM Example project's tests preserve @CordaSerializable. * Add support for UUID as a primitive type. * Use common abortReadOnly() method for declaring serialization as unsupported. * Streamline the API for deserialising into the sandbox. * Add preliminary support for deserialising X.509 certificates. * Implement serializer for java.util.Optional. * Refactor configuration of the sandbox serialization scheme. * Add tests for deserialising arrays of basic types. * Include method annotations in annotation stitching. This ensures that `@ConstructorForDeserialization` is not dropped. * Enable test for SandboxBitSetSerializer. * Enable tests for X.509 serializers. * Implement serializers for ProtonJ primitive types. * Serialize java.util.Date as a primitive type. * Add the bintray Gradle plugin to the serialisation modules. * Do not publish serialisation modules - they will become part of Corda itself. * CORDA-2876: Only apply DJVM sources to Node Driver when devMode=true. * Resolve DeteKT warnings. * Require Node's JVM to set -Dnet.corda.djvm=true in order to enable DJVM. * Enable DJVM for DemoBench nodes. * Disable Quasar instrumentation verification for DemoBench nodes. * Upgrade to DJVM 1.0-RC01. * Try to modify DriverParameters in a more "ABI friendly" way. * Refactor and simplify sandbox deserialisation of primitive objects. * Review fixes. * Update EvolutionSerializerFactory to handle sandboxed primitive boxed types.
2019-11-05 13:44:18 +00:00
'corda-deserializers-djvm',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda',
'corda-finance-workflows',
'corda-finance-contracts',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-node',
'corda-node-api',
CORDA-2876: Integrate the DJVM with the Corda Node. (#5633) * * CORDA-2876: Migrate DJVM serialization modules into Corda. * Pre-generate Corda classes for DJVM sandbox when node boots in production mode. * Ensure that all DJVM test contract CorDapps are signed. * Test examining attachments within DJVM sandbox. * Test Contract.verify() using cryptographic verify function. * Add test cases for more non-determinism in Contract.verify(). * Update node-driver to support testing nodes with DJVM support. * Modify Node to allow alternative DJVM configurations for testing. * Refactor DeterministicVerifierFactoryService for default use-case. * Small whitespace and code-style refactors. * Create and activate a DJVM execution profile for the Node. * Revert making Verifier implement AutoCloseable. * Allow the node to cache sandboxed Corda byte-code for reuse. * Use updated Quasar agent that knows not to touch DJVM classloaders. * Fix Quasar's package exclusions globs for DJVM. * Deserialise LedgerTransaction into the sandbox for Contract.verify(). * Add the DJVM's serialisation modules to the Corda node. * Update the node for the latest DJVM API, and preserve the ConstructorForDeserialization annotation on user contract classes. * Add corda-dev to repositories while DJVM is SNAPSHOT. * Migrate DJVM specialisation into AbstractNode's ServiceHubInternalImpl. * Exclude sandbox.** and shaded djvm.** classes from Quasar agent. * Add the corda-dev repository to :node for the deterministic runtime. * Turn Verifier into an abstract base class that is specialised by BasicVerifier and DeterministicVerifier. * Add the Corda deterministic libraries to the Node, and split the DJVM sandbox across two SandboxClassLoader instances. * Add DJVM to contract verification path inside Corda Node. * Minor lambda simplifications and removing unused import. * CORDA-2871: Remove @CordaSerializable from LedgerTransaction. * CORDA-2871: Add a callback to ServicesForResolution to allow the Node to modify a LedgerTransaction object. * CORDA-2871: Refactor the contract verification code into a separate class, and allow LedgerTransaction to choose different Verifier objects. * Update DJVM to use Corda 4.4-SNAPSHOT. (#95) * CORDA-3330: Allow DJVM to preload / pregenerate classes from selected jars. (#92) * Add support for SourceClassLoader.getResources() to DJVM. * Allow a SandboxConfiguration to preload sandbox byte-code for all classes inside jars containing META-INF/DJVM-preload. * CORDA-3309: Remove explicit try-catch in favour of UncaughtExceptionHandler. (#91) * CORDA-3309: Install UncaughtExceptionHandler for DJVM tasks. (#88) * Fix tests broken by Windows line endings. (#82) * CORDA-3292: Reimplement ExecutionProfile as a data class. (#80) * CORDA-2877: Refactor how we create child SandboxConfiguration objects. (#76) * CORDA-2877: Load bytecode from a persistent cache to prevent repeated rewriting. (#75) * Refactor byte-code cache to SandboxConfiguration instead of AnalysisConfiguration. We cannot "mix and match" byte-code generated by different sets of rules. * CORDA-3137: Enhance annotation handling so that we can allow some annotations to be mapped into the sandbox without also needing to be stitched. (#72) * CORDA-2871: Minor cosmetic fixes. (#69) * CORDA-3218: Align DJVM with internal Corda Serialisation API. (#68) * Ensure we get the latest SNAPSHOT of the serialisation code. * CORDA-2871: Refactor SourceClassLoader to define source classes. (#66) * Rewrite SourceClassLoader to support parent/child relationships. * Revert catching TypNotPresebtException - it was a symptom of a bigger problem. * Remove AutoCloseable from AnalysisConfiguration and SourceClassLoader. * SourceClassLoader.getResource() must delegate to its parent first. * CORDA-2871: Ensure ClassLoader.loadClass() throws ClassNotFoundException for all cases where the class cannot be found. (#64) * CORDA-2871: Modify sandbox tasks to implement both java.Function and sandbox.Function (#62) * Make TaskExecutors implement BiFunction to make them composable. * Create ImportTask to wrap a java.Function inside a sandbox.Function. * Add createExecutor() and createRawExecutor() APIs to SandboxClassLoader. * Update serialization to use SandboxClassLoader.toSandboxClass(). * Remove a layer of lambdas from the serialisation code. * Update SandboxExecutor and SandboxRawExecutor. * Rename Executor to TaskFactory. * Rename dangling executor -> taskFactory. * CORDA-2871: Sanity fixes! (#63) * Improve message for SandboxClassLoadingException. * Fix serialisation API for using sandboxed environment. * CORDA-3174: Extend serialisation to include InputStream and OpaqueBytesSubSequence. (#60) * Update DJVM Example project for serialisation. * Add serializers for InputStream and OpaqueBytesSubSequence. * Support ZIP Inflater and CRC32 inside the sandbox. * Allow the DJVM to wrap java.io.InputStream as sandbox.java.io.InputStream. * Configure tests also to preserve @DeprecatedConstructorForDeserialization. * CORDA-3174: Implement Corda serialization modules. (#59) * Create DJVM serialization modules. * Create test cases for Array<T>, List<T> and List<Array<T>>. * Refactor SandboxPrimiveSerializer for all primitive types. * Implement SandboxCollectionSerializer to support Collection types. * Implement SandboxMapSerializer to support Map types. * Attempt to fix infinite loop when computing Collection and Map fingerprints. * Apply special handling when deserialising sandbox.java.lang.Character. * Remap Java primitive types to sandbox Java object types to deter evolution. * Use Class.getPackage().getName() to determine sandbox package name. * Implement SandboxEnumSerializer to support Enum types. * Implement SandboxPublicKeySerializer to support Java security keys. * Add serialization projects to the composite example project. * Implement serializers for BigInteger, BigDecimal, Currency and StringBuffer. * Test that deserialising does not instantiate the untrusted user classes. * Implement serializers for java.time.* types. * Add serialiser for BitSet - currently disabled until BitSet itself is supported. * Add serialisers for EnumSet and Class. * Include support for EnumMap in the SandboxMapSerializer. * Ensure the DJVM Example project's tests preserve @CordaSerializable. * Add support for UUID as a primitive type. * Use common abortReadOnly() method for declaring serialization as unsupported. * Streamline the API for deserialising into the sandbox. * Add preliminary support for deserialising X.509 certificates. * Implement serializer for java.util.Optional. * Refactor configuration of the sandbox serialization scheme. * Add tests for deserialising arrays of basic types. * Include method annotations in annotation stitching. This ensures that `@ConstructorForDeserialization` is not dropped. * Enable test for SandboxBitSetSerializer. * Enable tests for X.509 serializers. * Implement serializers for ProtonJ primitive types. * Serialize java.util.Date as a primitive type. * Add the bintray Gradle plugin to the serialisation modules. * Do not publish serialisation modules - they will become part of Corda itself. * CORDA-2876: Only apply DJVM sources to Node Driver when devMode=true. * Resolve DeteKT warnings. * Require Node's JVM to set -Dnet.corda.djvm=true in order to enable DJVM. * Enable DJVM for DemoBench nodes. * Disable Quasar instrumentation verification for DemoBench nodes. * Upgrade to DJVM 1.0-RC01. * Try to modify DriverParameters in a more "ABI friendly" way. * Refactor and simplify sandbox deserialisation of primitive objects. * Review fixes. * Update EvolutionSerializerFactory to handle sandboxed primitive boxed types.
2019-11-05 13:44:18 +00:00
'corda-node-djvm',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-test-common',
'corda-core-test-utils',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-test-utils',
'corda-test-db',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-jackson',
'corda-testserver-impl',
'corda-testserver',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-node-driver',
'corda-confidential-identities',
'corda-shell',
'corda-tools-shell-cli',
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
'corda-serialization',
'corda-serialization-deterministic',
CORDA-2876: Integrate the DJVM with the Corda Node. (#5633) * * CORDA-2876: Migrate DJVM serialization modules into Corda. * Pre-generate Corda classes for DJVM sandbox when node boots in production mode. * Ensure that all DJVM test contract CorDapps are signed. * Test examining attachments within DJVM sandbox. * Test Contract.verify() using cryptographic verify function. * Add test cases for more non-determinism in Contract.verify(). * Update node-driver to support testing nodes with DJVM support. * Modify Node to allow alternative DJVM configurations for testing. * Refactor DeterministicVerifierFactoryService for default use-case. * Small whitespace and code-style refactors. * Create and activate a DJVM execution profile for the Node. * Revert making Verifier implement AutoCloseable. * Allow the node to cache sandboxed Corda byte-code for reuse. * Use updated Quasar agent that knows not to touch DJVM classloaders. * Fix Quasar's package exclusions globs for DJVM. * Deserialise LedgerTransaction into the sandbox for Contract.verify(). * Add the DJVM's serialisation modules to the Corda node. * Update the node for the latest DJVM API, and preserve the ConstructorForDeserialization annotation on user contract classes. * Add corda-dev to repositories while DJVM is SNAPSHOT. * Migrate DJVM specialisation into AbstractNode's ServiceHubInternalImpl. * Exclude sandbox.** and shaded djvm.** classes from Quasar agent. * Add the corda-dev repository to :node for the deterministic runtime. * Turn Verifier into an abstract base class that is specialised by BasicVerifier and DeterministicVerifier. * Add the Corda deterministic libraries to the Node, and split the DJVM sandbox across two SandboxClassLoader instances. * Add DJVM to contract verification path inside Corda Node. * Minor lambda simplifications and removing unused import. * CORDA-2871: Remove @CordaSerializable from LedgerTransaction. * CORDA-2871: Add a callback to ServicesForResolution to allow the Node to modify a LedgerTransaction object. * CORDA-2871: Refactor the contract verification code into a separate class, and allow LedgerTransaction to choose different Verifier objects. * Update DJVM to use Corda 4.4-SNAPSHOT. (#95) * CORDA-3330: Allow DJVM to preload / pregenerate classes from selected jars. (#92) * Add support for SourceClassLoader.getResources() to DJVM. * Allow a SandboxConfiguration to preload sandbox byte-code for all classes inside jars containing META-INF/DJVM-preload. * CORDA-3309: Remove explicit try-catch in favour of UncaughtExceptionHandler. (#91) * CORDA-3309: Install UncaughtExceptionHandler for DJVM tasks. (#88) * Fix tests broken by Windows line endings. (#82) * CORDA-3292: Reimplement ExecutionProfile as a data class. (#80) * CORDA-2877: Refactor how we create child SandboxConfiguration objects. (#76) * CORDA-2877: Load bytecode from a persistent cache to prevent repeated rewriting. (#75) * Refactor byte-code cache to SandboxConfiguration instead of AnalysisConfiguration. We cannot "mix and match" byte-code generated by different sets of rules. * CORDA-3137: Enhance annotation handling so that we can allow some annotations to be mapped into the sandbox without also needing to be stitched. (#72) * CORDA-2871: Minor cosmetic fixes. (#69) * CORDA-3218: Align DJVM with internal Corda Serialisation API. (#68) * Ensure we get the latest SNAPSHOT of the serialisation code. * CORDA-2871: Refactor SourceClassLoader to define source classes. (#66) * Rewrite SourceClassLoader to support parent/child relationships. * Revert catching TypNotPresebtException - it was a symptom of a bigger problem. * Remove AutoCloseable from AnalysisConfiguration and SourceClassLoader. * SourceClassLoader.getResource() must delegate to its parent first. * CORDA-2871: Ensure ClassLoader.loadClass() throws ClassNotFoundException for all cases where the class cannot be found. (#64) * CORDA-2871: Modify sandbox tasks to implement both java.Function and sandbox.Function (#62) * Make TaskExecutors implement BiFunction to make them composable. * Create ImportTask to wrap a java.Function inside a sandbox.Function. * Add createExecutor() and createRawExecutor() APIs to SandboxClassLoader. * Update serialization to use SandboxClassLoader.toSandboxClass(). * Remove a layer of lambdas from the serialisation code. * Update SandboxExecutor and SandboxRawExecutor. * Rename Executor to TaskFactory. * Rename dangling executor -> taskFactory. * CORDA-2871: Sanity fixes! (#63) * Improve message for SandboxClassLoadingException. * Fix serialisation API for using sandboxed environment. * CORDA-3174: Extend serialisation to include InputStream and OpaqueBytesSubSequence. (#60) * Update DJVM Example project for serialisation. * Add serializers for InputStream and OpaqueBytesSubSequence. * Support ZIP Inflater and CRC32 inside the sandbox. * Allow the DJVM to wrap java.io.InputStream as sandbox.java.io.InputStream. * Configure tests also to preserve @DeprecatedConstructorForDeserialization. * CORDA-3174: Implement Corda serialization modules. (#59) * Create DJVM serialization modules. * Create test cases for Array<T>, List<T> and List<Array<T>>. * Refactor SandboxPrimiveSerializer for all primitive types. * Implement SandboxCollectionSerializer to support Collection types. * Implement SandboxMapSerializer to support Map types. * Attempt to fix infinite loop when computing Collection and Map fingerprints. * Apply special handling when deserialising sandbox.java.lang.Character. * Remap Java primitive types to sandbox Java object types to deter evolution. * Use Class.getPackage().getName() to determine sandbox package name. * Implement SandboxEnumSerializer to support Enum types. * Implement SandboxPublicKeySerializer to support Java security keys. * Add serialization projects to the composite example project. * Implement serializers for BigInteger, BigDecimal, Currency and StringBuffer. * Test that deserialising does not instantiate the untrusted user classes. * Implement serializers for java.time.* types. * Add serialiser for BitSet - currently disabled until BitSet itself is supported. * Add serialisers for EnumSet and Class. * Include support for EnumMap in the SandboxMapSerializer. * Ensure the DJVM Example project's tests preserve @CordaSerializable. * Add support for UUID as a primitive type. * Use common abortReadOnly() method for declaring serialization as unsupported. * Streamline the API for deserialising into the sandbox. * Add preliminary support for deserialising X.509 certificates. * Implement serializer for java.util.Optional. * Refactor configuration of the sandbox serialization scheme. * Add tests for deserialising arrays of basic types. * Include method annotations in annotation stitching. This ensures that `@ConstructorForDeserialization` is not dropped. * Enable test for SandboxBitSetSerializer. * Enable tests for X.509 serializers. * Implement serializers for ProtonJ primitive types. * Serialize java.util.Date as a primitive type. * Add the bintray Gradle plugin to the serialisation modules. * Do not publish serialisation modules - they will become part of Corda itself. * CORDA-2876: Only apply DJVM sources to Node Driver when devMode=true. * Resolve DeteKT warnings. * Require Node's JVM to set -Dnet.corda.djvm=true in order to enable DJVM. * Enable DJVM for DemoBench nodes. * Disable Quasar instrumentation verification for DemoBench nodes. * Upgrade to DJVM 1.0-RC01. * Try to modify DriverParameters in a more "ABI friendly" way. * Refactor and simplify sandbox deserialisation of primitive objects. * Review fixes. * Update EvolutionSerializerFactory to handle sandboxed primitive boxed types.
2019-11-05 13:44:18 +00:00
'corda-serialization-djvm',
'corda-tools-blob-inspector',
'corda-tools-explorer',
2018-09-11 12:36:38 +00:00
'corda-tools-network-bootstrapper',
'corda-tools-cliutils',
'corda-common-configuration-parsing',
'corda-common-validation',
'corda-common-logging',
'corda-tools-network-builder',
'corda-tools-checkpoint-agent'
ENT-1463, ENT-1903: Create core-deterministic and serialization-deterministic artifacts. (#3262) * Create core-deterministic and serialization-deterministic artifacts: commit 6f77838fe53d7c9565283c20bbf20f27954b27f6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 23:14:23 2018 +0100 Tidy up Gradle files. commit 0aa958d31c6342e92ad4d6ab396db6e4a39d4fed Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 29 18:11:17 2018 +0100 Fix EnclaveletTest with deterministic core and serialisation. commit 732fcf37ee2219dfad373200676241d2fd90aeb3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 27 00:21:42 2018 +0100 Extend JarFilter to delete typealias declarations. commit 25dbf30ed62c0c059df07782306b7f760f4cdf73 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 17:20:41 2018 +0100 Test deserialising a contract and verifying it using core-deterministic. commit f7753bf2ab588e084cb8bfaa5fd04f1a18d3aaef Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 24 11:25:49 2018 +0100 Do not remove constructors from Kotlin annotation metadata. commit 4ddf357b71b29775aa921aca33b4505a402a20e8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:30:18 2018 +0100 Add Gradle modules for deterministic rt.jar artifacts. commit e81f462eefad2369706fd1b8447d426a71a25a03 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 23 16:22:04 2018 +0100 Isolate reference to WeakHashMap - for deletion! commit eea2458fbec06b28344547fdf9c191a9445fe1e7 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 17 18:01:20 2018 +0100 Extract Kotlin metadata classes from kotlin-compiler-embeddable. This fixes a classpath issue that was crashing Gradle. commit 87fdb938d83f3de6589730343c860fbbc406942e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 15 15:40:31 2018 +0100 Remove instances of ConcurrentHashMap from AMQP serialization scheme. commit 9e7773ec32542af4df62269aea3d08e2bd3794f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 23:10:09 2018 +0100 Fix the checkDeterminism targets to validate JAR. commit 6066ba89cb0077b17a7bdda79195763e86d100f9 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon May 14 09:16:14 2018 +0100 Remove private Blob object. commit 73180723ad437b07ba4ccfd935620c0fa97039ea Author: Chris Rankin <chris.rankin@r3.com> Date: Sun May 13 23:48:48 2018 +0100 Ignore unit tests if important system property is not set. commit abfa0a85aff72007342142a9c66fea3b48f62cc7 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 12 22:18:28 2018 +0100 Make deterministic tests involving keystores optional. commit 5866f8f08910cbfa90c006e88482acec467042a5 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 11 17:19:57 2018 +0100 Prevent checked exceptions escaping from JarFilter tasks. commit e2a41913e00aff2bb9b59b43f0a721c5547a8683 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 17:18:30 2018 +0100 Create node-api-deterministic artifact. commit 804feb4e69be4899f29c0cb1c5be95f58d2c47c9 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 10 16:54:46 2018 +0100 Upgrade to ProGuard 6.0.3 commit ec12b0ed213c1336202012ccf864a49bb8adf727 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 9 12:56:15 2018 +0100 Extend JarFilter to identify extension properties correctly. commit f0e119e2e3d90db80efb38a316f48b34082c5f49 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat May 5 13:47:51 2018 +0100 Construct a better test jar for tasks to unzip/rezip. commit a13380c0ee29dbdd93419f29c01a904c4a69db15 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri May 4 09:47:32 2018 +0100 Update JarFilter to Kotlin 1.2.41. commit b774a1e359fb08077a57e8c3b4f1b314653deec0 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu May 3 16:27:43 2018 +0100 Convert some JarFilter functions into val properties. commit b38f9a8f53a3e68e62580e0b8af625b37463cd41 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 23:05:24 2018 +0100 Tidy up Gradle test projects. commit 421c2e6c93c0c7317e7977fd7bf134902920760e Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 22:12:18 2018 +0100 Published core-deterministic artifact is actually built by metafix task. commit 6d7b20a6826e4c04cd252a4ff4d30ceeb9193eb4 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 16:55:01 2018 +0100 Always recompute compressed sizes for ZipEntry. commit 05587234c4f87aeab925b73f7b7fdc22a2d77159 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed May 2 15:14:12 2018 +0100 Test whether MetaFix task can delete file timestamps from the jar. commit 9d6bd0d5cf9f05f088d98eaf7399db4cafc64c61 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 22:15:02 2018 +0100 WIP - erase timestamps for all jar entries. commit 4cb4d6213916d752a654d4fa8d22db6fe6e7e9c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:39:56 2018 +0100 Annotate more core elements as @Deterministic/@NonDeterministic. commit e847c6c1f03665bd0eff228ce242958512155860 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 17:17:24 2018 +0100 Update JarFilter so that void methods are stubbed with empty bodies. commit f53d7b48676f2b3d2b2062bc12591f9966a8db83 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 16:07:48 2018 +0100 Rename @DeterministicStub to @NonDeterministicStub. commit 0c2e7e76587805b72f0270cdbbc067a909abae82 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 15:57:37 2018 +0100 Consistency fix for JarFilter log messages about methods. commit 43a5c342c508fcc690a02b94926cf4153b5eb297 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue May 1 13:25:15 2018 +0100 Reorganise determinism unit test. commit 6079d319d20a6c0cb7386bfcf98b675a73bff040 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 23:10:23 2018 +0100 Allow file timestamps to be thrown away for reproducible builds. commit 7068f2fcd46d3f600710ccd9312b9d8dc46f1f38 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 21:55:26 2018 +0100 Declare PlatformSecureRandom as non-deterministic. commit 3a5b8eff11a7200f48310408442880967260d80e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 30 17:48:20 2018 +0100 Test deleting property initialisers from <clinit> block. commit a91f75cf8eb813305adcfd962d8931a1b9322915 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:34:26 2018 +0100 Suppress lots of "UNUSED" warnings for test classes. commit fb09396f14cb6b2b80e80209091afe370cef15ab Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 23:10:13 2018 +0100 Add crude test for fixing package metadata. commit 80a9c794bcbc6cbfb7010285c9e94faa9c17310a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 21:45:28 2018 +0100 Refactor GradleRunner code into a JUnit Rule. commit 5615dd6624991af49ae283beb3dfe1223d0f26f3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 29 00:55:10 2018 +0100 Add JaCoCo support to JarFilter plugin. commit df55b962aa77f170d4183865743a263d11f061b3 Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:48:58 2018 +0100 Allow the executor to iterate the Visitor more than twice. commit d906e3996b7724528e69fc4abe79c2b59b2f03cb Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 28 16:19:52 2018 +0100 Add tests for deleting static properties. commit f87120efeeb9b6edd129ca71852d1c1bc3fe7e57 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 17:34:39 2018 +0100 Ensure that SgxSupport.isInsideEnclave is always true for core-deterministic. commit 85ff9cb17492ae93f0e4f5bbaa2d935e4d776b13 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 27 14:26:14 2018 +0100 Test deleting field references from constructor byte-code. commit ac45aa04c60dab71553ddf0ddfc97ecaed6c84af Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 22:49:39 2018 +0100 Add tweak to ClassVisitor code. commit 70bc232592e8739546e3f0cdb90add29b5953cf8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 18:37:55 2018 +0100 Declare more Crypto functionality as Deterministic/NonDeterministic. commit 6ceb49af6b75e90ce8e6d739ca6b012627ed6128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 15:39:41 2018 +0100 Rewrite constructors not to reference deleted fields. commit ed1a0e76e68d49531026e130d3c4d4ca56b3e06d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 26 09:48:38 2018 +0100 Configure ASM to compute max stack and locals automatically. commit 0c1a789bf0824b8a18c57a04f4428c678864b76d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 17:30:52 2018 +0100 Add isConstructor property to MethodElement. commit acd640db52b2b1051c67067c30414d2035c9d064 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 14:59:33 2018 +0100 Add test cases for deleting singleton objects. commit 1a1b79ee13f993dd9cfc9ab8f570e96a5f2e3530 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 25 12:18:49 2018 +0100 Extend JarFilter to delete lazy properties. commit acea7942ad85107e0deec6bef1a0c9d88329b9c4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 24 16:04:48 2018 +0100 Remove functions for measuring elapsed time. commit 03cc5c53b5b220ceccf43b0a3a218e84055a2f17 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 18:29:47 2018 +0100 Modify MetaFixer task to remove deleted nested classes. commit 281c5c06b69fe4bbc28d41aa46c3cf4b6c625877 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Apr 23 15:02:54 2018 +0100 Removing dangling references to deleted nested classes. commit 8bd44ab76dca21b1198db37a1e574538f99c2555 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 20:15:00 2018 +0100 Refactor StubbingMethodAdapter to rewrite remaining annotations. commit 59f7392155fe79c9017af563c4705ef5f486dd6b Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 01:14:59 2018 +0100 Small tidy-up of property tests. commit 7696708ddf3370b13ff5ea2727b2e03380792098 Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:53:28 2018 +0100 Test backing field when deleting a property. commit 083d7678ea73fde03be62d1b845654b9ec9c0c9a Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:40:45 2018 +0100 Refactor isFunction() and isConstructor() for Kotlin reflection. commit cbb5bc30d9fb991d12a8c3775e715b49a2c13abd Author: Chris Rankin <chris.rankin@r3.com> Date: Sun Apr 22 00:33:11 2018 +0100 Ensure that stubbed out functions keep their annotations. commit 14947aa105cb7c336b6a7cffa875b6add8000c5d Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Apr 21 16:11:33 2018 +0100 Test JarFilter interactions between deleting and stubbing out. commit 2d2a944f56268a697d110923a73589bf71145011 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 16:59:40 2018 +0100 Annotate more core classes as @Deterministic. commit a23382ff1930747fa55497fcd8c18e00bf980d4f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 15:48:49 2018 +0100 Extend JarFilter unit test coverage. commit af0d3b32c85e23fb7a6c6e9a0639cc0d22a7213f Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 20 14:49:56 2018 +0100 Enhance JarFilter - also delete methods that use deleted methods/fields. commit e6cd87e73b5509656faa6879ab8057690c8450ad Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:40:30 2018 +0100 Upgrade AssertJ to 3.9.1 commit ab217563de2cb60a690221d1d497247d04486060 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 18:20:54 2018 +0100 Add unit tests for the metadata-fixing task. commit ddff9a10e8aa6dae81b597ff757edee0125d663f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Apr 19 09:01:25 2018 +0100 Refactor Hamcrest matchers into a separate package. commit afa3f5a825f8127bec262ff0a7ece5af1e0c6dfb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 23:15:05 2018 +0100 Add unit tests for MethodElement and FieldElement. commit dd412756bc99ff46083558e6863498ae1493a4b7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 17:06:42 2018 +0100 Declare exception and MerkleTree classes as deterministic. commit ce732d2cfb17a8f70a4bc71ccad4d75e68e240c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 16:04:33 2018 +0100 Never remove @JvmField properties from companion objects when fixing metadata. commit c2a5b35b351480c637dc023c07043243b7f16ee5 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Apr 18 10:37:28 2018 +0100 Rename MetaFix* classes to MetaFixer*. commit 358916bef7eb9955f3fc7cea9ab08286ab153564 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 16:21:10 2018 +0100 Extend JarFilter to remove getters/setters along with properties. commit 0c96a154b89244cdc93c53563aacd40b019182d4 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 13:11:29 2018 +0100 Extend JarFilter tests for deleting properties. commit bb63fbacbd46e93eb2dbecca21161968d11fc59e Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:28:37 2018 +0100 Fix determination of CordaException. commit cb92d47643e1a9c41267e548fc79d077da941b28 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 17 12:25:06 2018 +0100 Refactor JarFilter - support deleting @JvmField properties. commit 349b1a7fe9bec140e1f988e104ec44a8e65745c6 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Apr 13 17:32:07 2018 +0100 Preliminary Gradle task to remove missing elements from @Metadata. commit f4564e6661458a317f2ebf0e8ce0fbdeae5e1c30 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Apr 3 20:46:41 2018 +0100 Upgrade to ProGuard 6.0.2 commit c937109398c242bb09d0157cec8debded6012a1b Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 12:04:52 2018 +0100 Refactor internal Kotlin dependencies into MetadataTransformer. commit 899a315a2684986249c88f647784f88235205530 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 29 09:48:05 2018 +0100 Upgrade to ASM 6.1.1. commit 592e1ced7d36f0838c634cb413af9d0b4b8b516b Author: Chris Rankin <chris.rankin@r3.com> Date: Sat Mar 24 13:37:17 2018 +0000 Remove unwanted Kotlin artifacts from the JarFilter's classpath. commit 4591d54c247fc9937f202306e2a5ec872fb2dbea Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 10:04:49 2018 +0000 Tidy up output from Kotlin reflection matchers. commit fb78d898ef1428210bbb030f43b9a2024f1fdeb1 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 23 09:42:38 2018 +0000 Remove lateinit field from ClassTransformer. commit c08ecb2139550ea1bc6ab6cebb3ab180e037c40a Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:25:54 2018 +0000 Remove non-deterministic DelegatingSecureRandom* classes from core-deterministic. commit 7c3e8e794ec868ff4385661ff68081f2bc5ba09c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 18:24:48 2018 +0000 Stop removing @kotlin.Metadata annotations from core-deterministic. commit 16ce8ceee91793efb8a100e29d1770f23cf02643 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 15:42:58 2018 +0000 Add (C) headers for new files. commit 6146b0b47d9e9f46873506711cbef60477aea655 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:43:43 2018 +0000 Log synthetic classes, but do not adjust @Metadata. commit 016b2be942533790413e28d50d6dc8b104a4de5c Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 12:08:36 2018 +0000 Add @Metadata support for Kotlin multi-file classes. commit 9eeed582a083c34a0580f1049cad42d7dc8812a1 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 22 10:38:09 2018 +0000 Add JarFilter unit tests for @kotlin.Metadata updates. commit eb71cb3d76a45fa15eedf478e6172e33a8127305 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 21 15:29:01 2018 +0000 Update JarFilter plugin to remove references to deleted constructors, functions and fields from @kotlin.Metadata. commit c28c099546dd24ab6f158b633e494948fabb6b5e Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:27:06 2018 +0000 Tidy up Enclavelet tests slightly. commit 895dfe659b9ffa6e39b407606876facc153e3128 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 18:25:14 2018 +0000 Annotate more Attachment / Transaction classes as @Deterministic. commit f5ab283d09a803b9e2e0f465841cd072e9a7040f Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 14:21:51 2018 +0000 Upgrade to ProGuard 6.0.1 commit c7717cc0106f39fec822bce8fbbcf18a75a25c2d Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 15 11:11:34 2018 +0000 Adjust LedgerTransaction to remove ClassLoader references when deterministic. commit 5b37fe9f3f716944f2eb3952870d2e9548dc144d Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 14 16:28:41 2018 +0000 Extra testing for deterministic SecureHash. commit 01be61676edddf28d4b16a75cff1dd5fe2079c03 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 16:32:05 2018 +0000 Keep synthetic methods for Kotlin classes. commit cb01f28089c94457c0498802741dcc742a52eaac Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 14:35:17 2018 +0000 Add libraries to core-deterministic's runtimeArtifacts configuration. commit c23ad307596c07a608d6ce3e600fe1b0aee94ef1 Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Mar 12 11:20:35 2018 +0000 Check that JarFilter's different annotations are all distinct. commit 4b84451f9d124cba75bb4a1984b9a9d9f60efd17 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 17:01:15 2018 +0000 Update the JarFilter plugin to remove some annotations. This is for stripping @kotlin.Metadata from deterministic classes. commit 72c4740ffdd5fcb9a7828a1324f6632747fe3115 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:11:16 2018 +0000 Configure ProGuard to preverify the deterministic JAR. commit 9fce4724ac3e1cb80f89d38f63a28b39585dfbf9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 9 14:09:33 2018 +0000 Update to corda-gradle-plugins 4.0.7-SNAPSHOT. commit fc46624ea2f1c862c9b2a2064a9007ffdc1b94d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 18:08:20 2018 +0000 Allow core-deterministic artifact to be tested and published. commit 238814ad2d94dd74fd7cbae7dc3b4d1016697850 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Mar 8 14:54:27 2018 +0000 Since Kotlin 1.2.x, Kotlin artifact dependencies match Kotlin plugin version by default. commit f81b3772b598995d0df0519512ae1c6b1d4d238b Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 13:46:41 2018 +0000 Update KDoc for @Deterministic annotation. commit 7a1b0fbe6540958bbc743981a3ba724f0f22ef80 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 12:27:22 2018 +0000 Add (C) headers for JarFilter and deterministic core. commit 0add901e55a23c898da7c6a3ec0c4273d7555441 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Mar 7 09:30:38 2018 +0000 Refactor function name for compatibility with corda-gradle-plugins. commit f37a73dea8969a82ceda48072cb7d393c05a44c7 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 13:57:58 2018 +0000 Include more contract states in core-deterministic. commit b2eeb08be90fa1a0739854d0c393a23b8c49aed0 Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Mar 6 11:18:53 2018 +0000 Remove synchronized section from deterministic ToggleField. commit 353257e6a04de1447c674f43989e2fc8aecc807a Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:24:46 2018 +0000 Extend @NonDeterministic also to target JVM fields. commit 9dc940c4f9ae8e29e043cdf93634d072373eb030 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 15:21:03 2018 +0000 Add tests for deleting field. commit 2bf43957ed656c419cbf1a0a0ba48b755b8e8ac9 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 14:16:33 2018 +0000 Tidy up Kotlin lambdas. commit 45dc150cfc0b7090816036a4f4f3ce7ae5cde79b Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 10:27:57 2018 +0000 Set 'gradle.user.home' for test-kit's GradleRunner. This allows it to share the project's module cache, which means that it doesn't need to download its own copy of Kotlin over the Internet. commit d79ffd0b44cc890dc8e0f513e5d5baaeaddb5d50 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:41:00 2018 +0000 Remove settings.gradle from tests - it was not the solution. commit b30fdcd4c2b44370294ae78699b1424e817b13de Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Mar 2 00:28:42 2018 +0000 Create plugin descriptor using java-gradle-plugin. commit a9e7cbe51e5d3f0d8efea0501ef4858fd3511cd0 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:55:53 2018 +0000 Resolve simple compiler warning. commit d247524090539a0d708d383f25e9539a6e6ee809 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 16:03:19 2018 +0000 Add local settings.gradle for all unit tests. commit 031411c71fda98511f9fba6c763cb6d3f74d95eb Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:58:06 2018 +0000 Add test filtering interface functions. commit dcc6055ae01fb9e98bea73befe7a5cf473e27590 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 13:45:25 2018 +0000 Add test for filtering abstract functions. commit 0c084f96aa4cbf7173f633dd1d4fa6e633cea6a7 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:26:27 2018 +0000 Add tests for stubbing static functions out. commit 3412e3479f09f36e34a33bbd7564bd95b4bbd017 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 11:13:35 2018 +0000 Add tests for deleting static functions. commit 5d8ce9ce1edbee0020595af99c20268de8c38c5f Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:50:03 2018 +0000 Add test for stubbing out a var property. commit dea60c8252b0bc849845fdeecc28f67817ef77d8 Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:41:13 2018 +0000 Add test for stubbing a val property out. commit c69de1b904b496fe146e91eb7e6d138171528b1a Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 10:28:13 2018 +0000 Add tests for stubbing constructors out. commit 1f791cf6013700689e38b129460eba1d20dc5efa Author: Chris Rankin <chris.rankin@r3.com> Date: Wed Feb 28 00:35:23 2018 +0000 Add tests for deleting constructors. commit 55790a8abb3dba50b4a136760c9a21dc1bd214ca Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 18:37:51 2018 +0000 Add (and fix) test for stubbing a function out. commit 1f03202197a9e1fe9023848869e0273a05eef3dc Author: Chris Rankin <chris.rankin@r3.com> Date: Tue Feb 27 13:09:55 2018 +0000 Refactor buildSrc into a multi-module project. commit 4c937580f40753408b6f29cfc72741b412e4ed3e Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Feb 26 17:15:50 2018 +0000 Initial unit testing framework for JarFilter plugin. commit 45afcaa082cb3f7223d42458a28af14c7c02d611 Author: Chris Rankin <chris.rankin@r3.com> Date: Fri Feb 23 12:32:04 2018 +0000 Allow some methods to be stubbed out instead of deleted. commit c5911ec643739369e138a5b451cafa7c067c4134 Author: Chris Rankin <chris.rankin@r3.com> Date: Thu Feb 22 10:31:18 2018 +0000 ENT-1468: Initial version of the JarFilterTask. * Refactor deterministic test data to work on Windows. * Fix JarFilter unit tests on Windows. * Upgrade JarFilter to ASM 6.2 * Allow core-deterministic, serialization-deterministic to be published to Artifactory. * Share repository configuration between all JarFilter unit tests. * Small fixes after review. * Ensure core-deterministic and serialization-deterministic are published with their dependencies. * Fix logic for number of JarFilter passes. * Add README for JarFilter plugin. * Move JarFilter plugin into the 'net.corda.plugins' namespace. * Modify JarFilter to update sealed subclasses in @kotlin.Metadata. * Add Gradle fixes from @Clintonio. * Annotate TransientClassWhitelist as deterministic. * Add literalinclude blocks to the deterministic-module docs. * Fix Kotlin Metadata properly when all nested classes are deleted. * Small tidy-up for Gradle files. * Add some KDoc for the JarFilter and deterministic classes. * Update JarFilter to handle properties with generic return types. * Remove some uses of Java Reflection from DJVM. * Rename determinism annotations to @KeepForDJVM, @DeleteForDJVM, @StubOutForDJVM.
2018-06-11 19:34:59 +00:00
]
license {
name = 'Apache-2.0'
url = 'https://www.apache.org/licenses/LICENSE-2.0'
distribution = 'repo'
}
developer {
id = 'R3'
name = 'R3'
email = 'dev@corda.net'
}
}
// Build a ZIP of all JARs required to compile the Cordapp template
// Note: corda.jar is used at runtime so no runtime ZIP is necessary.
// Resulting ZIP can be found in "build/distributions"
task buildCordappDependenciesZip(type: Zip) {
baseName 'corda-deps'
from configurations.runtime
from configurations.compile
from configurations.testCompile
from buildscript.configurations.classpath
2017-02-24 21:57:34 +00:00
from 'node/capsule/NOTICE' // CDDL notice
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
2017-06-26 17:07:56 +00:00
artifactory {
publish {
contextUrl = artifactory_contextUrl
2017-06-26 17:07:56 +00:00
repository {
repoKey = 'corda-dev'
2018-09-13 10:14:19 +00:00
username = System.getenv('CORDA_ARTIFACTORY_USERNAME')
2017-06-26 17:07:56 +00:00
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
}
2017-06-26 17:07:56 +00:00
defaults {
// Root project applies the plugin (for this block) but does not need to be published
if (project != rootProject) {
publications(project.extensions.publish.name())
}
2017-06-26 17:07:56 +00:00
}
}
}
tasks.register('generateApi', net.corda.plugins.apiscanner.GenerateApi) {
baseName = "api-corda"
}
// This exists to reduce CI build time when the envvar is set (can save up to 40 minutes)
if (file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUILD') != null)) {
if (file('corda-docs-only-build').exists()) {
logger.info("Tests are disabled due to presence of file 'corda-docs-only-build' in the project root")
} else {
logger.info("Tests are disabled due to the presence of envvar CORDA_DOCS_ONLY_BUILD")
}
allprojects {
test {
exclude '*/**'
}
it.afterEvaluate {
if (it.tasks.findByName("integrationTest") != null) {
integrationTest {
exclude '*/**'
}
}
}
it.afterEvaluate {
if (it.tasks.findByName("smokeTest") != null) {
smokeTest {
exclude '*/**'
}
}
}
}
}
wrapper {
gradleVersion = '5.6.4'
distributionType = Wrapper.DistributionType.ALL
}
CORDA-1509 Configure and enable Gradle Build Cache (#3908) * Fix to enable gradle build caching of test runs. * Configure gradle build caching to be enabled. * Generate dependency report and graph: 1) ./gradlew htmlDependencyReport 2) ./gradlew generateDependencyGraphCorda * Strip out all Jacoco references to prevent Gradle Build Cache error: "Caching disabled for task ':<module>:test': 'JaCoCo agent configured with `append = true`' satisfied" * Revert jacoco back into jarFilter gradle build file. Disable building deterministic modules (including jarFilter). * Added Gradle build scan plugin. * Set file encoding to prevent incorrect Gradle build cache keys across different machines. https://guides.gradle.org/using-build-cache/#system_file_encoding * Apply gradle build cache settings to buildSrc. * Added targetted gradle build tasks to leverage cache. * Updated URL's of several different test Gradle Cache instances. * Updated CI batch build scripts. * Updated script perms to be executable. * Added CI smoke tests batch script. * Use TestDev Labs gradle cache. * Echo URL of Gradle Build Repository. Echo exit status of each Gradle build command. * Use environment variables to define Gradle Build Cache usage and URL. * Customisation through parameters. * Remove dependency graph generation plugin. Align build cache settings across project and buildSrc gradle files. * Remove buildSrc gradle build cache config. * Revert definition of gradle build cache variables back to settings.gradle. * Fix incorrect path. * Aligned gradle build cache configuration across buildSrc and project. * Minor updates to test scope. * Minor updates to test scope. * Update scripts to use GRADLE_HOME * Exit on unset GRADLE_HOME * Remove duplication following rebase from master. * Remove fine-grained build task scripts. * Added back Jacoco reporting. * Revert jdk8u-deterministic module. * Incorporating changes from PR review feedback. * Workaround Jacoco issue associated with Gradle Build Cache test task. * Update init script. * Remove redundant build-scan declarations. * Updates from PR review feedback. * Remove GRADLE_HOME as no longer needed - everything is driven via gradle wrapper. * Use CORDA prefix in system environment variable.
2018-09-26 12:38:23 +00:00
distributedTesting {
profilesURL = 'https://raw.githubusercontent.com/corda/infrastructure-profiles/master'
parallelTestGroups {
allParallelIntegrationTest {
testGroups 'integrationTest'
profile 'generalPurpose.yml'
podLogLevel PodLogLevel.INFO
distribution DistributeTestsBy.METHOD
}
allParallelUnitTest {
podLogLevel PodLogLevel.INFO
testGroups 'test'
profile 'generalPurpose.yml'
distribution DistributeTestsBy.CLASS
}
allParallelUnitAndIntegrationTest {
testGroups 'test', 'integrationTest'
profile 'generalPurpose.yml'
distribution DistributeTestsBy.METHOD
}
allParallelSmokeTest {
testGroups 'smokeTest'
profile 'regression.yml'
distribution DistributeTestsBy.METHOD
}
allParallelSlowIntegrationTest {
testGroups 'slowIntegrationTest'
profile 'regression.yml'
distribution DistributeTestsBy.METHOD
}
}
ignoredTests = [
':core-deterministic:testing:data:test'
]
}