corda/build.gradle

710 lines
27 KiB
Groovy
Raw Normal View History

import com.r3.testing.DistributeTestsBy
import com.r3.testing.ParallelTestGroup
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_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() == JavaVersion.VERSION_11) {
ext.quasar_version = constants.getProperty("quasarVersion11")
ext.quasar_classifier = constants.getProperty("quasarClassifier11")
ext.jdkClassifier = constants.getProperty("jdkClassifier11")
PreAllocate pod resources during image build phase (#5587) * use zulu for jdk add some parallel groups * port kubesTest to Java remove asterix from tests listed by ListTests, instead add after allocation * attempt to setup unit test builds with correct github integrations # Conflicts: # .ci/dev/unit/Jenkinsfile * fix issue with github context * add credentials block * start pre-allocating pods for builds * test * add blocks for reporting build stages * add logic to preallocate pods during image building * tidy up Jenkinsfile for unit tests * add magic command line flag to enable preallocation of pods * make docker tag deterministic * fix issue concatenating docker tag inputs * add build type specific Jenkinsfile * try new preallocation approach * make pre-allocation prefix group specific * force deAllocator to wait for pods to be actually deleted * revert jenkinsfiles in .ci * use smarter waiting logic to address review comments * add --stacktrace to builds to help debugging * fix issue with closed stream * add some logging around preallocation * tidy up by refactoring (de)allocate task generation into method * change default from 20 pods to 5 pods * fix issue where docker tag was unstable between building and running tests * more documentation * add some infrastructure around setting the log level for a given build * change preallocation pod duration to 5min * see if fast enough if using combined unit and integration tests * disable unit tests * print out test summaries * try and make the kubes client a per-use object, rather than a long lived object. This is step one of making GKE use possible * add log line about what command is executed in the pod
2019-10-28 11:48:04 +00:00
} else {
ext.quasar_version = constants.getProperty("quasarVersion")
ext.quasar_classifier = constants.getProperty("quasarClassifier")
ext.jdkClassifier = constants.getProperty("jdkClassifier")
}
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'
ext.artemis_version = '2.6.2'
// TODO Upgrade Jackson only when corda is using kotlin 1.3.10
ext.jackson_version = '2.9.7'
ext.jetty_version = '9.4.19.v20190610'
ext.jersey_version = '2.25'
ext.servlet_version = '4.0.1'
ext.assertj_version = '3.12.2'
ext.slf4j_version = '1.7.26'
ext.log4j_version = '2.11.2'
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.29.Final'
ext.tcnative_version = '2.0.14.Final'
2017-04-10 12:45:40 +00:00
ext.typesafe_config_version = constants.getProperty("typesafeConfigVersion")
ext.fileupload_version = '1.4'
// 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.3.Final'
ext.h2_version = '1.4.199' // Update docs if renamed or removed.
ext.rxjava_version = '1.3.8'
ext.dokka_version = '0.9.17'
ext.eddsa_version = '0.3.0'
ext.dependency_checker_version = '5.2.0'
ext.commons_collections_version = '4.3'
ext.beanutils_version = '1.9.3'
ext.crash_version = '1.7.4'
ext.jsr305_version = constants.getProperty("jsr305Version")
ext.shiro_version = '1.4.1'
ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
ext.hikari_version = '3.3.1'
ext.liquibase_version = '3.6.3'
ext.artifactory_contextUrl = 'https://software.r3.com/artifactory'
ext.snake_yaml_version = constants.getProperty('snakeYamlVersion')
ext.docker_compose_rule_version = '0.35.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
ext.snappy_version = '0.4'
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'
ext.commons_io_version = '2.6'
ext.controlsfx_version = '8.40.15'
ext.detekt_version = constants.getProperty('detektVersion')
if (JavaVersion.current() == JavaVersion.VERSION_11) {
// 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'
} else {
ext.fontawesomefx_commons_version = '8.15'
ext.fontawesomefx_fontawesome_version = '4.7.0-5'
}
// 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"
}
}()
2015-11-03 12:37:19 +00:00
repositories {
mavenLocal()
2015-11-03 12:37:19 +00:00
mavenCentral()
jcenter()
maven {
url 'https://kotlin.bintray.com/kotlinx'
}
maven {
url "$artifactory_contextUrl/corda-dependencies-dev"
}
maven {
url "$artifactory_contextUrl/corda-releases"
}
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"
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
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.2-LOCAL-K8S-SHARED-CACHE-SNAPSHOT", changing: true
classpath "com.bmuschko:gradle-docker-plugin:5.0.0"
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 "com.gradle.build-scan" version "2.2.1"
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'
2017-06-26 17:07:56 +00:00
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
apply plugin: "com.bmuschko.docker-remote-api"
// 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
if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
targetCompatibility = VERSION_1_8
} else {
targetCompatibility = 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'
allOpen {
annotations(
"javax.persistence.Entity",
"javax.persistence.Embeddable",
"javax.persistence.MappedSuperclass"
)
}
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
if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
targetCompatibility = VERSION_1_8
} else {
targetCompatibility = VERSION_11
}
jacoco {
// JDK11 official support (https://github.com/jacoco/jacoco/releases/tag/v0.8.3)
toolVersion = "0.8.3"
}
tasks.withType(JavaCompile) {
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) {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = "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) { 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 Open Source')
attributes('Automatic-Module-Name': "net.corda.${task.project.name.replaceAll('-', '.')}")
}
}
tasks.withType(Test) {
forkEvery = 10
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'
}
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
tasks.withType(Test) {
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()
mavenCentral()
jcenter()
maven { url "$artifactory_contextUrl/corda-dependencies" }
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
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
maven { url "$artifactory_contextUrl/corda-dev" }
}
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 version of Netty.
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
}
}
}
}
}
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'
}
}
}
// 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()
})
}
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)
}
2016-07-21 16:40:57 +00:00
tasks.withType(Test) {
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-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
}
}
}
task generateApi(type: net.corda.plugins.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.4.1"
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
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
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.generalPurpose = [
numberOfShards: 10,
streamOutput: false,
coresPerFork: 2,
memoryInGbPerFork: 12,
nodeTaints: "small"
]
ext.largeScaleSet = [
numberOfShards: 15,
streamOutput: false,
coresPerFork: 6,
memoryInGbPerFork: 10,
nodeTaints: "big"
]
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
task allParallelIntegrationTest(type: ParallelTestGroup) {
PreAllocate pod resources during image build phase (#5587) * use zulu for jdk add some parallel groups * port kubesTest to Java remove asterix from tests listed by ListTests, instead add after allocation * attempt to setup unit test builds with correct github integrations # Conflicts: # .ci/dev/unit/Jenkinsfile * fix issue with github context * add credentials block * start pre-allocating pods for builds * test * add blocks for reporting build stages * add logic to preallocate pods during image building * tidy up Jenkinsfile for unit tests * add magic command line flag to enable preallocation of pods * make docker tag deterministic * fix issue concatenating docker tag inputs * add build type specific Jenkinsfile * try new preallocation approach * make pre-allocation prefix group specific * force deAllocator to wait for pods to be actually deleted * revert jenkinsfiles in .ci * use smarter waiting logic to address review comments * add --stacktrace to builds to help debugging * fix issue with closed stream * add some logging around preallocation * tidy up by refactoring (de)allocate task generation into method * change default from 20 pods to 5 pods * fix issue where docker tag was unstable between building and running tests * more documentation * add some infrastructure around setting the log level for a given build * change preallocation pod duration to 5min * see if fast enough if using combined unit and integration tests * disable unit tests * print out test summaries * try and make the kubes client a per-use object, rather than a long lived object. This is step one of making GKE use possible * add log line about what command is executed in the pod
2019-10-28 11:48:04 +00:00
podLogLevel PodLogLevel.INFO
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
testGroups "integrationTest"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
distribute DistributeTestsBy.METHOD
}
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
task allParallelUnitTest(type: ParallelTestGroup) {
PreAllocate pod resources during image build phase (#5587) * use zulu for jdk add some parallel groups * port kubesTest to Java remove asterix from tests listed by ListTests, instead add after allocation * attempt to setup unit test builds with correct github integrations # Conflicts: # .ci/dev/unit/Jenkinsfile * fix issue with github context * add credentials block * start pre-allocating pods for builds * test * add blocks for reporting build stages * add logic to preallocate pods during image building * tidy up Jenkinsfile for unit tests * add magic command line flag to enable preallocation of pods * make docker tag deterministic * fix issue concatenating docker tag inputs * add build type specific Jenkinsfile * try new preallocation approach * make pre-allocation prefix group specific * force deAllocator to wait for pods to be actually deleted * revert jenkinsfiles in .ci * use smarter waiting logic to address review comments * add --stacktrace to builds to help debugging * fix issue with closed stream * add some logging around preallocation * tidy up by refactoring (de)allocate task generation into method * change default from 20 pods to 5 pods * fix issue where docker tag was unstable between building and running tests * more documentation * add some infrastructure around setting the log level for a given build * change preallocation pod duration to 5min * see if fast enough if using combined unit and integration tests * disable unit tests * print out test summaries * try and make the kubes client a per-use object, rather than a long lived object. This is step one of making GKE use possible * add log line about what command is executed in the pod
2019-10-28 11:48:04 +00:00
podLogLevel PodLogLevel.INFO
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
testGroups "test"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
PreAllocate pod resources during image build phase (#5587) * use zulu for jdk add some parallel groups * port kubesTest to Java remove asterix from tests listed by ListTests, instead add after allocation * attempt to setup unit test builds with correct github integrations # Conflicts: # .ci/dev/unit/Jenkinsfile * fix issue with github context * add credentials block * start pre-allocating pods for builds * test * add blocks for reporting build stages * add logic to preallocate pods during image building * tidy up Jenkinsfile for unit tests * add magic command line flag to enable preallocation of pods * make docker tag deterministic * fix issue concatenating docker tag inputs * add build type specific Jenkinsfile * try new preallocation approach * make pre-allocation prefix group specific * force deAllocator to wait for pods to be actually deleted * revert jenkinsfiles in .ci * use smarter waiting logic to address review comments * add --stacktrace to builds to help debugging * fix issue with closed stream * add some logging around preallocation * tidy up by refactoring (de)allocate task generation into method * change default from 20 pods to 5 pods * fix issue where docker tag was unstable between building and running tests * more documentation * add some infrastructure around setting the log level for a given build * change preallocation pod duration to 5min * see if fast enough if using combined unit and integration tests * disable unit tests * print out test summaries * try and make the kubes client a per-use object, rather than a long lived object. This is step one of making GKE use possible * add log line about what command is executed in the pod
2019-10-28 11:48:04 +00:00
distribute DistributeTestsBy.CLASS
}
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
task allParallelUnitAndIntegrationTest(type: ParallelTestGroup) {
testGroups "test", "integrationTest"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
distribute DistributeTestsBy.METHOD
}
task parallelRegressionTest(type: ParallelTestGroup) {
testGroups "test", "integrationTest", "smokeTest"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
distribute DistributeTestsBy.METHOD
PreAllocate pod resources during image build phase (#5587) * use zulu for jdk add some parallel groups * port kubesTest to Java remove asterix from tests listed by ListTests, instead add after allocation * attempt to setup unit test builds with correct github integrations # Conflicts: # .ci/dev/unit/Jenkinsfile * fix issue with github context * add credentials block * start pre-allocating pods for builds * test * add blocks for reporting build stages * add logic to preallocate pods during image building * tidy up Jenkinsfile for unit tests * add magic command line flag to enable preallocation of pods * make docker tag deterministic * fix issue concatenating docker tag inputs * add build type specific Jenkinsfile * try new preallocation approach * make pre-allocation prefix group specific * force deAllocator to wait for pods to be actually deleted * revert jenkinsfiles in .ci * use smarter waiting logic to address review comments * add --stacktrace to builds to help debugging * fix issue with closed stream * add some logging around preallocation * tidy up by refactoring (de)allocate task generation into method * change default from 20 pods to 5 pods * fix issue where docker tag was unstable between building and running tests * more documentation * add some infrastructure around setting the log level for a given build * change preallocation pod duration to 5min * see if fast enough if using combined unit and integration tests * disable unit tests * print out test summaries * try and make the kubes client a per-use object, rather than a long lived object. This is step one of making GKE use possible * add log line about what command is executed in the pod
2019-10-28 11:48:04 +00:00
}
task allParallelSmokeTest(type: ParallelTestGroup) {
testGroups "smokeTest"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
distribute DistributeTestsBy.METHOD
}
task allParallelSlowIntegrationTest(type: ParallelTestGroup) {
testGroups "slowIntegrationTest"
numberOfShards generalPurpose.numberOfShards
streamOutput generalPurpose.streamOutput
coresPerFork generalPurpose.coresPerFork
memoryInGbPerFork generalPurpose.memoryInGbPerFork
nodeTaints generalPurpose.nodeTaints
distribute DistributeTestsBy.METHOD
}
apply plugin: 'com.r3.testing.distributed-testing'
apply plugin: 'com.r3.testing.image-building'