From c3690a28bd77ba0227c024b4053d6ecdcd0c6826 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:25:13 -0700 Subject: [PATCH 01/17] adding locales extName length check --- .github/workflows/build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 45dc606ecc..0876fcdc24 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,6 +62,19 @@ jobs: node --version npm --version + - name: Testing locale lengths + run: | + for file in $(ls src/_locales/); + do + echo "Testing locales extName lengths" + echo "All must be 40 or less for Safari" + echo "=================================" + test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') + if [[ ${#test_string} -gt 40 ]]; then + echo $file: ${#test_string} + fi + done + - name: npm setup & test run: | npm install From 59eb876b0643b45d42a551db1ee44a526fe8e988 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:27:47 -0700 Subject: [PATCH 02/17] adding a kill command --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0876fcdc24..53492a479b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,6 +64,7 @@ jobs: - name: Testing locale lengths run: | + errors=0 for file in $(ls src/_locales/); do echo "Testing locales extName lengths" @@ -72,9 +73,14 @@ jobs: test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') if [[ ${#test_string} -gt 40 ]]; then echo $file: ${#test_string} + errors=1 fi done + if [[ $errors -eq 1 ]]; then + exit 1 + fi + - name: npm setup & test run: | npm install From 27ab3193c95927be5b9e4934e4f3761a78be83a5 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:31:04 -0700 Subject: [PATCH 03/17] swtiching the runner to be ubuntu and adding a failing test case --- .github/workflows/build.yml | 2 +- src/_locales/en/messages.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 53492a479b..7ce4e5f1ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: browser: - runs-on: windows-latest + runs-on: ubuntu-latest needs: setup env: REPO_URL: ${{ needs.setup.outputs.repo_url }} diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 3b5121d7f5..bcd7f81fee 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -3,7 +3,7 @@ "message": "Bitwarden" }, "extName": { - "message": "Bitwarden - Free Password Manager", + "message": "Bitwarden - Free Password Manager (longer than 40 characters for a test)", "description": "Extension name, MUST be less than 40 characters (Safari restriction)" }, "extDesc": { From a88b229ff9b17d38a29e897ac2708c7daf0565a6 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:32:40 -0700 Subject: [PATCH 04/17] moving the message out of the loop --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ce4e5f1ae..69697ec8f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,11 +65,11 @@ jobs: - name: Testing locale lengths run: | errors=0 + echo "Testing locales extName lengths" + echo "All must be 40 or less for Safari" + echo "=================================" for file in $(ls src/_locales/); do - echo "Testing locales extName lengths" - echo "All must be 40 or less for Safari" - echo "=================================" test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') if [[ ${#test_string} -gt 40 ]]; then echo $file: ${#test_string} From a9e33362e5a709cb28d38eafb969ed093202278d Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:38:21 -0700 Subject: [PATCH 05/17] adding more output --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69697ec8f7..7c7b7edd90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,7 +72,7 @@ jobs: do test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') if [[ ${#test_string} -gt 40 ]]; then - echo $file: ${#test_string} + echo $file: -- ${#test_string} -- $test_string errors=1 fi done From 3da8759cc8036ccf864f453811e5698fa6321152 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:39:59 -0700 Subject: [PATCH 06/17] didn't like the output --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7c7b7edd90..69697ec8f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,7 +72,7 @@ jobs: do test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') if [[ ${#test_string} -gt 40 ]]; then - echo $file: -- ${#test_string} -- $test_string + echo $file: ${#test_string} errors=1 fi done From 0a39d631b01e580ae20b3dceda0173e7efc7104d Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:41:34 -0700 Subject: [PATCH 07/17] removing testing code and adding test to release pipeline just in case --- .github/workflows/release.yml | 19 +++++++++++++++++++ src/_locales/en/messages.json | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9ce04db9d4..76c309b3b4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -90,6 +90,25 @@ jobs: npm run dist npm run test + - name: Testing locale lengths + run: | + errors=0 + echo "Testing locales extName lengths" + echo "All must be 40 or less for Safari" + echo "=================================" + for file in $(ls src/_locales/); + do + test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') + if [[ ${#test_string} -gt 40 ]]; then + echo $file: ${#test_string} + errors=1 + fi + done + + if [[ $errors -eq 1 ]]; then + exit 1 + fi + - name: gulp run: gulp ci diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index bcd7f81fee..3b5121d7f5 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -3,7 +3,7 @@ "message": "Bitwarden" }, "extName": { - "message": "Bitwarden - Free Password Manager (longer than 40 characters for a test)", + "message": "Bitwarden - Free Password Manager", "description": "Extension name, MUST be less than 40 characters (Safari restriction)" }, "extDesc": { From 626da7d506df86c308b73d99cf6d324c46349b75 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 15:44:27 -0700 Subject: [PATCH 08/17] updating the output with a test passing message --- .github/workflows/build.yml | 2 ++ .github/workflows/release.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69697ec8f7..fd9e9aaf67 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,6 +79,8 @@ jobs: if [[ $errors -eq 1 ]]; then exit 1 + else + echo "Test passed" fi - name: npm setup & test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 76c309b3b4..f90d96b99d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -107,6 +107,8 @@ jobs: if [[ $errors -eq 1 ]]; then exit 1 + else + echo "Test passed" fi - name: gulp From 0eece3574658d07d68bca175be13ade7c141d206 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 16:52:27 -0700 Subject: [PATCH 09/17] switching the build back to windows because of the karma testing. Moving the locales-testing to a previous job --- .github/workflows/build.yml | 38 +++++++++++--------- .github/workflows/release.yml | 68 +++++++++++++++++++---------------- 2 files changed, 60 insertions(+), 46 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd9e9aaf67..f5feacf72d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,27 +41,13 @@ jobs: echo "::set-output name=repo_url::$repo_url" echo "::set-output name=adj_build_number::$adj_build_num" - - browser: - runs-on: ubuntu-latest + locales-test: + runs-on: ubunut-latest needs: setup - env: - REPO_URL: ${{ needs.setup.outputs.repo_url }} - BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} steps: - name: Checkout repo uses: actions/checkout@v2 - - name: Set up Node - uses: actions/setup-node@v1 - with: - node-version: '14.x' - - - name: Print environment - run: | - node --version - npm --version - - name: Testing locale lengths run: | errors=0 @@ -83,6 +69,26 @@ jobs: echo "Test passed" fi + build: + runs-on: windows-latest + needs: [ setup, locales-test ] + env: + REPO_URL: ${{ needs.setup.outputs.repo_url }} + BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Set up Node + uses: actions/setup-node@v1 + with: + node-version: '14.x' + + - name: Print environment + run: | + node --version + npm --version + - name: npm setup & test run: | npm install diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f90d96b99d..8fd67b3024 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,9 +64,38 @@ jobs: prerelease: false - browser: - runs-on: windows-latest + locales-test: + runs-on: ubunut-latest needs: setup + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Testing locale lengths + run: | + errors=0 + echo "Testing locales extName lengths" + echo "All must be 40 or less for Safari" + echo "=================================" + for file in $(ls src/_locales/); + do + test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') + if [[ ${#test_string} -gt 40 ]]; then + echo $file: ${#test_string} + errors=1 + fi + done + + if [[ $errors -eq 1 ]]; then + exit 1 + else + echo "Test passed" + fi + + + build: + runs-on: windows-latest + needs: [ setup, locales-test ] env: REPO_URL: ${{ needs.setup.outputs.repo_url }} BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} @@ -90,41 +119,20 @@ jobs: npm run dist npm run test - - name: Testing locale lengths - run: | - errors=0 - echo "Testing locales extName lengths" - echo "All must be 40 or less for Safari" - echo "=================================" - for file in $(ls src/_locales/); - do - test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') - if [[ ${#test_string} -gt 40 ]]; then - echo $file: ${#test_string} - errors=1 - fi - done - - if [[ $errors -eq 1 ]]; then - exit 1 - else - echo "Test passed" - fi - - name: gulp run: gulp ci - name: Build sources for reviewers shell: cmd run: | - mkdir dist\Source - call git clone %REPO_URL% dist\Source - cd dist\Source - call git checkout %GITHUB_SHA% - call git submodule update --init --recursive + mkdir dist/Source + git clone $REPO_URL dist/Source + cd dist/Source + git checkout $GITHUB_SHA + git submodule update --init --recursive cd ../ - del /S/Q "Source\.git\objects\pack\*" - call 7z a browser-source-%BUILD_NUMBER%.zip "Source\*" + rm -rf Source/.git/objects/pack/* + zip -r browser-source-$BUILD_NUMBER.zip Source/* - name: upload opera release asset uses: actions/upload-release-asset@v1 From 3d66e75ba138598a3722f0669a3b1cfbf4d7fd58 Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Wed, 12 May 2021 16:55:10 -0700 Subject: [PATCH 10/17] fixing typo --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5feacf72d..7c0c2b337c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,7 +42,7 @@ jobs: echo "::set-output name=adj_build_number::$adj_build_num" locales-test: - runs-on: ubunut-latest + runs-on: ubuntu-latest needs: setup steps: - name: Checkout repo diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8fd67b3024..533ae5161b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: locales-test: - runs-on: ubunut-latest + runs-on: ubuntu-latest needs: setup steps: - name: Checkout repo From cb07bc2300c26b2378fc2dee1d40ca01b6e4bed2 Mon Sep 17 00:00:00 2001 From: Vince Grassia <593223+vgrassia@users.noreply.github.com> Date: Thu, 13 May 2021 16:28:36 -0400 Subject: [PATCH 11/17] Update locale length test --- .github/workflows/build.yml | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7c0c2b337c..b71702bd85 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,26 +48,21 @@ jobs: - name: Checkout repo uses: actions/checkout@v2 - - name: Testing locale lengths + - name: Testing locales - extName length run: | - errors=0 - echo "Testing locales extName lengths" - echo "All must be 40 or less for Safari" - echo "=================================" - for file in $(ls src/_locales/); - do - test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') - if [[ ${#test_string} -gt 40 ]]; then - echo $file: ${#test_string} - errors=1 - fi + exit_status=0 + + echo "extName string must be 40 characters or less" + echo "====================================" + for locale in $(ls src/_locales/); do + string_length=$(jq '.extName.message | length' src/_locales/$locale/messages.json) + if [[ $string_length -gt 40 ]]; then + echo $locale: $string_length + exit_status=1 + fi done - - if [[ $errors -eq 1 ]]; then - exit 1 - else - echo "Test passed" - fi + + exit $exit_status build: runs-on: windows-latest From 1c3db8e18ebf50d95c26727255cc187b11d7c0eb Mon Sep 17 00:00:00 2001 From: Vince Grassia <593223+vgrassia@users.noreply.github.com> Date: Thu, 13 May 2021 16:43:19 -0400 Subject: [PATCH 12/17] Update locales test in build workflow --- .github/workflows/build.yml | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b71702bd85..3fdb2f43b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,19 +50,27 @@ jobs: - name: Testing locales - extName length run: | - exit_status=0 - - echo "extName string must be 40 characters or less" - echo "====================================" - for locale in $(ls src/_locales/); do - string_length=$(jq '.extName.message | length' src/_locales/$locale/messages.json) - if [[ $string_length -gt 40 ]]; then - echo $locale: $string_length - exit_status=1 - fi - done - - exit $exit_status + found_error=false + + echo "Locales Test" + echo "============" + echo "extName string must be 40 characters or less" + echo + for locale in $(ls src/_locales/); do + string_length=$(jq '.extName.message | length' src/_locales/$locale/messages.json) + if [[ $string_length -gt 40 ]]; then + echo "$locale: $string_length" + found_error=true + fi + done + + if $found_error; then + echo + echo "Please fix 'extName' for the locales listed above." + exit 1 + else + echo "Test passed!" + fi build: runs-on: windows-latest From 1a4e8debd678964b47087ed35d2fdf37c7d37706 Mon Sep 17 00:00:00 2001 From: Vince Grassia <593223+vgrassia@users.noreply.github.com> Date: Thu, 13 May 2021 17:08:18 -0400 Subject: [PATCH 13/17] Update release workflow with locales test --- .github/workflows/release.yml | 38 ++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 533ae5161b..589a023cf5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -71,27 +71,29 @@ jobs: - name: Checkout repo uses: actions/checkout@v2 - - name: Testing locale lengths + - name: Testing locales - extName length run: | - errors=0 - echo "Testing locales extName lengths" - echo "All must be 40 or less for Safari" - echo "=================================" - for file in $(ls src/_locales/); - do - test_string=$(cat src/_locales/$file/messages.json | jq .extName.message | tr -d '"') - if [[ ${#test_string} -gt 40 ]]; then - echo $file: ${#test_string} - errors=1 - fi - done + found_error=false - if [[ $errors -eq 1 ]]; then - exit 1 - else - echo "Test passed" - fi + echo "Locales Test" + echo "============" + echo "extName string must be 40 characters or less" + echo + for locale in $(ls src/_locales/); do + string_length=$(jq '.extName.message | length' src/_locales/$locale/messages.json) + if [[ $string_length -gt 40 ]]; then + echo "$locale: $string_length" + found_error=true + fi + done + if $found_error; then + echo + echo "Please fix 'extName' for the locales listed above." + exit 1 + else + echo "Test passed!" + fi build: runs-on: windows-latest From a31366e5c9879a371e4262ddb240abbf6f07fb61 Mon Sep 17 00:00:00 2001 From: Daniel James Smith Date: Fri, 14 May 2021 15:59:24 +0200 Subject: [PATCH 14/17] Fixed support for ml language --- src/popup/app.module.ts | 4 ++-- src/services/i18n.service.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/popup/app.module.ts b/src/popup/app.module.ts index a15a510868..4837f151f3 100644 --- a/src/popup/app.module.ts +++ b/src/popup/app.module.ts @@ -103,7 +103,7 @@ import localeIt from '@angular/common/locales/it'; import localeJa from '@angular/common/locales/ja'; import localeKo from '@angular/common/locales/ko'; import localeLv from '@angular/common/locales/lv'; -import localeMlIn from '@angular/common/locales/ml-IN'; +import localeMl from '@angular/common/locales/ml'; import localeNb from '@angular/common/locales/nb'; import localeNl from '@angular/common/locales/nl'; import localePl from '@angular/common/locales/pl'; @@ -144,7 +144,7 @@ registerLocaleData(localeIt, 'it'); registerLocaleData(localeJa, 'ja'); registerLocaleData(localeKo, 'ko'); registerLocaleData(localeLv, 'lv'); -registerLocaleData(localeMlIn, 'ml-IN'); +registerLocaleData(localeMl, 'ml'); registerLocaleData(localeNb, 'nb'); registerLocaleData(localeNl, 'nl'); registerLocaleData(localePl, 'pl'); diff --git a/src/services/i18n.service.ts b/src/services/i18n.service.ts index a8dac854c4..7cf2d06e27 100644 --- a/src/services/i18n.service.ts +++ b/src/services/i18n.service.ts @@ -10,7 +10,7 @@ export default class I18nService extends BaseI18nService { this.supportedTranslationLocales = [ 'en', 'be', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'en-IN', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'hu', - 'id', 'it', 'ja', 'ko', 'lv', 'ml-IN', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', 'sr', 'sv', 'th', 'tr', 'uk', + 'id', 'it', 'ja', 'ko', 'lv', 'ml', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW', ]; } From 2664fc695729c5cd80b75a2e771693471e6d31be Mon Sep 17 00:00:00 2001 From: Vince Grassia <593223+vgrassia@users.noreply.github.com> Date: Fri, 14 May 2021 11:14:21 -0400 Subject: [PATCH 15/17] Remove shell to default to bash --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 589a023cf5..2861c40c97 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -125,7 +125,6 @@ jobs: run: gulp ci - name: Build sources for reviewers - shell: cmd run: | mkdir dist/Source git clone $REPO_URL dist/Source From 7d21e0fbb074b5265c39473eaa47a0bb4e7a6b4e Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Fri, 14 May 2021 11:12:34 -0700 Subject: [PATCH 16/17] switching release Build sources back to pwsh --- .github/workflows/release.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2861c40c97..d8c4dec301 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -126,14 +126,14 @@ jobs: - name: Build sources for reviewers run: | - mkdir dist/Source - git clone $REPO_URL dist/Source - cd dist/Source - git checkout $GITHUB_SHA - git submodule update --init --recursive + mkdir dist\Source + call git clone %REPO_URL% dist\Source + cd dist\Source + call git checkout %GITHUB_SHA% + call git submodule update --init --recursive cd ../ - rm -rf Source/.git/objects/pack/* - zip -r browser-source-$BUILD_NUMBER.zip Source/* + del /S/Q "Source\.git\objects\pack\*" + call 7z a browser-source-%BUILD_NUMBER%.zip "Source\*" - name: upload opera release asset uses: actions/upload-release-asset@v1 From 1bd5242d4c3b0e9a82888695a9f3ee036947a27d Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Fri, 14 May 2021 11:14:52 -0700 Subject: [PATCH 17/17] readding the shell type in the release pipeline --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d8c4dec301..c4aed1f54f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -125,6 +125,7 @@ jobs: run: gulp ci - name: Build sources for reviewers + shell: cmd run: | mkdir dist\Source call git clone %REPO_URL% dist\Source