From 80dc4e4f95c141b1b6641ce96c6052f012c32d11 Mon Sep 17 00:00:00 2001 From: Jay Patel Date: Thu, 12 May 2016 16:00:38 -0500 Subject: [PATCH] Added Releasinator. Preparing for 1.7.2 --- .github/ISSUE_TEMPLATE.md | 8 +++ .releasinator.rb | 60 ++++++++++++++++++++ CONTRIBUTING.md | 7 +++ release_notes.md => Changelog.md | 87 +++++++++++++++++------------ Gemfile | 3 + Gemfile.lock | 37 ++++++++++++ LICENSE.txt => LICENSE | 0 README.md | 7 +++ Rakefile | 2 + lib/PayPal/Core/PayPalConstants.php | 2 +- 10 files changed, 175 insertions(+), 38 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .releasinator.rb create mode 100644 CONTRIBUTING.md rename release_notes.md => Changelog.md (95%) create mode 100644 Gemfile create mode 100644 Gemfile.lock rename LICENSE.txt => LICENSE (100%) create mode 100644 Rakefile diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..c758178 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,8 @@ +### Required Information + +- PHP Version: +- PayPal-PHP-SDK Version: +- Debug ID(s): + +### Issue Description +> Please include as many details (logs, steps to reproduce) as you can to help us reproduce this issue faster. diff --git a/.releasinator.rb b/.releasinator.rb new file mode 100644 index 0000000..1f85ad0 --- /dev/null +++ b/.releasinator.rb @@ -0,0 +1,60 @@ +#### releasinator config #### +configatron.product_name = "PayPal-PHP-SDK" + +# List of items to confirm from the person releasing. Required, but empty list is ok. +configatron.prerelease_checklist_items = [ + "Sanity check the master branch." +] + +def validate_version_match() + if constant_version() != @current_release.version + Printer.fail("lib/PayPal/Core/PayPalConstants.php version #{constant_version} does not match changelog version #{@current_release.version}.") + abort() + end + Printer.success("Plugin.xml version #{constant_version} matches latest changelog version.") +end + +def validate_tests() + CommandProcessor.command("vendor/bin/phpunit", live_output=true) + CommandProcessor.command("vendor/bin/phpunit -c phpunit.integration.xml", live_output=true) +end + +configatron.custom_validation_methods = [ + method(:validate_version_match), + method(:validate_tests) +] + +# there are no separate build steps for card.io-Cordova-Plugin, so it is just empty method +def build_method +end + +# The command that builds the sdk. Required. +configatron.build_method = method(:build_method) + +def publish_to_package_manager(version) + CommandProcessor.command("npm publish .") +end + +# The method that publishes the sdk to the package manager. Required. +configatron.publish_to_package_manager_method = method(:publish_to_package_manager) + + +def wait_for_package_manager(version) + CommandProcessor.wait_for("wget -U \"non-empty-user-agent\" -qO- https://www.npmjs.com/package/card.io.cordova.mobilesdk | grep #{@current_release.version} | cat") +end + +# The method that waits for the package manager to be done. Required +configatron.wait_for_package_manager_method = method(:wait_for_package_manager) + +# Whether to publish the root repo to GitHub. Required. +configatron.release_to_github = true + +def constant_version() + f=File.open("lib/PayPal/Core/PayPalConstants.php", 'r') do |f| + f.each_line do |line| + if line.match (/SDK_VERSION = \'\d*\.\d*\.\d*\'/) # SDK_VERSION = '1.7.1' + return line.strip.split('= ')[1].strip.split('\'')[1] + end + end + end +end diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6c59fb3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,7 @@ +## Contributing + +* If you find solution to an [issue/improvements](https://github.com/paypal/PayPal-PHP-SDK/issues) in sdk that would be helpful to everyone, feel free to send us a pull request. +* The best help we could get from everyone is in writing more and more samples. We have a limited set of samples, and would appreciate if the community can help us write more and more of those, covering corner cases, that may be extremely useful to anyone using this SDK. +* The ideal approach to create a fix would be to fork the repository, create a branch in your repository, and make a pull request out of it. +* It is desirable if there is enough comments/documentation and Tests included in the pull request. +* For general idea of contribution, please follow the guidelines mentioned [here](https://guides.github.com/activities/contributing-to-open-source/). \ No newline at end of file diff --git a/release_notes.md b/Changelog.md similarity index 95% rename from release_notes.md rename to Changelog.md index c1bd5e3..aaae352 100644 --- a/release_notes.md +++ b/Changelog.md @@ -1,78 +1,83 @@ PayPal PHP SDK release notes ============================ -v1.7.1 +1.7.2 +---- +* Vault API updates +* Fixes #575 + +1.7.1 ---- * Fixes #559 -v1.7.0 +1.7.0 ---- * Enable custom logger injection. * Minor bug fixes. -v1.6.4 +1.6.4 ---- * SSL Connect Error Fix * Fixes #474 -v1.6.3 +1.6.3 ---- * Fixes Continue 100 Header * Minor Bug Fixes #452 -v1.6.2 +1.6.2 ---- * TLS Check Sample Added * Updated README -v1.6.1 +1.6.1 ---- * User Agent Changes * SDK Version Fix -v1.6.0 +1.6.0 ---- * Updated Payments API to latest version * Removed ModelAccessValidator * Minor Bug Fixes #399 -v1.5.1 +1.5.1 ---- * Fixed a bug #343 in Future Payment * Minor Improvements * Updates to Sample Docs -v1.5.0 +1.5.0 ---- * Enabled Vault List API * Added More Fields to Vault Credit Card Object * Minor Fixes -v1.4.0 +1.4.0 ---- * Ability to validate Webhook * Fixes to Logging Manager to skip if mode is not set * SDK updates and fixes -v1.3.2 +1.3.2 ---- * Minor Fix for Agreement Details -v1.3.1 +1.3.1 ---- * PayPalModel to differentiate between empty objects and array * Fixed CURLINFO_HEADER_SIZE miscalculations if Proxy Enabled -v1.3.0 +1.3.0 ---- * Updated Payment APIs * Updating ModelAccessValidator to be disabled if not set explicitly -v1.2.1 +1.2.1 ---- * Ability to handle missing accessors for unknown objects in json -v1.2.0 +1.2.0 ---- * Order API Support * Introduced DEBUG mode in Logging. Deprecated FINE. @@ -81,11 +86,11 @@ v1.2.0 * Transaction Fee Added in Sale Object * Fixed #237, #234, #233, #215 -v1.1.1 +1.1.1 ---- * Fix to Cipher Encryption (Critical) -v1.1.0 +1.1.0 ---- * Enabled Payouts Cancel API Support for Unclaimed Payouts * Encrypting Access Token in Cached Storage @@ -93,7 +98,7 @@ v1.1.0 * Updated OAuthToken to throw proper error on not receiving access token * Minor Bug Fixes and Documentation Updates -v1.0.0 +1.0.0 ---- * Enabled Payouts API Support * Authorization Cache Custom Path Directory Configuration @@ -133,77 +138,77 @@ v1.0.0 * PayPal\Api\Invoice->getPaymentDetails() was renamed to getPayments() * PayPal\Api\Invoice->getRefundDetails() was renamed to getRefunds() -v1.0.0-beta +1.0.0-beta ---- * Namespace Changes and Class Naming Convention * Helper Functions to retrieve specific HATEOS Links * Default Mode set to Sandbox -v0.16.1 +0.16.1 ---- * Configurable Headers for all requests to PayPal * Allows adding additional headers to every call to PayPal APIs * SDK Config to add headers with http.headers.* syntax -v0.16.0 +0.16.0 ---- * Enabled Webhook Management Capabilities * Enabled Caching Abilities for Access Tokens -v0.15.1 +0.15.1 ---- * Enabled Deleting Billing Plans * Updated Samples -v0.15.0 +0.15.0 ---- * Extended Invoicing Capabilities * Allows QR Code Generation for Invoices * Updated Formatter to work with multiple locales * Removed Future Payments mandate on Correlation Id -v0.14.2 +0.14.2 ---- * Quick Patch to Unset Cipher List for NSS -v0.14.1 +0.14.1 ---- * Updated HttpConfig to use TLSv1 as Cipher List * Added resetRequestId in ApiContext to enable multiple create calls in succession * Sanitize Input for Price Variables * Made samples look better and work best -v0.14.0 +0.14.0 ---- * Enabled Billing Plans and Agreements APIs * Renamed SDK name to PayPal-PHP-SDK -v0.13.2 +0.13.2 ---- * Updated Future Payments and LIPP Support * Updated Logging Syntax -v0.13.1 +0.13.1 ---- * Enabled TLS version 1.x for SSL Negotiation * Updated Identity Support from SDK Core * Fixed Backward Compatibility changes -v0.13.0 +0.13.0 ---- * Enabled Payment Experience -v0.12.0 +0.12.0 ---- * Enabled EC Parameters Support for Payment APIs * Enabled Validation for Missing Accessors -v0.11.1 +0.11.1 ---- * Removed Dependency from SDK Core Project * Enabled Future Payments -v0.11.0 +0.11.0 ---- * Ability for PUT and PATCH requests * Invoice number, custom and soft descriptor @@ -215,25 +220,33 @@ v0.11.0 * Validate return cancel url * type hinting, comment cleaning, and getters and setters for Shipping -v0.8.0 +0.10.0 +----- +* N/A + +0.9.0 +----- +* N/A + +0.8.0 ----- * Invoicing API support added -v0.7.1 +0.7.1 ----- * Added support for Reauthorization -v0.7.0 +0.7.0 ----- * Added support for Auth and Capture APIs * Types modified to match the API Spec * Updated SDK to use namespace supported core library -v0.6.0 +0.6.0 ----- * Adding support for dynamic configuration of SDK (Upgrading sdk-core-php dependency to V1.4.0) * Deprecating the setCredential method and changing resource class methods to take an ApiContext argument instead of a OauthTokenCredential argument. -v0.5.0 +0.5.0 ----- * Initial Release diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..f597214 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'releasinator', '~> 0.3' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..799e2a9 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,37 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.4.0) + colorize (0.7.7) + configatron (4.5.0) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + github-markup (1.4.0) + json (1.8.3) + multipart-post (2.0.0) + octokit (4.3.0) + sawyer (~> 0.7.0, >= 0.5.3) + redcarpet (3.3.4) + releasinator (0.3.3) + colorize (~> 0.7) + configatron (~> 4.5) + json (~> 1.8) + octokit (~> 4.0) + semantic (~> 1.4) + vandamme (~> 0.0.11) + sawyer (0.7.0) + addressable (>= 2.3.5, < 2.5) + faraday (~> 0.8, < 0.10) + semantic (1.4.1) + vandamme (0.0.11) + github-markup (~> 1.3) + redcarpet (~> 3.3.2) + +PLATFORMS + ruby + +DEPENDENCIES + releasinator (~> 0.3) + +BUNDLED WITH + 1.12.3 diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/README.md b/README.md index d0a0885..83af0b1 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,13 @@ __Welcome to PayPal PHP SDK__. This repository contains PayPal's PHP SDK and sam - PHP 5.3 or above - [curl](http://php.net/manual/en/book.curl.php), [json](http://php.net/manual/en/book.json.php) & [openssl](http://php.net/manual/en/book.openssl.php) extensions must be enabled +## License + +Read [License](LICENSE) for more licensing information. + +## Contributing + +Read [here](CONTRIBUTING.md) for more information. ## More help * [Going Live](https://github.com/paypal/PayPal-PHP-SDK/wiki/Going-Live) diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..33a443c --- /dev/null +++ b/Rakefile @@ -0,0 +1,2 @@ +spec = Gem::Specification.find_by_name 'releasinator' +load "#{spec.gem_dir}/lib/tasks/releasinator.rake" diff --git a/lib/PayPal/Core/PayPalConstants.php b/lib/PayPal/Core/PayPalConstants.php index 5448e8f..a85c56c 100644 --- a/lib/PayPal/Core/PayPalConstants.php +++ b/lib/PayPal/Core/PayPalConstants.php @@ -12,7 +12,7 @@ class PayPalConstants { const SDK_NAME = 'PayPal-PHP-SDK'; - const SDK_VERSION = '1.7.1'; + const SDK_VERSION = '1.7.2'; /** * Approval URL for Payment