From 3f42076e84d61f702683413899682ee32751fc85 Mon Sep 17 00:00:00 2001 From: Yousaf Nabi Date: Thu, 14 Mar 2024 18:27:18 +0000 Subject: [PATCH] feat: musl built linux bins / windows arm64 support --- .github/workflows/release.yml | 4 +- .github/workflows/rust.yml | 13 +- .gitignore | 1 + cli/Cargo.lock | 230 +++++----- cli/Cargo.toml | 19 +- cli/release.sh | 47 +- cli/repository.index | 405 ++++++++++-------- cli/repository.index.sha256 | 1 + drivers/jvm/core/build.gradle | 2 +- .../io/pact/plugins/jvm/core/Repository.kt | 4 +- drivers/rust/driver/Cargo.toml | 17 + drivers/rust/driver/musl-build.sh | 12 - drivers/rust/driver/repository.index | 195 ++++++--- drivers/rust/driver/repository.index.sha256 | 1 + drivers/rust/driver/src/repository.rs | 4 +- drivers/rust/driver_ffi/Cargo.toml | 17 + plugins/csv/Cargo.toml | 17 + plugins/csv/Cross.toml | 12 + plugins/csv/release.sh | 51 ++- repository/repository.index | 137 ++++-- repository/repository.index.sha256 | 2 +- scripts/install-plugin-cli.sh | 16 +- 22 files changed, 758 insertions(+), 449 deletions(-) create mode 100644 cli/repository.index.sha256 delete mode 100755 drivers/rust/driver/musl-build.sh create mode 100644 drivers/rust/driver/repository.index.sha256 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68cfce2d..be2d15d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: plugins/csv/target/artifacts/* + file: plugins/csv/release_artifacts/* file_glob: true tag: ${{ github.ref }} - if: startsWith(github.ref, 'refs/tags/pact-plugin-cli') @@ -49,6 +49,6 @@ jobs: uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: cli/target/artifacts/* + file: cli/release_artifacts/* file_glob: true tag: ${{ github.ref }} diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 0ea5ed7e..5f5ff14b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -63,15 +63,6 @@ jobs: curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.88.77/pact-1.88.77-linux-x86_64.tar.gz tar xzf pact-1.88.77-linux-x86_64.tar.gz VER=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version') - pact/bin/pact-broker publish -a "$VER+$GITHUB_SHA" -b https://pact-foundation.pactflow.io -k ${{ secrets.PACTFLOW_TOKEN }} target/pacts + pact/bin/pact-broker publish -a "$VER+$GITHUB_SHA" -b https://saf.pactflow.io -k ${{ secrets.PACTFLOW_TOKEN }} target/pacts working-directory: drivers/rust/driver_pact_tests - if: runner.os == 'Linux' - - musl-build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: | - docker run --rm -v $(pwd):/workspace -w /workspace/drivers/rust/driver -t \ - -e 'RUST_LOG=trace' -e 'pact_do_not_track=true' pactfoundation/rust-musl-build \ - -c ./musl-build.sh + if: runner.os == 'Linux' \ No newline at end of file diff --git a/.gitignore b/.gitignore index 681ea9b5..328020e6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ build target pacts *.out +release_artifacts # Misc diff --git a/cli/Cargo.lock b/cli/Cargo.lock index bcf252cd..0b2222d2 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "ariadne" @@ -129,15 +129,37 @@ dependencies = [ "tokio", ] +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -305,9 +327,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", @@ -315,7 +337,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -381,7 +403,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -705,44 +727,44 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-io", @@ -875,11 +897,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -993,7 +1015,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.51.1", ] [[package]] @@ -1214,7 +1236,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax 0.6.29", - "syn 2.0.41", + "syn", ] [[package]] @@ -1457,9 +1479,7 @@ dependencies = [ [[package]] name = "pact-plugin-driver" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cead6a8c9f5e0de8f13cdf00d2fd684d00b79d70baa10c3f74b9d0b211dfdcd6" +version = "0.5.2" dependencies = [ "anyhow", "async-trait", @@ -1499,9 +1519,9 @@ dependencies = [ [[package]] name = "pact_models" -version = "1.1.12" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a732b44f4ede0e0fde65944a9f421c34c2c7051bde14e0f44f4b31bf3c71ed" +checksum = "2bac0a22137e661623246c4da170f3123ff9ead87644d1d16ceb6604c5752440" dependencies = [ "anyhow", "ariadne", @@ -1668,7 +1688,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -1709,28 +1729,28 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 1.0.109", + "syn", ] [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", "prost-derive", @@ -1738,53 +1758,53 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck", "itertools 0.10.5", - "lazy_static", "log", "multimap", + "once_cell", "petgraph", "prettyplease", "prost", "prost-types", "regex", - "syn 1.0.109", + "syn", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", "itertools 0.10.5", "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" dependencies = [ "prost", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -1860,9 +1880,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", @@ -1872,9 +1892,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -1921,9 +1941,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ "async-compression", "base64", @@ -1949,6 +1969,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-rustls", @@ -2109,35 +2130,35 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" dependencies = [ "itoa", "ryu", @@ -2350,7 +2371,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.41", + "syn", ] [[package]] @@ -2371,20 +2392,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.41" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -2399,9 +2409,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sysinfo" -version = "0.29.11" +version = "0.30.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666" +checksum = "1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2409,7 +2419,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi", + "windows", ] [[package]] @@ -2484,7 +2494,7 @@ checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -2543,9 +2553,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -2578,7 +2588,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -2665,16 +2675,15 @@ dependencies = [ [[package]] name = "tonic" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ + "async-stream", "async-trait", "axum", "base64", "bytes", - "futures-core", - "futures-util", "h2", "http", "http-body", @@ -2693,15 +2702,15 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" +checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -2756,7 +2765,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", ] [[package]] @@ -2892,9 +2901,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom", ] @@ -2966,7 +2975,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.41", + "syn", "wasm-bindgen-shared", ] @@ -3000,7 +3009,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3013,9 +3022,9 @@ checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -3077,6 +3086,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.0", +] + [[package]] name = "windows-core" version = "0.51.1" @@ -3086,6 +3105,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-sys" version = "0.45.0" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index c365349d..1b09ef96 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -14,7 +14,7 @@ exclude = [ ] [dependencies] -pact-plugin-driver = "0.4.6" +pact-plugin-driver = { version = "0.5.2", path = "../drivers/rust/driver" } clap = { version = "4.4.11", features = [ "derive", "cargo" ] } comfy-table = "7.1.0" home = "0.5.5" @@ -37,3 +37,20 @@ tempfile = "3.8.1" expectest = "0.12.0" test-log = "0.2.14" env_logger = "0.10.1" + +[profile.release] +strip = true # Automatically strip symbols from the binary. +opt-level = "z" # Optimize for size. +codegen-units = 1 +panic = "abort" +# lto = true +# https://github.com/johnthagen/min-sized-rust + +## Original Sizes +# 24M libpact_ffi.dylib +# 19M pact_verifier_cli +# 18M pact_mock_server_cli + +# libpactffi.dylib size 24M -> 9.4M +# pact_verifier_cli size 19M -> 6.4M +# pact_mock_server_cli size 19M -> 5.6M \ No newline at end of file diff --git a/cli/release.sh b/cli/release.sh index affd10af..d2423ad4 100755 --- a/cli/release.sh +++ b/cli/release.sh @@ -1,4 +1,6 @@ -#!/bin/bash +#!/bin/bash -eu +set -e +set -u if [ $# -lt 1 ] then @@ -9,37 +11,48 @@ fi echo Building Release for "$1" cargo clean -mkdir -p target/artifacts/ +mkdir -p release_artifacts case "$1" in Linux) echo "Building for Linux" - docker run --rm --user "$(id -u)":"$(id -g)" -v "$(pwd):/workspace" -w /workspace -t pactfoundation/rust-musl-build -c 'cargo build --release' - gzip -c target/release/pact-plugin-cli > target/artifacts/pact-plugin-cli-linux-x86_64.gz - openssl dgst -sha256 -r target/artifacts/pact-plugin-cli-linux-x86_64.gz > target/artifacts/pact-plugin-cli-linux-x86_64.gz.sha256 - - # Build aarch64 - cargo install cross - cross build --target aarch64-unknown-linux-gnu --release - gzip -c target/aarch64-unknown-linux-gnu/release/pact-plugin-cli > target/artifacts/pact-plugin-cli-linux-aarch64.gz - openssl dgst -sha256 -r target/artifacts/pact-plugin-cli-linux-aarch64.gz > target/artifacts/pact-plugin-cli-linux-aarch64.gz.sha256 + cargo install cross@0.2.5 + echo -- Build the musl x86_64 release artifacts -- + cargo clean + cross build --release --target=x86_64-unknown-linux-musl + gzip -c target/x86_64-unknown-linux-musl/release/pact-plugin-cli > release_artifacts/pact-plugin-cli-linux-x86_64.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-linux-x86_64.gz > release_artifacts/pact-plugin-cli-linux-x86_64.gz.sha256 + + echo -- Build the musl aarch64 release artifacts -- + cargo clean + cross build --release --target=aarch64-unknown-linux-musl + gzip -c target/aarch64-unknown-linux-musl/release/pact-plugin-cli > release_artifacts/pact-plugin-cli-linux-aarch64.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-linux-aarch64.gz > release_artifacts/pact-plugin-cli-linux-aarch64.gz.sha256 + ;; Windows) echo "Building for Windows" cargo build --release - gzip -c target/release/pact-plugin-cli.exe > target/artifacts/pact-plugin-cli-windows-x86_64.exe.gz - openssl dgst -sha256 -r target/artifacts/pact-plugin-cli-windows-x86_64.exe.gz > target/artifacts/pact-plugin-cli-windows-x86_64.exe.gz.sha256 + gzip -c target/release/pact-plugin-cli.exe > release_artifacts/pact-plugin-cli-windows-x86_64.exe.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-windows-x86_64.exe.gz > release_artifacts/pact-plugin-cli-windows-x86_64.exe.gz.sha256 + + echo -- Build the aarch64 release artifacts -- + cargo clean + rustup target add aarch64-pc-windows-msvc + cargo build --target aarch64-pc-windows-msvc --release + gzip -c target/aarch64-pc-windows-msvc/release/pact-plugin-cli.exe > release_artifacts/pact-plugin-cli-windows-aarch64.exe.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-windows-aarch64.exe.gz > release_artifacts/pact-plugin-cli-windows-aarch64.exe.gz.sha256 ;; macOS) echo "Building for OSX" cargo build --release - gzip -c target/release/pact-plugin-cli > target/artifacts/pact-plugin-cli-osx-x86_64.gz - openssl dgst -sha256 -r target/artifacts/pact-plugin-cli-osx-x86_64.gz > target/artifacts/pact-plugin-cli-osx-x86_64.gz.sha256 + gzip -c target/release/pact-plugin-cli > release_artifacts/pact-plugin-cli-osx-x86_64.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-osx-x86_64.gz > release_artifacts/pact-plugin-cli-osx-x86_64.gz.sha256 # M1 export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path) export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version) cargo build --target aarch64-apple-darwin --release - gzip -c target/aarch64-apple-darwin/release/pact-plugin-cli > target/artifacts/pact-plugin-cli-osx-aarch64.gz - openssl dgst -sha256 -r target/artifacts/pact-plugin-cli-osx-aarch64.gz > target/artifacts/pact-plugin-cli-osx-aarch64.gz.sha256 + gzip -c target/aarch64-apple-darwin/release/pact-plugin-cli > release_artifacts/pact-plugin-cli-osx-aarch64.gz + openssl dgst -sha256 -r release_artifacts/pact-plugin-cli-osx-aarch64.gz > release_artifacts/pact-plugin-cli-osx-aarch64.gz.sha256 ;; *) echo "$1 is not a recognised OS" exit 1 diff --git a/cli/repository.index b/cli/repository.index index b63c005a..ab9658f6 100644 --- a/cli/repository.index +++ b/cli/repository.index @@ -1,10 +1,196 @@ -index_version = 15 +index_version = 18 format_version = 0 timestamp = "2023-03-10T05:36:45.725083896Z" +[entries.matt] +name = "matt" +latest_version = "0.1.1" + +[[entries.matt.versions]] +version = "0.1.1" + +[entries.matt.versions.source] +type = "GitHubRelease" +value = "https://github.com/mefellows/pact-matt-plugin/releases/tag/v0.1.1" + +[entries.matt.versions.manifest] +pluginInterfaceVersion = 1 +name = "matt" +version = "0.1.1" +executableType = "exec" +entryPoint = "matt" + +[entries.matt.versions.manifest.entryPoints] + +[entries.matt.versions.manifest.pluginConfig] + +[entries.avro] +name = "avro" +latest_version = "0.0.4" + +[[entries.avro.versions]] +version = "0.0.3" + +[entries.avro.versions.source] +type = "GitHubRelease" +value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.3" + +[entries.avro.versions.manifest] +pluginInterfaceVersion = 1 +name = "avro" +version = "0.0.3" +executableType = "exec" +entryPoint = "bin/pact-avro-plugin" + +[entries.avro.versions.manifest.entryPoints] +windows = "bin/pact-avro-plugin.bat" + +[[entries.avro.versions.manifest.dependencies]] +name = "jvm" +version = "11+" +dependencyType = "Plugin" + +[entries.avro.versions.manifest.pluginConfig] + +[[entries.avro.versions]] +version = "0.0.4" + +[entries.avro.versions.source] +type = "GitHubRelease" +value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.4" + +[entries.avro.versions.manifest] +pluginInterfaceVersion = 1 +name = "avro" +version = "0.0.4" +executableType = "exec" +entryPoint = "bin/pact-avro-plugin" + +[entries.avro.versions.manifest.entryPoints] +windows = "bin/pact-avro-plugin.bat" + +[[entries.avro.versions.manifest.dependencies]] +name = "jvm" +version = "17+" +dependencyType = "Plugin" + +[entries.avro.versions.manifest.pluginConfig] + +[entries.csv] +name = "csv" +latest_version = "0.0.6" + +[[entries.csv.versions]] +version = "0.0.0" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.0" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.0" +executableType = "exec" +entryPoint = "pact-plugin-csv" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[[entries.csv.versions]] +version = "0.0.1" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.1" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.1" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[[entries.csv.versions]] +version = "0.0.2" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.2" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.2" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[[entries.csv.versions]] +version = "0.0.3" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.3" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.3" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[[entries.csv.versions]] +version = "0.0.4" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.4" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.4" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[[entries.csv.versions]] +version = "0.0.6" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/YOU54F/pact-plugins/releases/tag/csv-plugin-0.0.6" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.6" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + [entries.protobuf] name = "protobuf" -latest_version = "0.3.7" +latest_version = "0.3.14" [[entries.protobuf.versions]] version = "0.3.0" @@ -23,9 +209,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.2.5" @@ -44,9 +230,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.2.4" @@ -65,9 +251,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.2.3" @@ -86,9 +272,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.2.2" @@ -107,9 +293,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.2.1" @@ -128,9 +314,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.2.0" @@ -170,9 +356,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.16" @@ -191,9 +377,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.15" @@ -234,8 +420,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] hostToBindTo = "127.0.0.1" -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.13" @@ -255,8 +441,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.12" @@ -275,9 +461,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.11" @@ -296,9 +482,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.10" @@ -317,9 +503,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.9" @@ -339,8 +525,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.8" @@ -359,8 +545,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.7" @@ -379,8 +565,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.6" @@ -399,8 +585,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.5" @@ -419,8 +605,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.4" @@ -459,8 +645,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.2" @@ -499,8 +685,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.0" @@ -519,8 +705,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.0.3" @@ -579,8 +765,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.0.0" @@ -619,8 +805,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" [[entries.protobuf.versions]] @@ -640,9 +826,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.3" @@ -661,8 +847,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" [[entries.protobuf.versions]] @@ -703,9 +889,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.6" @@ -745,152 +931,27 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -[entries.avro] -name = "avro" -latest_version = "0.0.4" - -[[entries.avro.versions]] -version = "0.0.3" - -[entries.avro.versions.source] -type = "GitHubRelease" -value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.3" - -[entries.avro.versions.manifest] -pluginInterfaceVersion = 1 -name = "avro" -version = "0.0.3" -executableType = "exec" -entryPoint = "bin/pact-avro-plugin" - -[entries.avro.versions.manifest.entryPoints] -windows = "bin/pact-avro-plugin.bat" - -[[entries.avro.versions.manifest.dependencies]] -name = "jvm" -version = "11+" -dependencyType = "Plugin" - -[entries.avro.versions.manifest.pluginConfig] - -[[entries.avro.versions]] -version = "0.0.4" - -[entries.avro.versions.source] -type = "GitHubRelease" -value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.4" - -[entries.avro.versions.manifest] -pluginInterfaceVersion = 1 -name = "avro" -version = "0.0.4" -executableType = "exec" -entryPoint = "bin/pact-avro-plugin" - -[entries.avro.versions.manifest.entryPoints] -windows = "bin/pact-avro-plugin.bat" - -[[entries.avro.versions.manifest.dependencies]] -name = "jvm" -version = "17+" -dependencyType = "Plugin" - -[entries.avro.versions.manifest.pluginConfig] - -[entries.csv] -name = "csv" -latest_version = "0.0.4" - -[[entries.csv.versions]] -version = "0.0.0" - -[entries.csv.versions.source] -type = "GitHubRelease" -value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.0" - -[entries.csv.versions.manifest] -pluginInterfaceVersion = 1 -name = "csv" -version = "0.0.0" -executableType = "exec" -entryPoint = "pact-plugin-csv" - -[entries.csv.versions.manifest.entryPoints] - -[entries.csv.versions.manifest.pluginConfig] - -[[entries.csv.versions]] -version = "0.0.1" - -[entries.csv.versions.source] -type = "GitHubRelease" -value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.1" - -[entries.csv.versions.manifest] -pluginInterfaceVersion = 1 -name = "csv" -version = "0.0.1" -executableType = "exec" -entryPoint = "pact-csv-plugin" - -[entries.csv.versions.manifest.entryPoints] - -[entries.csv.versions.manifest.pluginConfig] - -[[entries.csv.versions]] -version = "0.0.2" - -[entries.csv.versions.source] -type = "GitHubRelease" -value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.2" - -[entries.csv.versions.manifest] -pluginInterfaceVersion = 1 -name = "csv" -version = "0.0.2" -executableType = "exec" -entryPoint = "pact-csv-plugin" - -[entries.csv.versions.manifest.entryPoints] - -[entries.csv.versions.manifest.pluginConfig] - -[[entries.csv.versions]] -version = "0.0.3" - -[entries.csv.versions.source] -type = "GitHubRelease" -value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.3" - -[entries.csv.versions.manifest] -pluginInterfaceVersion = 1 -name = "csv" -version = "0.0.3" -executableType = "exec" -entryPoint = "pact-csv-plugin" - -[entries.csv.versions.manifest.entryPoints] - -[entries.csv.versions.manifest.pluginConfig] - -[[entries.csv.versions]] -version = "0.0.4" +[[entries.protobuf.versions]] +version = "0.3.14" -[entries.csv.versions.source] +[entries.protobuf.versions.source] type = "GitHubRelease" -value = "https://github.com/pact-foundation/pact-plugins/releases/tag/csv-plugin-0.0.4" +value = "https://github.com/YOU54F/pact-protobuf-plugin/releases/tag/v-0.3.14" -[entries.csv.versions.manifest] +[entries.protobuf.versions.manifest] pluginInterfaceVersion = 1 -name = "csv" -version = "0.0.4" +name = "protobuf" +version = "0.3.14" executableType = "exec" -entryPoint = "pact-csv-plugin" +entryPoint = "pact-protobuf-plugin" -[entries.csv.versions.manifest.entryPoints] +[entries.protobuf.versions.manifest.entryPoints] -[entries.csv.versions.manifest.pluginConfig] +[entries.protobuf.versions.manifest.pluginConfig] +hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" diff --git a/cli/repository.index.sha256 b/cli/repository.index.sha256 new file mode 100644 index 00000000..07566e94 --- /dev/null +++ b/cli/repository.index.sha256 @@ -0,0 +1 @@ +df4806c2ecffc68ad3b92c3e1136e0a73cc0488c48d2b035f85a184791798ee3 \ No newline at end of file diff --git a/drivers/jvm/core/build.gradle b/drivers/jvm/core/build.gradle index 1f32172c..66bae4ea 100644 --- a/drivers/jvm/core/build.gradle +++ b/drivers/jvm/core/build.gradle @@ -84,7 +84,7 @@ test { pact { publish { - pactBrokerUrl = 'https://pact-foundation.pactflow.io' + pactBrokerUrl = 'https://saf.pactflow.io' consumerVersion = "${project.version}+${gitSha}" if (project.hasProperty('pactBrokerToken')) { pactBrokerToken = project.pactBrokerToken diff --git a/drivers/jvm/core/src/main/kotlin/io/pact/plugins/jvm/core/Repository.kt b/drivers/jvm/core/src/main/kotlin/io/pact/plugins/jvm/core/Repository.kt index 98d87bb5..c4036031 100644 --- a/drivers/jvm/core/src/main/kotlin/io/pact/plugins/jvm/core/Repository.kt +++ b/drivers/jvm/core/src/main/kotlin/io/pact/plugins/jvm/core/Repository.kt @@ -223,12 +223,12 @@ open class DefaultRepository: Repository, KLogging() { logger.info { "Fetching index from github" } try { val indexContent = - getUrl("https://raw.githubusercontent.com/pact-foundation/pact-plugins/main/repository/repository.index") + getUrl("https://raw.githubusercontent.com/you54f/pact-plugins/main/repository/repository.index") .execute() .returnContent() .asString() val indexSha = - getUrl("https://raw.githubusercontent.com/pact-foundation/pact-plugins/main/repository/repository.index.sha256") + getUrl("https://raw.githubusercontent.com/you54f/pact-plugins/main/repository/repository.index.sha256") .execute() .returnContent() .asString() diff --git a/drivers/rust/driver/Cargo.toml b/drivers/rust/driver/Cargo.toml index db7ad3f3..af0d45a3 100644 --- a/drivers/rust/driver/Cargo.toml +++ b/drivers/rust/driver/Cargo.toml @@ -66,3 +66,20 @@ test-log = "0.2.14" [build-dependencies] tonic-build = "0.10.2" + +[profile.release] +strip = true # Automatically strip symbols from the binary. +opt-level = "z" # Optimize for size. +codegen-units = 1 +panic = "abort" +# lto = true +# https://github.com/johnthagen/min-sized-rust + +## Original Sizes +# 24M libpact_ffi.dylib +# 19M pact_verifier_cli +# 18M pact_mock_server_cli + +# libpactffi.dylib size 24M -> 9.4M +# pact_verifier_cli size 19M -> 6.4M +# pact_mock_server_cli size 19M -> 5.6M \ No newline at end of file diff --git a/drivers/rust/driver/musl-build.sh b/drivers/rust/driver/musl-build.sh deleted file mode 100755 index 0a0acbf9..00000000 --- a/drivers/rust/driver/musl-build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -e -set -x - -apk add protobuf protobuf-dev -wget https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v0.1.0/pact-plugin-cli-linux-x86_64.gz -gunzip pact-plugin-cli-linux-x86_64.gz -chmod +x pact-plugin-cli-linux-x86_64 -./pact-plugin-cli-linux-x86_64 -y install https://github.com/pactflow/pact-protobuf-plugin/releases/latest -cargo build -cargo test diff --git a/drivers/rust/driver/repository.index b/drivers/rust/driver/repository.index index 3011bcdb..fc956fc4 100644 --- a/drivers/rust/driver/repository.index +++ b/drivers/rust/driver/repository.index @@ -1,10 +1,62 @@ -index_version = 20 +index_version = 23 format_version = 0 timestamp = "2023-03-10T05:36:45.725083896Z" +[entries.avro] +name = "avro" +latest_version = "0.0.4" + +[[entries.avro.versions]] +version = "0.0.3" + +[entries.avro.versions.source] +type = "GitHubRelease" +value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.3" + +[entries.avro.versions.manifest] +pluginInterfaceVersion = 1 +name = "avro" +version = "0.0.3" +executableType = "exec" +entryPoint = "bin/pact-avro-plugin" + +[entries.avro.versions.manifest.entryPoints] +windows = "bin/pact-avro-plugin.bat" + +[[entries.avro.versions.manifest.dependencies]] +name = "jvm" +version = "11+" +dependencyType = "Plugin" + +[entries.avro.versions.manifest.pluginConfig] + +[[entries.avro.versions]] +version = "0.0.4" + +[entries.avro.versions.source] +type = "GitHubRelease" +value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.4" + +[entries.avro.versions.manifest] +pluginInterfaceVersion = 1 +name = "avro" +version = "0.0.4" +executableType = "exec" +entryPoint = "bin/pact-avro-plugin" + +[entries.avro.versions.manifest.entryPoints] +windows = "bin/pact-avro-plugin.bat" + +[[entries.avro.versions.manifest.dependencies]] +name = "jvm" +version = "17+" +dependencyType = "Plugin" + +[entries.avro.versions.manifest.pluginConfig] + [entries.protobuf] name = "protobuf" -latest_version = "0.3.11" +latest_version = "0.3.14" [[entries.protobuf.versions]] version = "0.3.0" @@ -65,9 +117,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.2.3" @@ -87,8 +139,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.2.2" @@ -128,9 +180,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.2.0" @@ -170,9 +222,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.16" @@ -192,8 +244,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.15" @@ -213,8 +265,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.14" @@ -234,8 +286,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.13" @@ -254,9 +306,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.12" @@ -275,9 +327,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.11" @@ -296,9 +348,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.10" @@ -317,9 +369,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.9" @@ -338,9 +390,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.8" @@ -359,8 +411,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.7" @@ -439,8 +491,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.3" @@ -459,8 +511,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.2" @@ -499,8 +551,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.0" @@ -559,8 +611,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.0.1" @@ -599,8 +651,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.1" @@ -620,8 +672,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.2" @@ -640,9 +692,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.3" @@ -682,9 +734,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.5" @@ -703,9 +755,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.3.6" @@ -745,8 +797,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" [[entries.protobuf.versions]] @@ -767,8 +819,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.3.9" @@ -787,9 +839,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.10" @@ -809,8 +861,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.3.11" @@ -829,13 +881,34 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" + +[[entries.protobuf.versions]] +version = "0.3.14" + +[entries.protobuf.versions.source] +type = "GitHubRelease" +value = "https://github.com/YOU54F/pact-protobuf-plugin/releases/tag/v-0.3.14" + +[entries.protobuf.versions.manifest] +pluginInterfaceVersion = 1 +name = "protobuf" +version = "0.3.14" +executableType = "exec" +entryPoint = "pact-protobuf-plugin" + +[entries.protobuf.versions.manifest.entryPoints] + +[entries.protobuf.versions.manifest.pluginConfig] protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [entries.csv] name = "csv" -latest_version = "0.0.5" +latest_version = "0.0.6" [[entries.csv.versions]] version = "0.0.0" @@ -945,54 +1018,42 @@ entryPoint = "pact-csv-plugin" [entries.csv.versions.manifest.pluginConfig] -[entries.avro] -name = "avro" -latest_version = "0.0.4" - -[[entries.avro.versions]] -version = "0.0.3" +[[entries.csv.versions]] +version = "0.0.6" -[entries.avro.versions.source] +[entries.csv.versions.source] type = "GitHubRelease" -value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.3" +value = "https://github.com/YOU54F/pact-plugins/releases/tag/csv-plugin-0.0.6" -[entries.avro.versions.manifest] +[entries.csv.versions.manifest] pluginInterfaceVersion = 1 -name = "avro" -version = "0.0.3" +name = "csv" +version = "0.0.6" executableType = "exec" -entryPoint = "bin/pact-avro-plugin" +entryPoint = "pact-csv-plugin" -[entries.avro.versions.manifest.entryPoints] -windows = "bin/pact-avro-plugin.bat" +[entries.csv.versions.manifest.entryPoints] -[[entries.avro.versions.manifest.dependencies]] -name = "jvm" -version = "11+" -dependencyType = "Plugin" +[entries.csv.versions.manifest.pluginConfig] -[entries.avro.versions.manifest.pluginConfig] +[entries.matt] +name = "matt" +latest_version = "0.1.1" -[[entries.avro.versions]] -version = "0.0.4" +[[entries.matt.versions]] +version = "0.1.1" -[entries.avro.versions.source] +[entries.matt.versions.source] type = "GitHubRelease" -value = "https://github.com/austek/pact-avro-plugin/releases/tag/v0.0.4" +value = "https://github.com/mefellows/pact-matt-plugin/releases/tag/v0.1.1" -[entries.avro.versions.manifest] +[entries.matt.versions.manifest] pluginInterfaceVersion = 1 -name = "avro" -version = "0.0.4" +name = "matt" +version = "0.1.1" executableType = "exec" -entryPoint = "bin/pact-avro-plugin" - -[entries.avro.versions.manifest.entryPoints] -windows = "bin/pact-avro-plugin.bat" +entryPoint = "matt" -[[entries.avro.versions.manifest.dependencies]] -name = "jvm" -version = "17+" -dependencyType = "Plugin" +[entries.matt.versions.manifest.entryPoints] -[entries.avro.versions.manifest.pluginConfig] +[entries.matt.versions.manifest.pluginConfig] diff --git a/drivers/rust/driver/repository.index.sha256 b/drivers/rust/driver/repository.index.sha256 new file mode 100644 index 00000000..0d4cf58e --- /dev/null +++ b/drivers/rust/driver/repository.index.sha256 @@ -0,0 +1 @@ +01f3d4d5542246ad077c158f63876b0399dba08dcf830fb6c6c13ed8ce4cf5af \ No newline at end of file diff --git a/drivers/rust/driver/src/repository.rs b/drivers/rust/driver/src/repository.rs index c737c56d..8461a737 100644 --- a/drivers/rust/driver/src/repository.rs +++ b/drivers/rust/driver/src/repository.rs @@ -218,13 +218,13 @@ fn load_local_index() -> anyhow::Result { async fn fetch_index_from_github(http_client: &Client) -> anyhow::Result { info!("Fetching index from github"); - let index_contents = http_client.get("https://raw.githubusercontent.com/pact-foundation/pact-plugins/main/repository/repository.index") + let index_contents = http_client.get("https://raw.githubusercontent.com/you54f/pact-plugins/main/repository/repository.index") .send() .await? .text() .await?; - let index_sha = http_client.get("https://raw.githubusercontent.com/pact-foundation/pact-plugins/main/repository/repository.index.sha256") + let index_sha = http_client.get("https://raw.githubusercontent.com/you54f/pact-plugins/main/repository/repository.index.sha256") .send() .await? .text() diff --git a/drivers/rust/driver_ffi/Cargo.toml b/drivers/rust/driver_ffi/Cargo.toml index 14c238ca..17c0ee85 100644 --- a/drivers/rust/driver_ffi/Cargo.toml +++ b/drivers/rust/driver_ffi/Cargo.toml @@ -16,3 +16,20 @@ prost-types = "0.12.3" test-log = "0.2.14" tokio = { version = "1.35.1", features = ["full"] } tonic = "0.10.2" + +[profile.release] +strip = true # Automatically strip symbols from the binary. +opt-level = "z" # Optimize for size. +codegen-units = 1 +panic = "abort" +# lto = true +# https://github.com/johnthagen/min-sized-rust + +## Original Sizes +# 24M libpact_ffi.dylib +# 19M pact_verifier_cli +# 18M pact_mock_server_cli + +# libpactffi.dylib size 24M -> 9.4M +# pact_verifier_cli size 19M -> 6.4M +# pact_mock_server_cli size 19M -> 5.6M \ No newline at end of file diff --git a/plugins/csv/Cargo.toml b/plugins/csv/Cargo.toml index 5732b014..b6f85cc1 100644 --- a/plugins/csv/Cargo.toml +++ b/plugins/csv/Cargo.toml @@ -28,3 +28,20 @@ itertools = "0.12.0" [build-dependencies] tonic-build = "0.10.2" + +[profile.release] +strip = true # Automatically strip symbols from the binary. +opt-level = "z" # Optimize for size. +codegen-units = 1 +panic = "abort" +# lto = true +# https://github.com/johnthagen/min-sized-rust + +## Original Sizes +# 24M libpact_ffi.dylib +# 19M pact_verifier_cli +# 18M pact_mock_server_cli + +# libpactffi.dylib size 24M -> 9.4M +# pact_verifier_cli size 19M -> 6.4M +# pact_mock_server_cli size 19M -> 5.6M \ No newline at end of file diff --git a/plugins/csv/Cross.toml b/plugins/csv/Cross.toml index 99e26e99..a9609dc9 100644 --- a/plugins/csv/Cross.toml +++ b/plugins/csv/Cross.toml @@ -1,4 +1,16 @@ [target.aarch64-unknown-linux-gnu] +pre-build=[ + "dpkg --add-architecture arm64 && apt-get update && apt-get install --assume-yes wget unzip", + "wget https://github.com/protocolbuffers/protobuf/releases/download/v21.5/protoc-21.5-linux-x86_64.zip", + "unzip protoc-21.5-linux-x86_64.zip -d /usr/local/" +] +[target.x86_64-unknown-linux-musl] +pre-build=[ + "apt-get update && apt-get install --assume-yes wget unzip", + "wget https://github.com/protocolbuffers/protobuf/releases/download/v21.5/protoc-21.5-linux-x86_64.zip", + "unzip protoc-21.5-linux-x86_64.zip -d /usr/local/" +] +[target.aarch64-unknown-linux-musl] pre-build=[ "dpkg --add-architecture arm64 && apt-get update && apt-get install --assume-yes wget unzip", "wget https://github.com/protocolbuffers/protobuf/releases/download/v21.5/protoc-21.5-linux-x86_64.zip", diff --git a/plugins/csv/release.sh b/plugins/csv/release.sh index 7c81524c..201bb9d7 100755 --- a/plugins/csv/release.sh +++ b/plugins/csv/release.sh @@ -1,4 +1,6 @@ -#!/bin/bash +#!/bin/bash -eu +set -e +set -u if [ $# -lt 1 ] then @@ -9,36 +11,49 @@ fi echo Building Release for "$1" cargo clean -mkdir -p target/artifacts/ +mkdir -p release_artifacts case "$1" in Linux) echo "Building for Linux" - docker run --rm --user "$(id -u)":"$(id -g)" -v "$(pwd):/workspace" -w /workspace -t pactfoundation/rust-musl-build -c 'cargo build --release' - gzip -c target/release/pact-csv-plugin > target/artifacts/pact-csv-plugin-linux-x86_64.gz - openssl dgst -sha256 -r target/artifacts/pact-csv-plugin-linux-x86_64.gz > target/artifacts/pact-csv-plugin-linux-x86_64.gz.sha256 - cp pact-plugin.json target/artifacts/ - cargo install cross - cross build --target aarch64-unknown-linux-gnu --release - gzip -c target/aarch64-unknown-linux-gnu/release/pact-csv-plugin > target/artifacts/pact-csv-plugin-linux-aarch64.gz - openssl dgst -sha256 -r target/artifacts/pact-csv-plugin-linux-aarch64.gz > target/artifacts/pact-csv-plugin-linux-aarch64.gz.sha256 + cp pact-plugin.json release_artifacts/ + cargo install cross@0.2.5 + echo -- Build the musl x86_64 release artifacts -- + cargo clean + cross build --release --target=x86_64-unknown-linux-musl + gzip -c target/x86_64-unknown-linux-musl/release/pact-csv-plugin > release_artifacts/pact-csv-plugin-linux-x86_64.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-linux-x86_64.gz > release_artifacts/pact-csv-plugin-linux-x86_64.gz.sha256 + + echo -- Build the musl aarch64 release artifacts -- + cargo clean + cross build --release --target=aarch64-unknown-linux-musl + gzip -c target/aarch64-unknown-linux-musl/release/pact-csv-plugin > release_artifacts/pact-csv-plugin-linux-aarch64.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-linux-aarch64.gz > release_artifacts/pact-csv-plugin-linux-aarch64.gz.sha256 + ;; Windows) echo "Building for Windows" cargo build --release - gzip -c target/release/pact-csv-plugin.exe > target/artifacts/pact-csv-plugin-windows-x86_64.exe.gz - openssl dgst -sha256 -r target/artifacts/pact-csv-plugin-windows-x86_64.exe.gz > target/artifacts/pact-csv-plugin-windows-x86_64.exe.gz.sha256 + gzip -c target/release/pact-csv-plugin.exe > release_artifacts/pact-csv-plugin-windows-x86_64.exe.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-windows-x86_64.exe.gz > release_artifacts/pact-csv-plugin-windows-x86_64.exe.gz.sha256 + + echo -- Build the aarch64 release artifacts -- + cargo clean + rustup target add aarch64-pc-windows-msvc + cargo build --target aarch64-pc-windows-msvc --release + gzip -c target/aarch64-pc-windows-msvc/release/pact-csv-plugin.exe > release_artifacts/pact-csv-plugin-windows-aarch64.exe.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-windows-aarch64.exe.gz > release_artifacts/pact-csv-plugin-windows-aarch64.exe.gz.sha256 ;; macOS) echo "Building for OSX" + export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-12} + cargo build --release - gzip -c target/release/pact-csv-plugin > target/artifacts/pact-csv-plugin-osx-x86_64.gz - openssl dgst -sha256 -r target/artifacts/pact-csv-plugin-osx-x86_64.gz > target/artifacts/pact-csv-plugin-osx-x86_64.gz.sha256 + gzip -c target/release/pact-csv-plugin > release_artifacts/pact-csv-plugin-osx-x86_64.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-osx-x86_64.gz > release_artifacts/pact-csv-plugin-osx-x86_64.gz.sha256 # M1 - export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path) - export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version) cargo build --target aarch64-apple-darwin --release - gzip -c target/aarch64-apple-darwin/release/pact-csv-plugin > target/artifacts/pact-csv-plugin-osx-aarch64.gz - openssl dgst -sha256 -r target/artifacts/pact-csv-plugin-osx-aarch64.gz > target/artifacts/pact-csv-plugin-osx-aarch64.gz.sha256 + gzip -c target/aarch64-apple-darwin/release/pact-csv-plugin > release_artifacts/pact-csv-plugin-osx-aarch64.gz + openssl dgst -sha256 -r release_artifacts/pact-csv-plugin-osx-aarch64.gz > release_artifacts/pact-csv-plugin-osx-aarch64.gz.sha256 ;; *) echo "$1 is not a recognised OS" exit 1 diff --git a/repository/repository.index b/repository/repository.index index 28eef428..21bb7544 100644 --- a/repository/repository.index +++ b/repository/repository.index @@ -1,10 +1,10 @@ -index_version = 22 +index_version = 25 format_version = 0 timestamp = "2023-03-10T05:36:45.725083896Z" [entries.protobuf] name = "protobuf" -latest_version = "0.3.13" +latest_version = "0.3.14" [[entries.protobuf.versions]] version = "0.3.0" @@ -23,8 +23,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] @@ -65,8 +65,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] @@ -107,9 +107,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.2.1" @@ -128,9 +128,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.2.0" @@ -170,9 +170,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.16" @@ -191,9 +191,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.15" @@ -212,9 +212,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] version = "0.1.14" @@ -233,9 +233,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.13" @@ -254,9 +254,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.12" @@ -276,8 +276,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.pluginConfig] hostToBindTo = "127.0.0.1" -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.11" @@ -338,9 +338,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.8" @@ -359,8 +359,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.7" @@ -379,8 +379,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.6" @@ -419,8 +419,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.4" @@ -439,8 +439,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.3" @@ -459,8 +459,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.1.2" @@ -499,8 +499,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.1.0" @@ -559,8 +559,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.0.1" @@ -579,8 +579,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.0.0" @@ -619,8 +619,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] @@ -640,9 +640,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.3" @@ -682,9 +682,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.5" @@ -703,8 +703,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" [[entries.protobuf.versions]] @@ -724,9 +724,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.7" @@ -745,9 +745,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.8" @@ -766,9 +766,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.9" @@ -787,9 +787,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.10" @@ -808,8 +808,8 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" protocVersion = "3.19.1" [[entries.protobuf.versions]] @@ -829,9 +829,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +protocVersion = "3.19.1" hostToBindTo = "127.0.0.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" -protocVersion = "3.19.1" [[entries.protobuf.versions]] version = "0.3.12" @@ -850,9 +850,9 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" -downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" [[entries.protobuf.versions]] version = "0.3.13" @@ -871,13 +871,34 @@ entryPoint = "pact-protobuf-plugin" [entries.protobuf.versions.manifest.entryPoints] [entries.protobuf.versions.manifest.pluginConfig] -hostToBindTo = "127.0.0.1" protocVersion = "3.19.1" downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +hostToBindTo = "127.0.0.1" + +[[entries.protobuf.versions]] +version = "0.3.14" + +[entries.protobuf.versions.source] +type = "GitHubRelease" +value = "https://github.com/YOU54F/pact-protobuf-plugin/releases/tag/v-0.3.14" + +[entries.protobuf.versions.manifest] +pluginInterfaceVersion = 1 +name = "protobuf" +version = "0.3.14" +executableType = "exec" +entryPoint = "pact-protobuf-plugin" + +[entries.protobuf.versions.manifest.entryPoints] + +[entries.protobuf.versions.manifest.pluginConfig] +downloadUrl = "https://github.com/protocolbuffers/protobuf/releases/download" +protocVersion = "3.19.1" +hostToBindTo = "127.0.0.1" [entries.csv] name = "csv" -latest_version = "0.0.5" +latest_version = "0.0.6" [[entries.csv.versions]] version = "0.0.0" @@ -987,6 +1008,46 @@ entryPoint = "pact-csv-plugin" [entries.csv.versions.manifest.pluginConfig] +[[entries.csv.versions]] +version = "0.0.6" + +[entries.csv.versions.source] +type = "GitHubRelease" +value = "https://github.com/YOU54F/pact-plugins/releases/tag/csv-plugin-0.0.6" + +[entries.csv.versions.manifest] +pluginInterfaceVersion = 1 +name = "csv" +version = "0.0.6" +executableType = "exec" +entryPoint = "pact-csv-plugin" + +[entries.csv.versions.manifest.entryPoints] + +[entries.csv.versions.manifest.pluginConfig] + +[entries.matt] +name = "matt" +latest_version = "0.1.1" + +[[entries.matt.versions]] +version = "0.1.1" + +[entries.matt.versions.source] +type = "GitHubRelease" +value = "https://github.com/mefellows/pact-matt-plugin/releases/tag/v0.1.1" + +[entries.matt.versions.manifest] +pluginInterfaceVersion = 1 +name = "matt" +version = "0.1.1" +executableType = "exec" +entryPoint = "matt" + +[entries.matt.versions.manifest.entryPoints] + +[entries.matt.versions.manifest.pluginConfig] + [entries.avro] name = "avro" latest_version = "0.0.4" diff --git a/repository/repository.index.sha256 b/repository/repository.index.sha256 index 1abaa176..60366b43 100644 --- a/repository/repository.index.sha256 +++ b/repository/repository.index.sha256 @@ -1 +1 @@ -bead127283da7f7a647f0cfcf147a023aa1accafda1769879ef970531a46e456 \ No newline at end of file +df8cad2c7d5b6959269478205c14962005144ad716de0c65622d3cb8284b8844 \ No newline at end of file diff --git a/scripts/install-plugin-cli.sh b/scripts/install-plugin-cli.sh index f88e3fc7..d57cc9b6 100755 --- a/scripts/install-plugin-cli.sh +++ b/scripts/install-plugin-cli.sh @@ -3,14 +3,14 @@ set -e set -x -VERSION="0.1.0" +VERSION="0.1.3" mkdir -p ~/bin case "$(uname -s)" in Darwin) echo '== Installing plugin CLI for Mac OSX ==' - if [ "$(uname -m)" == "arm64" ]; then + if [ "$(uname -m)" = "arm64" ]; then curl -L -o ~/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-osx-aarch64.gz else curl -L -o ~/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-osx-x86_64.gz @@ -21,14 +21,22 @@ case "$(uname -s)" in Linux) echo '== Installing plugin CLI for Linux ==' - curl -L -o ~/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-linux-x86_64.gz + if [ "$(uname -m)" = "aarch64" ]; then + curl -L -o ~/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-linux-aarch64.gz + else + curl -L -o ~/bin/pact-plugin-cli.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-linux-x86_64.gz + fi gunzip -N -f ~/bin/pact-plugin-cli.gz chmod +x ~/bin/pact-plugin-cli ;; CYGWIN*|MINGW32*|MSYS*|MINGW*) echo '== Installing plugin CLI for MS Windows ==' - curl -L -o ~/bin/pact-plugin-cli.exe.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-windows-x86_64.exe.gz + if [ "$(uname -m)" = "aarch64" ]; then + curl -L -o ~/bin/pact-plugin-cli.exe.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-windows-aarch64.exe.gz + else + curl -L -o ~/bin/pact-plugin-cli.exe.gz https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${VERSION}/pact-plugin-cli-windows-x86_64.exe.gz + fi gunzip -N -f ~/bin/pact-plugin-cli.exe.gz chmod +x ~/bin/pact-plugin-cli.exe ;;