diff --git a/Makefile b/Makefile index 026dee9..dec18c4 100644 --- a/Makefile +++ b/Makefile @@ -57,7 +57,7 @@ start_demo_gprc_consumer: ruby examples/area_calculator/area_calculator_consumer_run.rb verify_demo_gprc_local: - TEST_COMMAND='pact/verifier/pact_verifier_cli -f examples/area_calculator/pacts/grpc-consumer-ruby-area-calculator-provider.json -p 37757 -l info' \ + TEST_COMMAND='pact/standalone/pact/bin/pact_verifier_cli -f examples/area_calculator/pacts/grpc-consumer-ruby-area-calculator-provider.json -p 37757 -l info' \ make start_server_and_test start_broker: @@ -77,7 +77,7 @@ publish_pacts: verify_demo_gprc_publish_broker: - TEST_COMMAND="pact/verifier/pact_verifier_cli \ + TEST_COMMAND="pact/standalone/pact/bin/pact_verifier_cli \ -f pacts/grpc-consumer-ruby-area-calculator-provider.json \ -p 37757 \ -l info \ @@ -88,7 +88,7 @@ verify_demo_gprc_publish_broker: ./start_server_and_test.sh verify_demo_gprc_fetch_broker: - TEST_COMMAND="pact/verifier/pact_verifier_cli \ + TEST_COMMAND="pact/standalone/pact/bin/pact_verifier_cli \ -p 37757 \ -l debug \ --publish \ diff --git a/lib/pact/ffi/version.rb b/lib/pact/ffi/version.rb index 98832e2..82f6a6b 100644 --- a/lib/pact/ffi/version.rb +++ b/lib/pact/ffi/version.rb @@ -1,5 +1,5 @@ module Pact module Version - VERSION = '0.4.26.0' + VERSION = '0.4.28.0' end end diff --git a/pact-ffi.gemspec b/pact-ffi.gemspec index f7e331a..0a2dd71 100644 --- a/pact-ffi.gemspec +++ b/pact-ffi.gemspec @@ -20,5 +20,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake' spec.add_development_dependency 'rspec', '~> 3.0' spec.add_development_dependency 'webrick', '~> 1.8' + spec.add_development_dependency 'csv' spec.add_dependency 'ffi', '~> 1.15' end diff --git a/script/download-all-libs.sh b/script/download-all-libs.sh index 6ab7751..a94f09b 100755 --- a/script/download-all-libs.sh +++ b/script/download-all-libs.sh @@ -3,6 +3,4 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the . "${SCRIPT_DIR}/lib/export-binary-versions.sh" "${SCRIPT_DIR}/lib/download-ffi.sh" -"${SCRIPT_DIR}/lib/download-standalone.sh" -"${SCRIPT_DIR}/lib/download-plugin-cli.sh" -"${SCRIPT_DIR}/lib/download-verifier-cli.sh" \ No newline at end of file +"${SCRIPT_DIR}/lib/download-standalone.sh" \ No newline at end of file diff --git a/script/download-libs.sh b/script/download-libs.sh index 8fd591c..f91a68c 100755 --- a/script/download-libs.sh +++ b/script/download-libs.sh @@ -3,6 +3,4 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the . "${SCRIPT_DIR}/lib/export-binary-versions.sh" "${SCRIPT_DIR}/lib/download-ffi-only-os-dependant.sh" -"${SCRIPT_DIR}/lib/download-standalone.sh" -"${SCRIPT_DIR}/lib/download-plugin-cli.sh" -"${SCRIPT_DIR}/lib/download-verifier-cli.sh" \ No newline at end of file +"${SCRIPT_DIR}/lib/download-standalone.sh" \ No newline at end of file diff --git a/script/lib/download-ffi-only-os-dependant.sh b/script/lib/download-ffi-only-os-dependant.sh index 06fbcb6..d04458e 100755 --- a/script/lib/download-ffi-only-os-dependant.sh +++ b/script/lib/download-ffi-only-os-dependant.sh @@ -117,7 +117,7 @@ case ${detected_os} in os='win32' ;; *) - echo "Sorry, you'll need to install the pact-ruby-standalone manually." + echo "Sorry, you'll need to install the pact-standalone manually." echo "or add your os to the list" exit 1 ;; diff --git a/script/lib/download-plugin-cli.sh b/script/lib/download-plugin-cli.sh deleted file mode 100755 index 5cf4084..0000000 --- a/script/lib/download-plugin-cli.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -eu -LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the script is running -. "${LIB_DIR}/robust-bash.sh" -. "${LIB_DIR}/download-file.sh" - -require_binary curl -require_binary gunzip - -require_env_var PLUGIN_CLI_VERSION - -BASEURL=https://github.com/pact-foundation/pact-plugins/releases/download -PLUGIN_CLI_DIR="${LIB_DIR}/../../pact/plugin" - -if [[ $(find "${PLUGIN_CLI_DIR}" -name "${PLUGIN_CLI_VERSION}*") ]]; then - log "Skipping download of plugin cli ${PLUGIN_CLI_VERSION}, if it exists" - exit 0 -fi - -warn "Cleaning plugin directory $PLUGIN_CLI_DIR" -rm -rf "${PLUGIN_CLI_DIR:?}" -mkdir -p $PLUGIN_CLI_DIR - -function download_plugin_cli_file { - if [ -z "${1:-}" ]; then - error "${FUNCNAME[0]} requires the filename to download" - exit 1 - fi - if [ -z "${2:-}" ]; then - error "${FUNCNAME[0]} requires the output filename to download" - exit 1 - fi - PLUGIN_CLI_FILENAME="$1" - OUTPUT_FILENAME="$2" - - URL="${BASEURL}/pact-plugin-cli-${PLUGIN_CLI_VERSION}/${PLUGIN_CLI_FILENAME}" - DOWNLOAD_LOCATION="$PLUGIN_CLI_DIR/${OUTPUT_FILENAME}" - - log "Downloading plugin cli $PLUGIN_CLI_VERSION for $PLUGIN_CLI_FILENAME" - download_to "$URL" "$DOWNLOAD_LOCATION" - log " ... downloaded to '$DOWNLOAD_LOCATION'" -} - -function download_plugin_cli { - if [ -z "${1:-}" ]; then - error "${FUNCNAME[0]} requires the environment filename suffix" - exit 1 - fi - SUFFIX="$1" - PREFIX="${2:-}" - OUTPUT_FILENAME="${3:-}" - OS="${4:-}" - log "${PREFIX}pact-ffi-$SUFFIX" "${OUTPUT_FILENAME}" - - download_plugin_cli_file "${PREFIX}pact-plugin-cli-$SUFFIX" "${OUTPUT_FILENAME}" - log " ... unzipping '$DOWNLOAD_LOCATION'" - gunzip "${DOWNLOAD_LOCATION}" - - - case ${OS} in - win32) - "$PLUGIN_CLI_DIR"/pact-plugin-cli.exe --help - ;; - *) - chmod +x "$PLUGIN_CLI_DIR"/pact-plugin-cli - "$PLUGIN_CLI_DIR"/pact-plugin-cli --help - ;; - esac - -} - -detected_os=$(uname -sm) -echo detected_os = $detected_os -case ${detected_os} in -'Darwin arm64') - echo "downloading of osx aarch64 plugin cli" - os='macos-aarch64' - download_plugin_cli "macos-aarch64.gz" "" "pact-plugin-cli.gz" "${os}" - ;; -'Darwin x86' | 'Darwin x86_64' | "Darwin"*) - echo "downloading of osx x86_64 plugin cli" - os='macos-x86_64' - download_plugin_cli "macos-x86_64.gz" "" "pact-plugin-cli.gz" "${os}" - ;; -"Linux aarch64"* | "Linux arm64"*) - echo "downloading of linux aarch64 plugin cli" - os='linux-aarch64' - download_plugin_cli "linux-aarch64.gz" "" "pact-plugin-cli.gz" "${os}" - ;; -'Linux x86_64' | "Linux"*) - echo "downloading of linux x86_64 plugin cli" - os='linux-x86_64' - download_plugin_cli "linux-x86_64.gz" "" "pact-plugin-cli.gz" "${os}" - ;; -"Windows"* | "MINGW64"*) - echo "downloading of windows x86_64 plugin cli" - os='win32' - download_plugin_cli "windows-x86_64.exe.gz" "" "pact-plugin-cli.exe.gz" "${os}" - ;; - *) - echo "Sorry, you'll need to install the plugin cli manually." - echo "or add your os to the list" - exit 1 - ;; -esac - - -# Write readme in the plugin folder -cat << EOF > "$PLUGIN_CLI_DIR/README.md" -# Pact plugin cli - -This folder is automatically populated during build by /script/download-plugin-cli.sh -EOF diff --git a/script/lib/download-standalone.sh b/script/lib/download-standalone.sh index 9390166..60ce46d 100755 --- a/script/lib/download-standalone.sh +++ b/script/lib/download-standalone.sh @@ -7,7 +7,7 @@ require_binary curl require_binary unzip require_env_var STANDALONE_VERSION -BASEURL=https://github.com/pact-foundation/pact-ruby-standalone/releases/download +BASEURL=https://github.com/pact-foundation/pact-standalone/releases/download STANDALONE_DIR="${LIB_DIR}/../../pact/standalone" function download_standalone { @@ -71,7 +71,7 @@ case ${detected_os} in download_standalone "pact-${STANDALONE_VERSION}-windows-x86_64.zip" "windows-x64-${STANDALONE_VERSION}.zip" ;; *) - echo "Sorry, you'll need to install the pact-ruby-standalone manually." + echo "Sorry, you'll need to install the pact-standalone manually." echo "or add your os to the list" exit 1 ;; diff --git a/script/lib/download-verifier-cli.sh b/script/lib/download-verifier-cli.sh deleted file mode 100755 index c341c68..0000000 --- a/script/lib/download-verifier-cli.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -eu -LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the script is running -. "${LIB_DIR}/robust-bash.sh" -. "${LIB_DIR}/download-file.sh" - -require_binary curl -require_binary gunzip - -require_env_var VERIFIER_CLI_VERSION - -BASEURL=https://github.com/pact-foundation/pact-reference/releases/download -VERIFIER_CLI_DIR="${LIB_DIR}/../../pact/verifier" - -if [[ $(find "${VERIFIER_CLI_DIR}" -name "${VERIFIER_CLI_VERSION}*") ]]; then - log "Skipping download of verifier cli ${VERIFIER_CLI_VERSION}, if it exists" - exit 0 -fi - -warn "Cleaning verifier directory $VERIFIER_CLI_DIR" -rm -rf "${VERIFIER_CLI_DIR:?}" -mkdir -p $VERIFIER_CLI_DIR - -function download_verifier_cli_file { - if [ -z "${1:-}" ]; then - error "${FUNCNAME[0]} requires the filename to download" - exit 1 - fi - if [ -z "${2:-}" ]; then - error "${FUNCNAME[0]} requires the output filename to download" - exit 1 - fi - VERIFIER_CLI_FILENAME="$1" - OUTPUT_FILENAME="$2" - - URL="${BASEURL}/pact_verifier_cli-${VERIFIER_CLI_VERSION}/${VERIFIER_CLI_FILENAME}" - DOWNLOAD_LOCATION="$VERIFIER_CLI_DIR/${OUTPUT_FILENAME}" - - log "Downloading verifier cli $VERIFIER_CLI_VERSION for $VERIFIER_CLI_FILENAME" - download_to "$URL" "$DOWNLOAD_LOCATION" - log " ... downloaded to '$DOWNLOAD_LOCATION'" -} - -function download_verifier_cli { - if [ -z "${1:-}" ]; then - error "${FUNCNAME[0]} requires the environment filename suffix" - exit 1 - fi - SUFFIX="$1" - PREFIX="${2:-}" - OUTPUT_FILENAME="${3:-}" - OS="${4:-}" - log "${PREFIX}pact-ffi-$SUFFIX" "${OUTPUT_FILENAME}" - - download_verifier_cli_file "${PREFIX}pact_verifier_cli-$SUFFIX" "${OUTPUT_FILENAME}" - log " ... unzipping '$DOWNLOAD_LOCATION'" - gunzip "${DOWNLOAD_LOCATION}" - - - case ${OS} in - win32) - "$VERIFIER_CLI_DIR"/pact_verifier_cli.exe --help - ;; - *) - chmod +x "$VERIFIER_CLI_DIR"/pact_verifier_cli - "$VERIFIER_CLI_DIR"/pact_verifier_cli --help - ;; - esac - -} - -detected_os=$(uname -sm) -echo detected_os = $detected_os -case ${detected_os} in -'Darwin arm64') - echo "downloading of osx aarch64 verifier cli" - os='macos-aarch64' - download_verifier_cli "macos-aarch64.gz" "" "pact_verifier_cli.gz" "${os}" - ;; -'Darwin x86' | 'Darwin x86_64' | "Darwin"*) - echo "downloading of osx x86_64 verifier cli" - os='macos-x86_64' - download_verifier_cli "macos-x86_64.gz" "" "pact_verifier_cli.gz" "${os}" - ;; -"Linux aarch64"* | "Linux arm64"*) - echo "downloading of linux aarch64 verifier cli" - os='linux-aarch64' - download_verifier_cli "linux-aarch64.gz" "" "pact_verifier_cli.gz" "${os}" - ;; -'Linux x86_64' | "Linux"*) - echo "downloading of linux x86_64 verifier cli" - os='linux-x86_64' - download_verifier_cli "linux-x86_64.gz" "" "pact_verifier_cli.gz" "${os}" - ;; -"Windows"* | "MINGW64"*) - echo "downloading of windows x86_64 verifier cli" - os='win32' - download_verifier_cli "windows-x86_64.exe.gz" "" "pact_verifier_cli.exe.gz" "${os}" - ;; - *) - echo "Sorry, you'll need to install the pact-ruby-standalone manually." - echo "or add your os to the list" - exit 1 - ;; -esac - - -# Write readme in the verifier folder -cat << EOF > "$VERIFIER_CLI_DIR/README.md" -# Pact verifier cli - -This folder is automatically populated during build by /script/download-verifier-cli.sh -EOF diff --git a/script/lib/export-binary-versions.sh b/script/lib/export-binary-versions.sh index ea131d3..2306955 100755 --- a/script/lib/export-binary-versions.sh +++ b/script/lib/export-binary-versions.sh @@ -1,9 +1,5 @@ #!/bin/bash -eu LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the script is running PROJECT_DIR="${LIB_DIR}"/../../ -export FFI_VERSION=v0.4.26 -export STANDALONE_VERSION=2.4.20 -export PLUGIN_CLI_VERSION=v0.1.3 -export VERIFIER_CLI_VERSION=v1.1.4 -# export STANDALONE_VERSION=$(grep "PACT_STANDALONE_VERSION = '" "$PROJECT_DIR"/standalone/install.ts | grep -E -o "'(.*)'" | cut -d"'" -f2) -# export FFI_VERSION=v$(grep "PACT_FFI_VERSION = '" "$PROJECT_DIR"/src/ffi/index.ts | grep -E -o "'(.*)'" | cut -d"'" -f2) \ No newline at end of file +export FFI_VERSION=v0.4.28 +export STANDALONE_VERSION=2.5.2 \ No newline at end of file