From 69c2cbf6e4f7296755c0c8ce870b41bc989d7f4d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 24 Jun 2019 12:40:20 +0100 Subject: [PATCH 1/4] Text domain replacement --- bin/replace-package-textdomains.sh | 26 ++++++++++++++++++++++++++ composer.json | 10 ++++++---- composer.lock | 18 +++++++++--------- 3 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 bin/replace-package-textdomains.sh diff --git a/bin/replace-package-textdomains.sh b/bin/replace-package-textdomains.sh new file mode 100644 index 00000000000..01bf243933c --- /dev/null +++ b/bin/replace-package-textdomains.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Output colorized strings +# +# Color codes: +# 0 - black +# 1 - red +# 2 - green +# 3 - yellow +# 4 - blue +# 5 - magenta +# 6 - cian +# 7 - white +output() { + echo "$(tput setaf "$1")$2$(tput sgr0)" +} + +output 3 "Updating package textdomains..." + +# Find woo-gutenberg-products-block textdomain and replace with woocommerce +find ./packages -iname '*.php' -exec sed -i.bak -e "s/'woo-gutenberg-products-block'/'woocommerce'/g" {} \; + +# Cleanup backup files +find ./packages -name "*.bak" -type f -delete + +output 2 "Done" diff --git a/composer.json b/composer.json index 36c325ac113..220a62ff2a2 100644 --- a/composer.json +++ b/composer.json @@ -32,10 +32,12 @@ }, "scripts": { "post-install-cmd": [ - "composer dump-autoload --no-dev" + "composer dump-autoload --no-dev", + "sh ./bin/replace-package-textdomains.sh" ], "post-update-cmd": [ - "composer dump-autoload --no-dev" + "composer dump-autoload --no-dev", + "sh ./bin/replace-package-textdomains.sh" ], "test": [ "phpunit" @@ -52,8 +54,8 @@ }, "extra": { "installer-paths": { - "vendor/woocommerce-rest-api": ["woocommerce/woocommerce-rest-api"], - "vendor/woocommerce-blocks": ["woocommerce/woocommerce-blocks"] + "packages/woocommerce-rest-api": ["woocommerce/woocommerce-rest-api"], + "packages/woocommerce-blocks": ["woocommerce/woocommerce-blocks"] }, "scripts-description": { "test": "Run unit tests", diff --git a/composer.lock b/composer.lock index f3296258ae3..317087e9408 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bd3583eea7bbf9c0401e52371ae1baf9", + "content-hash": "e52a74aadbfa3411e205ffd3295a9045", "packages": [ { "name": "automattic/jetpack-autoloader", @@ -168,12 +168,12 @@ "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-gutenberg-products-block.git", - "reference": "64fdbe613ee66d5444696428567f3b683b1a2b06" + "reference": "d17885ea1fff530ab6bd79d57e8ab4224600ec43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/64fdbe613ee66d5444696428567f3b683b1a2b06", - "reference": "64fdbe613ee66d5444696428567f3b683b1a2b06", + "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/d17885ea1fff530ab6bd79d57e8ab4224600ec43", + "reference": "d17885ea1fff530ab6bd79d57e8ab4224600ec43", "shasum": "" }, "require": { @@ -202,7 +202,7 @@ ], "description": "Feature plugin for the WooCommerce Gutenberg Products block", "homepage": "https://woocommerce.com/", - "time": "2019-06-21T18:08:00+00:00" + "time": "2019-06-24T11:20:32+00:00" }, { "name": "woocommerce/woocommerce-rest-api", @@ -210,12 +210,12 @@ "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-rest-api.git", - "reference": "2943708bb12f70b845f32e5f26893436a926a1ee" + "reference": "a518b9cfd1dec42a59aa10240a31782bc1d43d13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-rest-api/zipball/2943708bb12f70b845f32e5f26893436a926a1ee", - "reference": "2943708bb12f70b845f32e5f26893436a926a1ee", + "url": "https://api.github.com/repos/woocommerce/woocommerce-rest-api/zipball/a518b9cfd1dec42a59aa10240a31782bc1d43d13", + "reference": "a518b9cfd1dec42a59aa10240a31782bc1d43d13", "shasum": "" }, "require": { @@ -243,7 +243,7 @@ ], "description": "The WooCommerce core REST API.", "homepage": "https://github.com/woocommerce/woocommerce-rest-api", - "time": "2019-06-21T13:57:26+00:00" + "time": "2019-06-21T18:58:20+00:00" } ], "packages-dev": [ From dab6e4d257faddc59092c2084b074ef3e0c05084 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 24 Jun 2019 13:02:43 +0100 Subject: [PATCH 2/4] Handle rest package --- bin/replace-package-textdomains.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/replace-package-textdomains.sh b/bin/replace-package-textdomains.sh index 01bf243933c..6e098cd88a1 100644 --- a/bin/replace-package-textdomains.sh +++ b/bin/replace-package-textdomains.sh @@ -18,7 +18,10 @@ output() { output 3 "Updating package textdomains..." # Find woo-gutenberg-products-block textdomain and replace with woocommerce -find ./packages -iname '*.php' -exec sed -i.bak -e "s/'woo-gutenberg-products-block'/'woocommerce'/g" {} \; +find ./packages/woocommerce-blocks -iname '*.php' -exec sed -i.bak -e "s/'woo-gutenberg-products-block'/'woocommerce'/g" {} \; + +# Find woocommerce-rest-api textdomain and replace with woocommerce +find ./packages/woocommerce-rest-api -iname '*.php' -exec sed -i.bak -e "s/'woocommerce-rest-api'/'woocommerce'/g" {} \; # Cleanup backup files find ./packages -name "*.bak" -type f -delete From fcf06e97a328c671201a6bd51cabb14bf5fc8c6d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 24 Jun 2019 15:29:26 +0100 Subject: [PATCH 3/4] Tweak script to add POT generation on update --- ...ckage-textdomains.sh => package-update.sh} | 31 ++++++++++++++++--- composer.json | 6 ++-- 2 files changed, 29 insertions(+), 8 deletions(-) rename bin/{replace-package-textdomains.sh => package-update.sh} (58%) diff --git a/bin/replace-package-textdomains.sh b/bin/package-update.sh similarity index 58% rename from bin/replace-package-textdomains.sh rename to bin/package-update.sh index 6e098cd88a1..48732acc687 100644 --- a/bin/replace-package-textdomains.sh +++ b/bin/package-update.sh @@ -15,15 +15,38 @@ output() { echo "$(tput setaf "$1")$2$(tput sgr0)" } +updating=false + +# Script args. +while [ ! $# -eq 0 ] +do + case "$1" in + --updating | -u) + updating=true + ;; + esac + shift +done + +# Autoloader +output 3 "Updating autoloader classmaps..." +composer dump-autoload --no-dev +output 2 "Done" + +# Convert textdomains output 3 "Updating package textdomains..." -# Find woo-gutenberg-products-block textdomain and replace with woocommerce +# Replace text domains within packages with woocommerce find ./packages/woocommerce-blocks -iname '*.php' -exec sed -i.bak -e "s/'woo-gutenberg-products-block'/'woocommerce'/g" {} \; - -# Find woocommerce-rest-api textdomain and replace with woocommerce find ./packages/woocommerce-rest-api -iname '*.php' -exec sed -i.bak -e "s/'woocommerce-rest-api'/'woocommerce'/g" {} \; # Cleanup backup files find ./packages -name "*.bak" -type f -delete - output 2 "Done" + +if ( $updating ); then + # Update POT file + output 3 "Updating POT file..." + grunt makepot + output 2 "Done" +fi diff --git a/composer.json b/composer.json index 220a62ff2a2..ff69df8b377 100644 --- a/composer.json +++ b/composer.json @@ -32,12 +32,10 @@ }, "scripts": { "post-install-cmd": [ - "composer dump-autoload --no-dev", - "sh ./bin/replace-package-textdomains.sh" + "sh ./bin/package-update.sh" ], "post-update-cmd": [ - "composer dump-autoload --no-dev", - "sh ./bin/replace-package-textdomains.sh" + "sh ./bin/package-update.sh --updating" ], "test": [ "phpunit" From e46653f3a9f20b974d113578730cd12c58520471 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 24 Jun 2019 15:50:55 +0100 Subject: [PATCH 4/4] More specific replacement --- bin/package-update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/package-update.sh b/bin/package-update.sh index 48732acc687..8f1c34af1a5 100644 --- a/bin/package-update.sh +++ b/bin/package-update.sh @@ -37,8 +37,8 @@ output 2 "Done" output 3 "Updating package textdomains..." # Replace text domains within packages with woocommerce -find ./packages/woocommerce-blocks -iname '*.php' -exec sed -i.bak -e "s/'woo-gutenberg-products-block'/'woocommerce'/g" {} \; -find ./packages/woocommerce-rest-api -iname '*.php' -exec sed -i.bak -e "s/'woocommerce-rest-api'/'woocommerce'/g" {} \; +find ./packages/woocommerce-blocks -iname '*.php' -exec sed -i.bak -e "s/, 'woo-gutenberg-products-block'/, 'woocommerce'/g" {} \; +find ./packages/woocommerce-rest-api -iname '*.php' -exec sed -i.bak -e "s/, 'woocommerce-rest-api'/, 'woocommerce'/g" {} \; # Cleanup backup files find ./packages -name "*.bak" -type f -delete