From 5e43c2a6f2c3a45834915f48b4ee993bdb29275a Mon Sep 17 00:00:00 2001 From: piercetrey-figure Date: Tue, 17 Oct 2023 17:19:02 -0600 Subject: [PATCH] try and update integration tests - might have to disable in order to get new p8e-gradle-plugin published in order to fix integration tests :recycle: --- integration-test/build.gradle.kts | 16 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- integration-test/sdkContracts/build.gradle | 84 --------------- .../sdkContracts/build.gradle.kts | 96 ++++++++++++++++++ .../{build.gradle => build.gradle.kts} | 10 +- .../gradle/wrapper/gradle-wrapper.jar | Bin 58694 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../sdkContracts/protos/build.gradle | 69 ------------- .../sdkContracts/protos/build.gradle.kts | 75 ++++++++++++++ .../{settings.gradle => settings.gradle.kts} | 2 +- 10 files changed, 187 insertions(+), 169 deletions(-) delete mode 100644 integration-test/sdkContracts/build.gradle create mode 100644 integration-test/sdkContracts/build.gradle.kts rename integration-test/sdkContracts/contracts/{build.gradle => build.gradle.kts} (61%) delete mode 100644 integration-test/sdkContracts/protos/build.gradle create mode 100644 integration-test/sdkContracts/protos/build.gradle.kts rename integration-test/sdkContracts/{settings.gradle => settings.gradle.kts} (74%) diff --git a/integration-test/build.gradle.kts b/integration-test/build.gradle.kts index 0ddb032..498d2e3 100644 --- a/integration-test/build.gradle.kts +++ b/integration-test/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent.* import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.gradle.kotlin.dsl.provider.gradleKotlinDslOf +//import org.gradle.kotlin.dsl.provider.gradleKotlinDslOf group = "io.provenance.p8e.p8e-integration-tests" version = (project.property("version") as String?) @@ -10,7 +10,7 @@ version = (project.property("version") as String?) plugins { `jacoco` - kotlin("jvm") version "1.4.32" + kotlin("jvm") version "1.9.10" // id("com.google.protobuf") version "0.8.13" } @@ -22,7 +22,7 @@ repositories { } dependencies { - implementation(kotlin("stdlib", "1.4.32")) + implementation(kotlin("stdlib", "1.9.10")) // implementation("io.provenance.p8e:p8e-sdk:0.7.+") // implementation("io.provenance.p8e:p8e-contract-base:1.0-SNAPSHOT") @@ -35,8 +35,8 @@ dependencies { //Don't actually know if this will work or not // implementation("io.provenance.p8e.p8e-integration-tests:sdkContracts:1.0-SNAPSHOT") - compile("com.google.protobuf:protobuf-java:3.6.+") - compile("com.google.protobuf:protobuf-java-util:3.6.+") + implementation("com.google.protobuf:protobuf-java:3.24.4") + implementation("com.google.protobuf:protobuf-java-util:3.24.4") // protobuf(files("src/main/protos/")) @@ -49,7 +49,7 @@ dependencies { implementation("io.provenance.scope:sdk:1.0-SNAPSHOT") //TransactionService.kt - implementation("io.grpc:grpc-stub:1.39.0") + implementation("io.grpc:grpc-stub:1.58.0") implementation("io.provenance.scope:util:1.0-SNAPSHOT") implementation("org.bouncycastle:bcprov-jdk15on:1.68") @@ -119,7 +119,7 @@ jacoco { tasks.jacocoTestReport { reports { - xml.isEnabled = true - csv.isEnabled = false + xml.required.set(true) + csv.required.set(false) } } diff --git a/integration-test/gradle/wrapper/gradle-wrapper.properties b/integration-test/gradle/wrapper/gradle-wrapper.properties index 442d913..e411586 100644 --- a/integration-test/gradle/wrapper/gradle-wrapper.properties +++ b/integration-test/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/integration-test/sdkContracts/build.gradle b/integration-test/sdkContracts/build.gradle deleted file mode 100644 index 3650110..0000000 --- a/integration-test/sdkContracts/build.gradle +++ /dev/null @@ -1,84 +0,0 @@ -buildscript { - repositories { - mavenLocal() - jcenter() - mavenCentral() - maven { url 'https://javadoc.jitpack.io' } - } - - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32" - classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1' - } -} - -plugins { - id "io.provenance.p8e.p8e-publish" version "0.6.2" -} - -allprojects { - group 'io.provenance.p8e.p8e-integration-tests.sdk' - version '1.0-SNAPSHOT' - - repositories { - mavenLocal() - jcenter() - mavenCentral() - maven { url 'https://javadoc.jitpack.io' } - } -} - -// This block specifies the configuration needed to connect to a p8e instance as well as the audience list -// for all of the objects that will be created. -p8e { - // Specifies the subproject names for the project containing P8eContract subclasses, and the associated protobuf messages - // that make up those contracts. - contractProject = "contracts" // defaults to "contract" - protoProject = "protos" // defaults to "proto" - - // Package locations that the ContractHash and ProtoHash source files will be written to. - language = "kt" // defaults to "java" - contractHashPackage = "io.p8e.contracts.testframework" - protoHashPackage = "io.p8e.proto.testframework" - - // specifies all of the p8e locations that this plugin will bootstrap to. - locations = [ - local: new io.provenance.p8e.plugin.P8eLocationExtension( - osUrl: System.getenv('OS_GRPC_URL'), - provenanceUrl: System.getenv('PROVENANCE_GRPC_URL'), - encryptionPrivateKey: System.getenv('ENCRYPTION_PRIVATE_KEY'), - signingPrivateKey: System.getenv('SIGNING_PRIVATE_KEY'), - chainId: System.getenv('CHAIN_ID'), - - audience: [ - local1: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A41046C57E9E25101D5E553AE003E2F79025E389B51495607C796B4E95C0A94001FBC24D84CD0780819612529B803E8AD0A397F474C965D957D33DD64E642B756FBC4" - ), - local2: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104D630032378D56229DD20D08DBCC6D31F44A07D98175966F5D32CD2189FD748831FCB49266124362E56CC1FAF2AA0D3F362BF84CACBC1C0C74945041EB7327D54" - ), - local3: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104CD5F4ACFFE72D323CCCB2D784847089BBD80EC6D4F68608773E55B3FEADC812E4E2D7C4C647C8C30352141D2926130D10DFC28ACA5CA8A33B7BD7A09C77072CE" - ), - local4: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A41045E4B322ED16CD22465433B0427A4366B9695D7E15DD798526F703035848ACC8D2D002C1F25190454C9B61AB7B243E31E83BA2B48B8A4441F922A08AC3D0A3268" - ), - local5: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104A37653602DA20D27936AF541084869B2F751953CB0F0D25D320788EDA54FB4BC9FB96A281BFFD97E64B749D78C85871A8E14AFD48048537E45E16F3D2FDDB44B" - ), - test1: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104B3A39EDA72D51F586D72C3F6A8277FF3D3190C17270D7C089AFEB93E8DE5168617A8F925FCD12A08F11ADE4FBB270A74D61B218B675137E2165B326BE8C74AE0" - ), - test2: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104191F22F1FF76D7C762CDCB47C5F87EEF4B0242C1472AF4A58F40A78BC45194968F42F52357CCFE64199988A277912EFF276612B19C9E9448D047827884EC449B" - ), - test3: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A4104325DB9615E55EFF9034DCBAA3641F0EB271BBBA94D39A05C13A2F2CFBE5456D3723777418B96FEBE155D9858EC4F4360E1C5E922FD4891033FB3DDF633FE533E" - ), - test4: new io.provenance.p8e.plugin.P8ePartyExtension( - publicKey: "0A410480308258CB9C12575954BBFEDDC57021F773ABA5A63EB0588F15B535B8AB6EE01617290E1604DEDEA497C18FF47EA43430C7123C79FA90EBD4CF46D9DDB3CC62" - ) - ] - ) - ] -} diff --git a/integration-test/sdkContracts/build.gradle.kts b/integration-test/sdkContracts/build.gradle.kts new file mode 100644 index 0000000..120c35d --- /dev/null +++ b/integration-test/sdkContracts/build.gradle.kts @@ -0,0 +1,96 @@ +import io.provenance.p8e.plugin.P8eLocationExtension +import io.provenance.p8e.plugin.P8ePartyExtension + +buildscript { + repositories { + mavenLocal() + jcenter() + mavenCentral() + maven { url = uri("https://javadoc.jitpack.io") } + } + + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10") + classpath("com.bmuschko:gradle-nexus-plugin:2.3.1") + } +} + +plugins { + id("io.provenance.p8e.p8e-publish") version "1.0-SNAPSHOT" // todo: update to new version +} + +allprojects { + group = "io.provenance.p8e.p8e-integration-tests.sdk" + version = "1.0-SNAPSHOT" + + repositories { + mavenLocal() + jcenter() + mavenCentral() + maven { url = uri("https://javadoc.jitpack.io") } + } +} + +// This block specifies the configuration needed to connect to a p8e instance as well as the audience list +// for all of the objects that will be created. +p8e { + // Specifies the subproject names for the project containing P8eContract subclasses, and the associated protobuf messages + // that make up those contracts. + contractProject = "contracts" // defaults to "contract" + protoProject = "protos" // defaults to "proto" + + // Package locations that the ContractHash and ProtoHash source files will be written to. + language = "kt" // defaults to "java" + contractHashPackage = "io.p8e.contracts.testframework" + protoHashPackage = "io.p8e.proto.testframework" + + // specifies all of the p8e locations that this plugin will bootstrap to. + locations = mapOf( + "local" to P8eLocationExtension().apply { + osUrl = System.getenv("OS_GRPC_URL") + provenanceUrl = System.getenv("PROVENANCE_GRPC_URL") + encryptionPrivateKey = System.getenv("ENCRYPTION_PRIVATE_KEY") + signingPrivateKey = System.getenv("SIGNING_PRIVATE_KEY") + chainId = System.getenv("CHAIN_ID") + + audience = mapOf( + "local1" to P8ePartyExtension().apply { + publicKey = + "0A41046C57E9E25101D5E553AE003E2F79025E389B51495607C796B4E95C0A94001FBC24D84CD0780819612529B803E8AD0A397F474C965D957D33DD64E642B756FBC4" + }, + "local2" to P8ePartyExtension().apply { + publicKey = + "0A4104D630032378D56229DD20D08DBCC6D31F44A07D98175966F5D32CD2189FD748831FCB49266124362E56CC1FAF2AA0D3F362BF84CACBC1C0C74945041EB7327D54" + }, + "local3" to P8ePartyExtension().apply { + publicKey = + "0A4104CD5F4ACFFE72D323CCCB2D784847089BBD80EC6D4F68608773E55B3FEADC812E4E2D7C4C647C8C30352141D2926130D10DFC28ACA5CA8A33B7BD7A09C77072CE" + }, + "local4" to P8ePartyExtension().apply { + publicKey = + "0A41045E4B322ED16CD22465433B0427A4366B9695D7E15DD798526F703035848ACC8D2D002C1F25190454C9B61AB7B243E31E83BA2B48B8A4441F922A08AC3D0A3268" + }, + "local5" to P8ePartyExtension().apply { + publicKey = + "0A4104A37653602DA20D27936AF541084869B2F751953CB0F0D25D320788EDA54FB4BC9FB96A281BFFD97E64B749D78C85871A8E14AFD48048537E45E16F3D2FDDB44B" + }, + "test1" to P8ePartyExtension().apply { + publicKey = + "0A4104B3A39EDA72D51F586D72C3F6A8277FF3D3190C17270D7C089AFEB93E8DE5168617A8F925FCD12A08F11ADE4FBB270A74D61B218B675137E2165B326BE8C74AE0" + }, + "test2" to P8ePartyExtension().apply { + publicKey = + "0A4104191F22F1FF76D7C762CDCB47C5F87EEF4B0242C1472AF4A58F40A78BC45194968F42F52357CCFE64199988A277912EFF276612B19C9E9448D047827884EC449B" + }, + "test3" to P8ePartyExtension().apply { + publicKey = + "0A4104325DB9615E55EFF9034DCBAA3641F0EB271BBBA94D39A05C13A2F2CFBE5456D3723777418B96FEBE155D9858EC4F4360E1C5E922FD4891033FB3DDF633FE533E" + }, + "test4" to P8ePartyExtension().apply { + publicKey = + "0A410480308258CB9C12575954BBFEDDC57021F773ABA5A63EB0588F15B535B8AB6EE01617290E1604DEDEA497C18FF47EA43430C7123C79FA90EBD4CF46D9DDB3CC62" + } + ) + } + ) +} diff --git a/integration-test/sdkContracts/contracts/build.gradle b/integration-test/sdkContracts/contracts/build.gradle.kts similarity index 61% rename from integration-test/sdkContracts/contracts/build.gradle rename to integration-test/sdkContracts/contracts/build.gradle.kts index 4c24316..ddef33a 100644 --- a/integration-test/sdkContracts/contracts/build.gradle +++ b/integration-test/sdkContracts/contracts/build.gradle.kts @@ -6,19 +6,19 @@ buildscript { } plugins { - id "maven-publish" - id "kotlin" + id("maven-publish") + id("kotlin") } dependencies { - api project(':protos') + api(project(":protos")) implementation("io.provenance.scope:contract-base:1.0-SNAPSHOT") } publishing { publications { - contract(MavenPublication) { - artifact tasks.jar + create("maven") { + artifact("tasks.jar") } } } diff --git a/integration-test/sdkContracts/gradle/wrapper/gradle-wrapper.jar b/integration-test/sdkContracts/gradle/wrapper/gradle-wrapper.jar index 490fda8577df6c95960ba7077c43220e5bb2c0d9..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6763 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 - task.builtins { - python {} - } - } - ofSourceSet('main')*.plugins { - // Apply the "grpc" plugin whose spec is defined above, without - // options. Note the braces cannot be omitted, otherwise the - // plugin will not be added. This is because of the implicit way - // NamedDomainObjectContainer binds the methods. - grpc {} - } - } -} - -publishing { - publications { - proto(MavenPublication) { - artifact tasks.jar - } - } -} diff --git a/integration-test/sdkContracts/protos/build.gradle.kts b/integration-test/sdkContracts/protos/build.gradle.kts new file mode 100644 index 0000000..a8c722c --- /dev/null +++ b/integration-test/sdkContracts/protos/build.gradle.kts @@ -0,0 +1,75 @@ +import com.google.protobuf.gradle.* + +buildscript { + repositories { + jcenter() + mavenCentral() + } + + dependencies { + classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.19") + } +} + +plugins { + id("com.google.protobuf") version "0.8.19" + id("maven-publish") + id("kotlin") +} + +sourceSets { + main { + java { + srcDir("build/generated/source/proto/main/java") + srcDir("src/main/kotlin") + } + } +} + +dependencies { + implementation("io.provenance.scope:contract-base:1.0-SNAPSHOT") + + // implementation("io.provenance.p8e:p8e-contract-base:1.0-SNAPSHOT") + + api("com.google.protobuf:protobuf-java:3.24.4") + api("com.google.protobuf:protobuf-java-util:3.24.4") +} + +protobuf { + protoc { + // The artifact spec for the Protobuf Compiler + artifact = "com.google.protobuf:protoc:3.24.4" + } + plugins { + // Optional: an artifact spec for a protoc plugin, with "grpc" as + // the identifier, which can be referred to in the "plugins" + // container of the "generateProtoTasks" closure. + id("grpc") { + artifact = "io.grpc:protoc-gen-grpc-java:1.58.0" + } + } + generateProtoTasks { + all().forEach { task -> + task.builtins { + id("python") {} + } + } + ofSourceSet("main").forEach { + it.plugins { + // Apply the "grpc" plugin whose spec is defined above, without + // options. Note the braces cannot be omitted, otherwise the + // plugin will not be added. This is because of the implicit way + // NamedDomainObjectContainer binds the methods. + id("grpc") {} + } + } + } +} + +publishing { + publications { + create("maven") { + artifact("tasks.jar") + } + } +} diff --git a/integration-test/sdkContracts/settings.gradle b/integration-test/sdkContracts/settings.gradle.kts similarity index 74% rename from integration-test/sdkContracts/settings.gradle rename to integration-test/sdkContracts/settings.gradle.kts index 08c8798..a999b2e 100644 --- a/integration-test/sdkContracts/settings.gradle +++ b/integration-test/sdkContracts/settings.gradle.kts @@ -5,4 +5,4 @@ pluginManagement { } } -include ':contracts', ':protos' +include(":contracts", ":protos")