corda/build.gradle

453 lines
17 KiB
Groovy
Raw Normal View History

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.corda_release_version = "4.0-SNAPSHOT"
// Increment this on any release that changes public APIs anywhere in the Corda platform
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.quasar_group = 'co.paralleluniverse'
ext.quasar_version = '0.7.10'
// 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 = '5.0.4'
ext.artemis_version = '2.6.2'
ext.jackson_version = '2.9.5'
ext.jetty_version = '9.4.7.v20170914'
ext.jersey_version = '2.25'
ext.assertj_version = '3.8.0'
ext.slf4j_version = '1.7.25'
ext.log4j_version = '2.9.1'
ext.bouncycastle_version = constants.getProperty("bouncycastleVersion")
ext.guava_version = constants.getProperty("guavaVersion")
ext.caffeine_version = constants.getProperty("caffeineVersion")
ext.disruptor_version = constants.getProperty("disruptorVersion")
2018-04-13 14:17:20 +00:00
ext.metrics_version = constants.getProperty("metricsVersion")
ext.metrics_new_relic_version = constants.getProperty("metricsNewRelicVersion")
ext.okhttp_version = '3.5.0'
2018-04-27 18:54:08 +00:00
ext.netty_version = '4.1.22.Final'
2017-04-10 12:45:40 +00:00
ext.typesafe_config_version = constants.getProperty("typesafeConfigVersion")
ext.fileupload_version = '1.3.3'
ext.junit_version = '4.12'
ext.mockito_version = '2.18.3'
ext.hamkrest_version = '1.4.2.2'
ext.jopt_simple_version = '5.0.2'
ext.jansi_version = '1.14'
ext.hibernate_version = '5.2.6.Final'
2018-04-11 12:38:06 +00:00
ext.h2_version = '1.4.197' // Update docs if renamed or removed.
ext.postgresql_version = '42.1.4'
ext.rxjava_version = '1.3.8'
2018-06-13 16:50:13 +00:00
ext.dokka_version = '0.9.17'
ext.eddsa_version = '0.2.0'
ext.dependency_checker_version = '3.1.0'
ext.commons_collections_version = '4.1'
ext.beanutils_version = '1.9.3'
2018-02-21 16:46:03 +00:00
ext.crash_version = 'cadb53544fbb3c0fb901445da614998a6a419488'
ext.jsr305_version = constants.getProperty("jsr305Version")
ext.shiro_version = '1.4.0'
ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
ext.liquibase_version = '3.5.5'
ext.artifactory_contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory'
ext.snake_yaml_version = constants.getProperty('snakeYamlVersion')
ext.docker_compose_rule_version = '0.33.0'
ext.selenium_version = '3.8.1'
ext.ghostdriver_version = '2.1.0'
ext.eaagentloader_version = '1.0.3'
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.54'
ext.commons_cli_version = '1.4'
ext.protonj_version = '0.27.1' // This is now aligned with the Artemis version, but retaining in case we ever need to diverge again for a bug fix.
ext.snappy_version = '0.4'
ext.fast_classpath_scanner_version = '2.12.3'
ext.jcabi_manifests_version = '1.1'
ext.picocli_version = '3.5.2'
// 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 = '171'
2015-11-03 12:37:19 +00:00
repositories {
mavenLocal()
2015-11-03 12:37:19 +00:00
mavenCentral()
jcenter()
// This repository is needed for Dokka until 0.9.16 is released.
maven {
url 'https://dl.bintray.com/kotlin/kotlin-eap/'
}
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"
2015-11-03 12:37:19 +00:00
}
}
plugins {
2016-08-08 10:54:41 +00:00
// TODO The capsule plugin requires the newer DSL plugin block.It would be nice if we could unify all the plugins into one style,
// but the DSL has some restrictions e.g can't be used on the allprojects section. So we should revisit this if there are improvements in Gradle.
// Version 1.0.2 of this plugin uses capsule:1.0.1 by default.
id 'us.kirchmeier.capsule' version '1.0.2' apply false
// Add the shadow plugin to the plugins classpath for the entire project.
id 'com.github.johnrengelman.shadow' version '2.0.4' apply 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
id "com.gradle.build-scan" version "1.16"
}
ext {
corda_revision = "git rev-parse HEAD".execute().text.trim()
}
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'
// 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'
sourceCompatibility = 1.8
targetCompatibility = 1.8
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'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Xlint:-options" << "-parameters"
options.encoding = 'UTF-8'
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = "1.8"
javaParameters = true // Useful for reflection.
freeCompilerArgs = ['-Xjvm-default=compatibility']
allWarningsAsErrors = project.hasProperty('compilation.allWarningsAsErrors') ? project.property('compilation.allWarningsAsErrors').toBoolean() : false
}
}
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) {
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
if (System.getProperty("test.maxParallelForks") != null) {
maxParallelForks = Integer.valueOf(System.getProperty("test.maxParallelForks"))
logger.debug("System property test.maxParallelForks found - setting max parallel forks to $maxParallelForks for $project")
}
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
}
}
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://jitpack.io' }
}
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-')) {
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")
// 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: ":webserver:webcapsule", 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')
runtime project(':webserver')
testCompile project(':test-utils')
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.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-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',
'corda-node',
'corda-node-api',
'corda-test-common',
'corda-test-utils',
'corda-jackson',
'corda-webserver-impl',
'corda-webserver',
'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-tools-blob-inspector',
'corda-tools-explorer',
2018-09-11 12:36:38 +00:00
'corda-tools-network-bootstrapper',
'corda-tools-cliutils'
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 = "4.10.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'
}