From d588de2cb570d657b099eb99d39fa5654862fc44 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:37:35 +0530 Subject: [PATCH 01/12] adds step in the pipeline --- .github/workflows/build-lint-test.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 817ae935..85b9ba73 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -29,4 +29,13 @@ jobs: - name: Validate PHP Syntax run: find . -path ./vendor -prune -o -name "*.php" -exec php -l {} \; > /dev/null || exit 1 + working-directory: xero-php-oauth2 + + - name: Check for Vulnerabilities + run: | + composer audit || exit 1 + working-directory: xero-php-oauth2 + + - name: Check for Outdated Packages + run: composer outdated working-directory: xero-php-oauth2 \ No newline at end of file From dcbefd41f1f46c4b801bd8516b0e9b287da58ca1 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:39:06 +0530 Subject: [PATCH 02/12] removed exit code for testing --- .github/workflows/build-lint-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 85b9ba73..6b05c38f 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -33,7 +33,7 @@ jobs: - name: Check for Vulnerabilities run: | - composer audit || exit 1 + composer audit working-directory: xero-php-oauth2 - name: Check for Outdated Packages From 885b4309f38926eb7baa144ede163739a0fa4d4f Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:41:11 +0530 Subject: [PATCH 03/12] re-ordered workflows --- .github/workflows/build-lint-test.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 6b05c38f..c100d74a 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -27,15 +27,14 @@ jobs: run: composer install working-directory: xero-php-oauth2 - - name: Validate PHP Syntax - run: find . -path ./vendor -prune -o -name "*.php" -exec php -l {} \; > /dev/null || exit 1 + - name: Check for Outdated Packages + run: composer outdated working-directory: xero-php-oauth2 - name: Check for Vulnerabilities - run: | - composer audit + run: composer audit working-directory: xero-php-oauth2 - - name: Check for Outdated Packages - run: composer outdated + - name: Validate PHP Syntax + run: find . -path ./vendor -prune -o -name "*.php" -exec php -l {} \; > /dev/null || exit 1 working-directory: xero-php-oauth2 \ No newline at end of file From edd0523099501799713b9336324ca76480a9046d Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:42:18 +0530 Subject: [PATCH 04/12] final order --- .github/workflows/build-lint-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index c100d74a..6a0fe576 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -27,14 +27,14 @@ jobs: run: composer install working-directory: xero-php-oauth2 - - name: Check for Outdated Packages - run: composer outdated - working-directory: xero-php-oauth2 - - name: Check for Vulnerabilities run: composer audit working-directory: xero-php-oauth2 + - name: Check for Outdated Packages + run: composer outdated + working-directory: xero-php-oauth2 + - name: Validate PHP Syntax run: find . -path ./vendor -prune -o -name "*.php" -exec php -l {} \; > /dev/null || exit 1 working-directory: xero-php-oauth2 \ No newline at end of file From 0302af6fdf63d7dcee2ce6fffe348b779e5ac943 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:43:20 +0530 Subject: [PATCH 05/12] upgrade package versions --- composer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index d9c292ee..d5932ae0 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.6", + "php": ">=8.0", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", @@ -27,9 +27,9 @@ "firebase/php-jwt": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^4.8", - "squizlabs/php_codesniffer": "~2.6", - "friendsofphp/php-cs-fixer": "~2.12" + "phpunit/phpunit": "^11.4", + "squizlabs/php_codesniffer": "^3.10", + "friendsofphp/php-cs-fixer": "^3.60" }, "autoload": { "psr-4": { "XeroAPI\\XeroPHP\\" : "lib/" } From 4d5e089d74d9a464cbbd90b1c276f6ca9176f4e1 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 10:52:33 +0530 Subject: [PATCH 06/12] removed empty test case files --- composer.json | 1 - test/Api/AccountingApiTest.php | 1973 ---------------------- test/Api/IdentityApiTest.php | 93 - test/Model/AccessTokenTest.php | 113 -- test/Model/AccountTest.php | 211 --- test/Model/AccountTypeTest.php | 78 - test/Model/AccountsPayableTest.php | 92 - test/Model/AccountsReceivableTest.php | 92 - test/Model/AccountsTest.php | 85 - test/Model/AddressTest.php | 148 -- test/Model/AllocationTest.php | 99 -- test/Model/AllocationsTest.php | 85 - test/Model/AttachmentTest.php | 120 -- test/Model/AttachmentsTest.php | 85 - test/Model/BalancesTest.php | 92 - test/Model/BankTransactionTest.php | 232 --- test/Model/BankTransactionsTest.php | 85 - test/Model/BankTransferTest.php | 155 -- test/Model/BankTransfersTest.php | 85 - test/Model/BatchPaymentDetailsTest.php | 113 -- test/Model/BatchPaymentTest.php | 190 --- test/Model/BatchPaymentsTest.php | 85 - test/Model/BillTest.php | 92 - test/Model/BrandingThemeTest.php | 106 -- test/Model/BrandingThemesTest.php | 85 - test/Model/CISOrgSettingTest.php | 99 -- test/Model/CISSettingTest.php | 92 - test/Model/CISSettingsTest.php | 85 - test/Model/ConnectionTest.php | 99 -- test/Model/ContactGroupTest.php | 106 -- test/Model/ContactGroupsTest.php | 85 - test/Model/ContactPersonTest.php | 106 -- test/Model/ContactTest.php | 344 ---- test/Model/ContactsTest.php | 85 - test/Model/CountryCodeTest.php | 78 - test/Model/CreditNoteTest.php | 239 --- test/Model/CreditNotesTest.php | 85 - test/Model/CurrenciesTest.php | 85 - test/Model/CurrencyCodeTest.php | 78 - test/Model/CurrencyTest.php | 92 - test/Model/ElementTest.php | 85 - test/Model/EmployeeTest.php | 120 -- test/Model/EmployeesTest.php | 85 - test/Model/ErrorTest.php | 106 -- test/Model/ExpenseClaimTest.php | 162 -- test/Model/ExpenseClaimsTest.php | 85 - test/Model/ExternalLinkTest.php | 99 -- test/Model/HistoryRecordTest.php | 106 -- test/Model/HistoryRecordsTest.php | 85 - test/Model/InvoiceReminderTest.php | 85 - test/Model/InvoiceRemindersTest.php | 85 - test/Model/InvoiceTest.php | 330 ---- test/Model/InvoicesTest.php | 85 - test/Model/ItemTest.php | 183 -- test/Model/ItemsTest.php | 85 - test/Model/JournalLineTest.php | 162 -- test/Model/JournalTest.php | 134 -- test/Model/JournalsTest.php | 85 - test/Model/LineAmountTypesTest.php | 78 - test/Model/LineItemTest.php | 162 -- test/Model/LineItemTrackingTest.php | 99 -- test/Model/LinkedTransactionTest.php | 155 -- test/Model/LinkedTransactionsTest.php | 85 - test/Model/ManualJournalLineTest.php | 127 -- test/Model/ManualJournalTest.php | 169 -- test/Model/ManualJournalsTest.php | 85 - test/Model/OnlineInvoiceTest.php | 85 - test/Model/OnlineInvoicesTest.php | 85 - test/Model/OrganisationTest.php | 302 ---- test/Model/OrganisationsTest.php | 85 - test/Model/OverpaymentTest.php | 204 --- test/Model/OverpaymentsTest.php | 85 - test/Model/PaymentServiceTest.php | 120 -- test/Model/PaymentServicesTest.php | 85 - test/Model/PaymentTermTest.php | 92 - test/Model/PaymentTermTypeTest.php | 78 - test/Model/PaymentTest.php | 239 --- test/Model/PaymentsTest.php | 85 - test/Model/PhoneTest.php | 106 -- test/Model/PrepaymentTest.php | 197 --- test/Model/PrepaymentsTest.php | 85 - test/Model/PurchaseOrderTest.php | 274 --- test/Model/PurchaseOrdersTest.php | 85 - test/Model/PurchaseTest.php | 106 -- test/Model/ReceiptTest.php | 197 --- test/Model/ReceiptsTest.php | 85 - test/Model/RefreshTokenTest.php | 106 -- test/Model/RepeatingInvoiceTest.php | 190 --- test/Model/RepeatingInvoicesTest.php | 85 - test/Model/ReportAttributeTest.php | 92 - test/Model/ReportCellTest.php | 92 - test/Model/ReportFieldsTest.php | 99 -- test/Model/ReportRowTest.php | 99 -- test/Model/ReportRowsTest.php | 106 -- test/Model/ReportTest.php | 127 -- test/Model/ReportWithRowTest.php | 141 -- test/Model/ReportWithRowsTest.php | 85 - test/Model/ReportsTest.php | 85 - test/Model/RequestEmptyTest.php | 85 - test/Model/RowTypeTest.php | 78 - test/Model/SalesTrackingCategoryTest.php | 92 - test/Model/ScheduleTest.php | 127 -- test/Model/TaxComponentTest.php | 106 -- test/Model/TaxRateTest.php | 162 -- test/Model/TaxRatesTest.php | 85 - test/Model/TaxTypeTest.php | 78 - test/Model/TenNinteyNineContactTest.php | 232 --- test/Model/TimeZoneTest.php | 78 - test/Model/TrackingCategoriesTest.php | 85 - test/Model/TrackingCategoryTest.php | 120 -- test/Model/TrackingOptionTest.php | 106 -- test/Model/TrackingOptionsTest.php | 85 - test/Model/UserTest.php | 127 -- test/Model/UsersTest.php | 85 - test/Model/ValidationErrorTest.php | 85 - 115 files changed, 15283 deletions(-) delete mode 100644 test/Api/AccountingApiTest.php delete mode 100644 test/Api/IdentityApiTest.php delete mode 100644 test/Model/AccessTokenTest.php delete mode 100644 test/Model/AccountTest.php delete mode 100644 test/Model/AccountTypeTest.php delete mode 100644 test/Model/AccountsPayableTest.php delete mode 100644 test/Model/AccountsReceivableTest.php delete mode 100644 test/Model/AccountsTest.php delete mode 100644 test/Model/AddressTest.php delete mode 100644 test/Model/AllocationTest.php delete mode 100644 test/Model/AllocationsTest.php delete mode 100644 test/Model/AttachmentTest.php delete mode 100644 test/Model/AttachmentsTest.php delete mode 100644 test/Model/BalancesTest.php delete mode 100644 test/Model/BankTransactionTest.php delete mode 100644 test/Model/BankTransactionsTest.php delete mode 100644 test/Model/BankTransferTest.php delete mode 100644 test/Model/BankTransfersTest.php delete mode 100644 test/Model/BatchPaymentDetailsTest.php delete mode 100644 test/Model/BatchPaymentTest.php delete mode 100644 test/Model/BatchPaymentsTest.php delete mode 100644 test/Model/BillTest.php delete mode 100644 test/Model/BrandingThemeTest.php delete mode 100644 test/Model/BrandingThemesTest.php delete mode 100644 test/Model/CISOrgSettingTest.php delete mode 100644 test/Model/CISSettingTest.php delete mode 100644 test/Model/CISSettingsTest.php delete mode 100644 test/Model/ConnectionTest.php delete mode 100644 test/Model/ContactGroupTest.php delete mode 100644 test/Model/ContactGroupsTest.php delete mode 100644 test/Model/ContactPersonTest.php delete mode 100644 test/Model/ContactTest.php delete mode 100644 test/Model/ContactsTest.php delete mode 100644 test/Model/CountryCodeTest.php delete mode 100644 test/Model/CreditNoteTest.php delete mode 100644 test/Model/CreditNotesTest.php delete mode 100644 test/Model/CurrenciesTest.php delete mode 100644 test/Model/CurrencyCodeTest.php delete mode 100644 test/Model/CurrencyTest.php delete mode 100644 test/Model/ElementTest.php delete mode 100644 test/Model/EmployeeTest.php delete mode 100644 test/Model/EmployeesTest.php delete mode 100644 test/Model/ErrorTest.php delete mode 100644 test/Model/ExpenseClaimTest.php delete mode 100644 test/Model/ExpenseClaimsTest.php delete mode 100644 test/Model/ExternalLinkTest.php delete mode 100644 test/Model/HistoryRecordTest.php delete mode 100644 test/Model/HistoryRecordsTest.php delete mode 100644 test/Model/InvoiceReminderTest.php delete mode 100644 test/Model/InvoiceRemindersTest.php delete mode 100644 test/Model/InvoiceTest.php delete mode 100644 test/Model/InvoicesTest.php delete mode 100644 test/Model/ItemTest.php delete mode 100644 test/Model/ItemsTest.php delete mode 100644 test/Model/JournalLineTest.php delete mode 100644 test/Model/JournalTest.php delete mode 100644 test/Model/JournalsTest.php delete mode 100644 test/Model/LineAmountTypesTest.php delete mode 100644 test/Model/LineItemTest.php delete mode 100644 test/Model/LineItemTrackingTest.php delete mode 100644 test/Model/LinkedTransactionTest.php delete mode 100644 test/Model/LinkedTransactionsTest.php delete mode 100644 test/Model/ManualJournalLineTest.php delete mode 100644 test/Model/ManualJournalTest.php delete mode 100644 test/Model/ManualJournalsTest.php delete mode 100644 test/Model/OnlineInvoiceTest.php delete mode 100644 test/Model/OnlineInvoicesTest.php delete mode 100644 test/Model/OrganisationTest.php delete mode 100644 test/Model/OrganisationsTest.php delete mode 100644 test/Model/OverpaymentTest.php delete mode 100644 test/Model/OverpaymentsTest.php delete mode 100644 test/Model/PaymentServiceTest.php delete mode 100644 test/Model/PaymentServicesTest.php delete mode 100644 test/Model/PaymentTermTest.php delete mode 100644 test/Model/PaymentTermTypeTest.php delete mode 100644 test/Model/PaymentTest.php delete mode 100644 test/Model/PaymentsTest.php delete mode 100644 test/Model/PhoneTest.php delete mode 100644 test/Model/PrepaymentTest.php delete mode 100644 test/Model/PrepaymentsTest.php delete mode 100644 test/Model/PurchaseOrderTest.php delete mode 100644 test/Model/PurchaseOrdersTest.php delete mode 100644 test/Model/PurchaseTest.php delete mode 100644 test/Model/ReceiptTest.php delete mode 100644 test/Model/ReceiptsTest.php delete mode 100644 test/Model/RefreshTokenTest.php delete mode 100644 test/Model/RepeatingInvoiceTest.php delete mode 100644 test/Model/RepeatingInvoicesTest.php delete mode 100644 test/Model/ReportAttributeTest.php delete mode 100644 test/Model/ReportCellTest.php delete mode 100644 test/Model/ReportFieldsTest.php delete mode 100644 test/Model/ReportRowTest.php delete mode 100644 test/Model/ReportRowsTest.php delete mode 100644 test/Model/ReportTest.php delete mode 100644 test/Model/ReportWithRowTest.php delete mode 100644 test/Model/ReportWithRowsTest.php delete mode 100644 test/Model/ReportsTest.php delete mode 100644 test/Model/RequestEmptyTest.php delete mode 100644 test/Model/RowTypeTest.php delete mode 100644 test/Model/SalesTrackingCategoryTest.php delete mode 100644 test/Model/ScheduleTest.php delete mode 100644 test/Model/TaxComponentTest.php delete mode 100644 test/Model/TaxRateTest.php delete mode 100644 test/Model/TaxRatesTest.php delete mode 100644 test/Model/TaxTypeTest.php delete mode 100644 test/Model/TenNinteyNineContactTest.php delete mode 100644 test/Model/TimeZoneTest.php delete mode 100644 test/Model/TrackingCategoriesTest.php delete mode 100644 test/Model/TrackingCategoryTest.php delete mode 100644 test/Model/TrackingOptionTest.php delete mode 100644 test/Model/TrackingOptionsTest.php delete mode 100644 test/Model/UserTest.php delete mode 100644 test/Model/UsersTest.php delete mode 100644 test/Model/ValidationErrorTest.php diff --git a/composer.json b/composer.json index d5932ae0..39729fdf 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,6 @@ "firebase/php-jwt": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^11.4", "squizlabs/php_codesniffer": "^3.10", "friendsofphp/php-cs-fixer": "^3.60" }, diff --git a/test/Api/AccountingApiTest.php b/test/Api/AccountingApiTest.php deleted file mode 100644 index 7382c2e8..00000000 --- a/test/Api/AccountingApiTest.php +++ /dev/null @@ -1,1973 +0,0 @@ - Date: Mon, 7 Oct 2024 10:56:20 +0530 Subject: [PATCH 07/12] updates readme file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc9c2c3c..ef8107ae 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Sample apps can get you started quickly with simple auth flows and advanced usag # Installation To install this SDK in your project we recommend using [Composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos) (For OSX we recommend using [Homebrew](https://formulae.brew.sh/formula/composer)). -All third party libraries dependencies managed with Composer and the SDK requires `PHP 5.6` and later. +All third party libraries dependencies managed with Composer and the SDK requires `PHP 8.2` and later. To install the bindings via [Composer](http://getcomposer.org/), and add the xero-php-oauth2 sdk to your `composer.json` and navigate to where your composer.json file is and run the command: ``` From 112e9356b00cd0bf733ee9e0c538b2a96602ed98 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 13:26:37 +0530 Subject: [PATCH 08/12] testing --> dummy commit --- composer.json | 2 +- lib/Configuration.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 39729fdf..f8e230eb 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=8.0", + "php": ">=8.1", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", diff --git a/lib/Configuration.php b/lib/Configuration.php index 59ae0fb4..e1b59bdb 100644 --- a/lib/Configuration.php +++ b/lib/Configuration.php @@ -697,7 +697,7 @@ public static function toDebugReport() $report .= ' OS: ' . php_uname() . PHP_EOL; $report .= ' PHP Version: ' . PHP_VERSION . PHP_EOL; $report .= ' OpenAPI Spec Version: 6.3.0' . PHP_EOL; - $report .= ' SDK Package Version: 7.3.0' . PHP_EOL; + $report .= ' SDK Package Version: 7.3.0-alpha' . PHP_EOL; $report .= ' Temp Folder Path: ' . self::getDefaultConfiguration()->getTempFolderPath() . PHP_EOL; return $report; From 18c9aa656de19922b61da2a70e1c8aeb87116ae0 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 13:34:34 +0530 Subject: [PATCH 09/12] Revert "testing --> dummy commit" This reverts commit 112e9356b00cd0bf733ee9e0c538b2a96602ed98. --- composer.json | 2 +- lib/Configuration.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index f8e230eb..39729fdf 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=8.1", + "php": ">=8.0", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", diff --git a/lib/Configuration.php b/lib/Configuration.php index e1b59bdb..59ae0fb4 100644 --- a/lib/Configuration.php +++ b/lib/Configuration.php @@ -697,7 +697,7 @@ public static function toDebugReport() $report .= ' OS: ' . php_uname() . PHP_EOL; $report .= ' PHP Version: ' . PHP_VERSION . PHP_EOL; $report .= ' OpenAPI Spec Version: 6.3.0' . PHP_EOL; - $report .= ' SDK Package Version: 7.3.0-alpha' . PHP_EOL; + $report .= ' SDK Package Version: 7.3.0' . PHP_EOL; $report .= ' Temp Folder Path: ' . self::getDefaultConfiguration()->getTempFolderPath() . PHP_EOL; return $report; From 93326f4f635c6505ed5296b0b8fed8b7d8544bed Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 13:51:02 +0530 Subject: [PATCH 10/12] corrected php version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 39729fdf..406803ee 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=8.0", + "php": ">=8.2", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", From 94efaff580a5272932339d211b48891cb1a9fd21 Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 13:53:00 +0530 Subject: [PATCH 11/12] updates version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 406803ee..f8e230eb 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=8.2", + "php": ">=8.1", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", From 513c7704d49ff21506d8c6935f4d2601103c3bfd Mon Sep 17 00:00:00 2001 From: vigneshk-tw Date: Mon, 7 Oct 2024 13:54:02 +0530 Subject: [PATCH 12/12] corrected readme values --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef8107ae..e73b6551 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Sample apps can get you started quickly with simple auth flows and advanced usag # Installation To install this SDK in your project we recommend using [Composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos) (For OSX we recommend using [Homebrew](https://formulae.brew.sh/formula/composer)). -All third party libraries dependencies managed with Composer and the SDK requires `PHP 8.2` and later. +All third party libraries dependencies managed with Composer and the SDK requires `PHP 8.1` and later. To install the bindings via [Composer](http://getcomposer.org/), and add the xero-php-oauth2 sdk to your `composer.json` and navigate to where your composer.json file is and run the command: ```