From a1ca1d2b6e3bb7eaa289ddda57b1df49f577c23d Mon Sep 17 00:00:00 2001 From: lgdd Date: Sat, 3 Feb 2024 11:09:11 +0100 Subject: [PATCH] chore: change client extensions source Now client extension generation uses https://github.com/lgdd/liferay-client-extensions-samples instead of liferay mono repo and avoid many git commands and file manipulation. --- .../git/HEAD | 1 + .../git/config | 17 ++ .../git/description | 1 + .../git/hooks/applypatch-msg.sample | 15 ++ .../git/hooks/commit-msg.sample | 24 +++ .../git/hooks/fsmonitor-watchman.sample | 174 ++++++++++++++++++ .../git/hooks/post-update.sample | 8 + .../git/hooks/pre-applypatch.sample | 14 ++ .../git/hooks/pre-commit.sample | 49 +++++ .../git/hooks/pre-merge-commit.sample | 13 ++ .../git/hooks/pre-push.sample | 53 ++++++ .../git/hooks/pre-rebase.sample | 169 +++++++++++++++++ .../git/hooks/pre-receive.sample | 24 +++ .../git/hooks/prepare-commit-msg.sample | 42 +++++ .../git/hooks/push-to-checkout.sample | 78 ++++++++ .../git/hooks/update.sample | 128 +++++++++++++ .../git/index | Bin 0 -> 31258 bytes .../git/info/exclude | 6 + .../git/logs/HEAD | 1 + .../git/logs/refs/heads/main | 1 + .../git/logs/refs/remotes/origin/HEAD | 1 + ...bd6d0996c3028be1b309a17e53eac2a9cb753f.idx | Bin 0 -> 12328 bytes ...d6d0996c3028be1b309a17e53eac2a9cb753f.pack | Bin 0 -> 567389 bytes .../git/packed-refs | 2 + .../git/refs/heads/main | 1 + .../git/refs/remotes/origin/HEAD | 1 + .../object-definition.batch-engine-data.json | 0 ...workflow-definition.batch-engine-data.json | 0 .../client-extension.yaml | 0 .../Dockerfile | 0 .../LCP.json | 0 .../assets/index.js | 0 .../build.gradle | 0 .../client-extension.yaml | 0 .../package.json | 0 .../liferay/sample/ActionRestController.java | 0 .../liferay/sample/BaseRestController.java | 0 .../liferay/sample/ReadyRestController.java | 0 .../sample/SampleSpringBootApplication.java | 0 .../resources/application-default.properties | 0 .../src/main/resources/application.properties | 0 .../Dockerfile | 0 .../LCP.json | 0 .../build.gradle | 0 .../client-extension.yaml | 0 .../sample/AuthorizeRestController.java | 0 .../liferay/sample/BaseRestController.java | 0 .../liferay/sample/CancelRestController.java | 0 .../liferay/sample/CaptureRestController.java | 0 .../liferay/sample/ReadyRestController.java | 0 .../liferay/sample/RefundRestController.java | 0 .../sample/SampleSpringBootApplication.java | 0 .../sample/SetUpPaymentRestController.java | 0 .../resources/application-default.properties | 0 .../src/main/resources/application.properties | 0 .../Dockerfile | 0 .../LCP.json | 0 .../build.gradle | 0 .../client-extension.yaml | 0 .../liferay/sample/BaseRestController.java | 0 .../sample/DescriptionRestController.java | 0 .../liferay/sample/NameRestController.java | 0 .../sample/OptionLabelRestController.java | 0 .../sample/OptionsEnabledRestController.java | 0 .../liferay/sample/OptionsRestController.java | 0 .../liferay/sample/ReadyRestController.java | 0 .../sample/SampleSpringBootApplication.java | 0 .../resources/application-default.properties | 0 .../src/main/resources/application.properties | 0 .../.editorconfig | 0 .../.gitignore | 0 .../angular.json | 0 .../build.gradle | 0 .../client-extension.yaml | 0 .../package.json | 0 .../src/app/app.component.css | 0 .../src/app/app.component.html | 0 .../src/app/app.component.spec.ts | 0 .../src/app/app.component.ts | 0 .../src/app/app.module.ts | 0 .../src/assets}/.gitkeep | 0 .../src/favicon.ico | Bin .../src/index.html | 0 .../src/main.ts | 0 .../src/styles.css | 0 .../tsconfig.app.json | 0 .../tsconfig.json | 0 .../tsconfig.spec.json | 0 .../yarn.lock | 0 .../assets/index.js | 0 .../client-extension.yaml | 0 .../assets/index.js | 0 .../assets/style.css | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../.env | 0 .../.gitignore | 0 .../README.markdown | 0 .../client-extension.yaml | 0 .../package.json | 0 .../public/index.html | 0 .../src/common/components/Comic.js | 0 .../src/common/components/DadJoke.js | 0 .../src/common/services/liferay/api.js | 0 .../src/common/services/liferay/liferay.js | 0 .../src/common/styles/hello-world.scss | 0 .../src/common/styles/index.scss | 0 .../src/common/styles/variables.scss | 0 .../src/index.js | 0 .../src/routes/hello-bar}/components/.gitkeep | 0 .../src/routes/hello-bar/pages/HelloBar.js | 0 .../src/routes/hello-foo}/components/.gitkeep | 0 .../src/routes/hello-foo/pages/HelloFoo.js | 0 .../routes/hello-world/components}/.gitkeep | 0 .../routes/hello-world/pages/HelloWorld.js | 0 .../yarn.lock | 0 .../assets/index.js | 0 .../assets/style.css | 0 .../client-extension.yaml | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../src/index.ts | 0 .../tsconfig.json | 0 .../liferay-sample-etc-cron/Dockerfile | 0 .../liferay-sample-etc-cron/LCP.json | 0 .../liferay-sample-etc-cron/build.gradle | 0 .../client-extension.yaml | 0 .../sample/SampleCommandLineRunner.java | 0 .../sample/SampleSpringBootApplication.java | 0 .../resources/application-default.properties | 0 .../src/main/resources/application.properties | 0 .../assets/FDSIconCell.js | 0 .../assets/Header.css | 0 .../assets/Header.js | 0 .../assets/Sidebar.css | 0 .../assets/Sidebar.js | 0 .../assets/spritemap.svg | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../assets/custom-element/index.js | 0 .../assets/custom-element/package.json | 0 .../assets/my-utils/getBye.js | 0 .../assets/my-utils/getHello.js | 0 .../assets/my-utils/index.js | 0 .../assets/my-utils/package.json | 0 .../client-extension.yaml | 0 .../package.json | 0 .../assets/FDSIconCell.js | 0 .../assets/Header.js | 0 .../assets/shared-utils.js | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../liferay-sample-etc-node/Dockerfile | 0 .../liferay-sample-etc-node/LCP.json | 0 .../liferay-sample-etc-node/app.js | 0 .../client-extension.yaml | 0 .../liferay-sample-etc-node/config.js | 0 .../liferay-sample-etc-node/package-lock.json | 0 .../liferay-sample-etc-node/package.json | 0 .../util/configTreePath.js | 0 .../util/liferay-oauth2-resource-server.js | 0 .../liferay-sample-etc-node/util/logger.js | 0 .../liferay-sample-etc-spring-boot/Dockerfile | 0 .../liferay-sample-etc-spring-boot/LCP.json | 0 .../build.gradle | 0 .../client-extension.yaml | 0 .../liferay/sample/BaseRestController.java | 0 .../liferay/sample/DadJokeRestController.java | 0 .../NotificationType1RestController.java | 0 .../sample/ObjectAction1RestController.java | 0 .../sample/ObjectAction2RestController.java | 0 .../ObjectEntryManager1RestController.java | 0 .../ObjectValidationRule1RestController.java | 0 .../liferay/sample/ReadyRestController.java | 0 .../sample/SampleSpringBootApplication.java | 0 .../sample/WorkflowAction1RestController.java | 0 .../resources/application-default.properties | 0 .../src/main/resources/application.properties | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../src/index.ts | 0 .../tsconfig.json | 0 .../client-extension.dev.yaml | 0 .../client-extension.yaml | 0 .../liferay-sample-fds-filter/package.json | 0 .../liferay-sample-fds-filter/src/index.ts | 0 .../liferay-sample-fds-filter/tsconfig.json | 0 .../assets/global.css | 0 .../client-extension.yaml | 0 .../liferay-sample-global-js/assets/global.js | 0 .../client-extension.yaml | 0 .../client-extension.yaml | 0 .../client-extension.yaml | 0 .../client-extension.yaml | 0 .../client-extension.yaml | 0 .../documents/group/sample.txt | 0 .../journal-articles/journal_article.json | 0 .../journal-articles/journal_article.xml | 0 .../assets/1_this.txt | 0 .../assets/2_folder.txt | 0 .../assets/3_contains.txt | 0 .../assets/4_static.txt | 0 .../assets/5_content.txt | 0 .../client-extension.yaml | 0 .../client-extension.yaml | 0 .../package.json | 0 .../src/css/_custom.scss | 0 .../src/img/header_bg.jpg | Bin .../client-extension.yaml | 0 .../package.json | 0 .../src/css/_custom.scss | 0 .../src/img/header_bg.jpg | Bin .../assets/favicon.ico | Bin .../client-extension.yaml | 0 .../.gitignore | 0 .../.npmignore | 0 .../buildSpritemap.js | 0 .../client-extension.yaml | 0 .../package.json | 0 .../src/cog.svg | 0 .../src/foo.svg | 0 .../assets/spritemap.svg | 0 .../client-extension.yaml | 0 .../client-extensions/TODO.txt | 2 - lfr/pkg/generate/cx/client_extension.go | 46 ++--- 230 files changed, 836 insertions(+), 35 deletions(-) create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/HEAD create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/config create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/description create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/applypatch-msg.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/commit-msg.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/fsmonitor-watchman.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/post-update.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-applypatch.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-commit.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-merge-commit.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-push.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-rebase.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-receive.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/prepare-commit-msg.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/push-to-checkout.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/update.sample create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/index create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/info/exclude create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/HEAD create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/heads/main create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/remotes/origin/HEAD create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.idx create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.pack create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/packed-refs create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/refs/heads/main create mode 100644 lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/refs/remotes/origin/HEAD rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-batch/batch/object-definition.batch-engine-data.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-batch/batch/workflow-definition.batch-engine-data.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-batch/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/assets/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/java/com/liferay/sample/ActionRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/java/com/liferay/sample/BaseRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/java/com/liferay/sample/ReadyRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/java/com/liferay/sample/SampleSpringBootApplication.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/resources/application-default.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-checkout-step/src/main/resources/application.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/AuthorizeRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/BaseRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/CancelRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/CaptureRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/ReadyRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/RefundRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/SampleSpringBootApplication.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/java/com/liferay/sample/SetUpPaymentRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/resources/application-default.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-payment-integration/src/main/resources/application.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/BaseRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/DescriptionRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/NameRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/OptionLabelRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/OptionsEnabledRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/OptionsRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/ReadyRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/java/com/liferay/sample/SampleSpringBootApplication.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/resources/application-default.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-commerce-shipping-engine/src/main/resources/application.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/.editorconfig (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/.gitignore (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/angular.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/app/app.component.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/app/app.component.html (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/app/app.component.spec.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/app/app.component.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/app/app.module.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2/src/routes/hello-bar/components => liferay-client-extensions-samples/liferay-sample-custom-element-angular/src/assets}/.gitkeep (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/favicon.ico (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/index.html (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/main.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/src/styles.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/tsconfig.app.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/tsconfig.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/tsconfig.spec.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3 => liferay-client-extensions-samples/liferay-sample-custom-element-angular}/yarn.lock (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-5 => liferay-client-extensions-samples/liferay-sample-custom-element-react-clayui}/assets/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-5 => liferay-client-extensions-samples/liferay-sample-custom-element-react-clayui}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-4 => liferay-client-extensions-samples/liferay-sample-custom-element-react-dom}/assets/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-4 => liferay-client-extensions-samples/liferay-sample-custom-element-react-dom}/assets/style.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-4 => liferay-client-extensions-samples/liferay-sample-custom-element-react-dom}/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-4 => liferay-client-extensions-samples/liferay-sample-custom-element-react-dom}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-4 => liferay-client-extensions-samples/liferay-sample-custom-element-react-dom}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/.env (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/.gitignore (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/README.markdown (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/public/index.html (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/components/Comic.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/components/DadJoke.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/services/liferay/api.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/services/liferay/liferay.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/styles/hello-world.scss (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/styles/index.scss (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/common/styles/variables.scss (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2/src/routes/hello-foo => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts/src/routes/hello-bar}/components/.gitkeep (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/routes/hello-bar/pages/HelloBar.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2/src/routes/hello-world => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts/src/routes/hello-foo}/components/.gitkeep (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/routes/hello-foo/pages/HelloFoo.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-3/src/assets => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts/src/routes/hello-world/components}/.gitkeep (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/src/routes/hello-world/pages/HelloWorld.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-2 => liferay-client-extensions-samples/liferay-sample-custom-element-react-scripts}/yarn.lock (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-1 => liferay-client-extensions-samples/liferay-sample-custom-element-vanilla-js}/assets/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-1 => liferay-client-extensions-samples/liferay-sample-custom-element-vanilla-js}/assets/style.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-custom-element-1 => liferay-client-extensions-samples/liferay-sample-custom-element-vanilla-js}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-editor-config-contributor/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-editor-config-contributor/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-editor-config-contributor/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-editor-config-contributor/src/index.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-editor-config-contributor/tsconfig.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/src/main/java/com/liferay/sample/SampleCommandLineRunner.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/src/main/java/com/liferay/sample/SampleSpringBootApplication.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/src/main/resources/application-default.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-cron/src/main/resources/application.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/FDSIconCell.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/Header.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/Header.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/Sidebar.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/Sidebar.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/assets/spritemap.svg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-1 => liferay-client-extensions-samples/liferay-sample-etc-frontend-components}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/custom-element/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/custom-element/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/my-utils/getBye.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/my-utils/getHello.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/my-utils/index.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/assets/my-utils/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-3 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-import-map}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/assets/FDSIconCell.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/assets/Header.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/assets/shared-utils.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2 => liferay-client-extensions-samples/liferay-sample-etc-frontend-shared-utils}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/app.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/config.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/package-lock.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/util/configTreePath.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/util/liferay-oauth2-resource-server.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-node/util/logger.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/Dockerfile (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/LCP.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/build.gradle (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/BaseRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/DadJokeRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/NotificationType1RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/ObjectAction1RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/ObjectAction2RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/ObjectEntryManager1RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/ObjectValidationRule1RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/ReadyRestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/SampleSpringBootApplication.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/java/com/liferay/sample/WorkflowAction1RestController.java (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/resources/application-default.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-etc-spring-boot/src/main/resources/application.properties (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-cell-renderer/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-cell-renderer/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-cell-renderer/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-cell-renderer/src/index.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-cell-renderer/tsconfig.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-filter/client-extension.dev.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-filter/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-filter/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-filter/src/index.ts (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-fds-filter/tsconfig.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-global-css/assets/global.css (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-global-css/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-global-js/assets/global.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-global-js/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-iframe-1 => liferay-client-extensions-samples/liferay-sample-iframe-counter}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-iframe-2 => liferay-client-extensions-samples/liferay-sample-iframe-wikipedia}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-instance-settings/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-site-initializer/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-site-initializer/site-initializer/documents/group/sample.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-site-initializer/site-initializer/journal-articles/journal_article.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-site-initializer/site-initializer/journal-articles/journal_article.xml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/assets/1_this.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/assets/2_folder.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/assets/3_contains.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/assets/4_static.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/assets/5_content.txt (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-static-content/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-1 => liferay-client-extensions-samples/liferay-sample-theme-css-styled}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-1 => liferay-client-extensions-samples/liferay-sample-theme-css-styled}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-1 => liferay-client-extensions-samples/liferay-sample-theme-css-styled}/src/css/_custom.scss (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-1 => liferay-client-extensions-samples/liferay-sample-theme-css-styled}/src/img/header_bg.jpg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-2 => liferay-client-extensions-samples/liferay-sample-theme-css-unstyled}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-2 => liferay-client-extensions-samples/liferay-sample-theme-css-unstyled}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-2 => liferay-client-extensions-samples/liferay-sample-theme-css-unstyled}/src/css/_custom.scss (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-css-2 => liferay-client-extensions-samples/liferay-sample-theme-css-unstyled}/src/img/header_bg.jpg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-theme-favicon/assets/favicon.ico (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions => liferay-client-extensions-samples}/liferay-sample-theme-favicon/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/.gitignore (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/.npmignore (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/buildSpritemap.js (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/client-extension.yaml (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/package.json (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/src/cog.svg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-2 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-multiple-svg}/src/foo.svg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-1 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-single-svg}/assets/spritemap.svg (100%) rename lfr/pkg/assets/tpl/cx/{liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-theme-spritemap-1 => liferay-client-extensions-samples/liferay-sample-theme-spritemap-single-svg}/client-extension.yaml (100%) delete mode 100644 lfr/pkg/assets/tpl/cx/liferay-portal/workspaces/liferay-sample-workspace/client-extensions/TODO.txt diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/HEAD b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/HEAD new file mode 100644 index 00000000..b870d826 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/config b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/config new file mode 100644 index 00000000..60d10fd9 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/config @@ -0,0 +1,17 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true +[submodule] + active = . +[remote "origin"] + url = https://github.com/lgdd/liferay-client-extensions-samples.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "main"] + remote = origin + merge = refs/heads/main +[lfs] + repositoryformatversion = 0 diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/description b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/description new file mode 100644 index 00000000..498b267a --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/applypatch-msg.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/applypatch-msg.sample new file mode 100644 index 00000000..a5d7b84a --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/commit-msg.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/commit-msg.sample new file mode 100644 index 00000000..b58d1184 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/fsmonitor-watchman.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/fsmonitor-watchman.sample new file mode 100644 index 00000000..23e856f5 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/post-update.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/post-update.sample new file mode 100644 index 00000000..ec17ec19 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-applypatch.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-applypatch.sample new file mode 100644 index 00000000..4142082b --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-commit.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-commit.sample new file mode 100644 index 00000000..e144712c --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-merge-commit.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-merge-commit.sample new file mode 100644 index 00000000..399eab19 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-push.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-push.sample new file mode 100644 index 00000000..4ce688d3 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-rebase.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-rebase.sample new file mode 100644 index 00000000..6cbef5c3 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-receive.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-receive.sample new file mode 100644 index 00000000..a1fd29ec --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/prepare-commit-msg.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/prepare-commit-msg.sample new file mode 100644 index 00000000..10fa14c5 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/push-to-checkout.sample b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/push-to-checkout.sample new file mode 100644 index 00000000..af5a0c00 --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/index b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/index new file mode 100644 index 0000000000000000000000000000000000000000..c5be01ad1e13e110fcdfd44cd032c27a270dca4f GIT binary patch literal 31258 zcmcg#2{=^U|G(B4g(OlbQ7W>FY(?#TkGZ@Cqm>FB7O{G0;vXr8gHd;v=ElSd= zC@Q6$P^l#S@4Yj}GIOsPzqjZAKF|Ap-^ZBq`Fxl2J?DJS!p_Ol7J?vA_}?n>r6IS+ zZQJq`Ncd;mf0pkD{|7+?Qgy)9)t$c9A-NZG=hU25X6v#8TOn25PzpONI!G^;&Ws45 z(qmbALD3W{iOkfEkEEhs2kipc(`N7XA!#RC!|iZADYJ0vm@eD;7gkql*GEDGq zc01ypX`7=XZpHuIHRkF$%P#l3m-FTCXF!8ooNVn~z3kyHq2JGW(k-#ukkRT9%I6pD*%Q9B zwt3;7-z>V=o2?J8Os0v~o9U!WP4HDyc(u506=dHJ4-g_kG6DEN zV)GE4UvbK3sa~^Zw&-rvbLX;Hn>@XYK0{iVJc6kdGL5Z6j$@N)EW{A;L~fA6jRPDY zvGJg|8`rhnP0wFetJq-dq0p4%y?U+hPe`8!FPI(~NoEFowwo{ieSON@l2={ECZ{v0boT)DNNB2XctjS9%x39PXe4qR42(hmJRq@gC9XcT z@nH_>V9Yf-TDa3Z^?mHkHPiheL*a1IoTD4cB$5!za{d8$K!Tt5%@blVQFZfJPcsO$ zKIi||72b09w^<+O4_OF@+h0HdTvV1_dW4NHGF^>U)ew?-(R{Vqimc`#EenQ_?<^Nq zZw4_qf*4Bf_A!Ei;#F)s3?w%0Aiqe@EAL{ZkE_-d1&Y%I5CE(2M4U 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 literal 0 HcmV?d00001 diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/info/exclude b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/info/exclude new file mode 100644 index 00000000..a5196d1b --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/HEAD b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/HEAD new file mode 100644 index 00000000..04e4a61f --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b6dad837e527f32fe290519f315ac6a6c11dd97b lgdd 1706954186 +0100 clone: from https://github.com/lgdd/liferay-client-extensions-samples.git diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/heads/main b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/heads/main new file mode 100644 index 00000000..04e4a61f --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/heads/main @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b6dad837e527f32fe290519f315ac6a6c11dd97b lgdd 1706954186 +0100 clone: from https://github.com/lgdd/liferay-client-extensions-samples.git diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/remotes/origin/HEAD b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/remotes/origin/HEAD new file mode 100644 index 00000000..04e4a61f --- /dev/null +++ b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b6dad837e527f32fe290519f315ac6a6c11dd97b lgdd 1706954186 +0100 clone: from https://github.com/lgdd/liferay-client-extensions-samples.git diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.idx b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.idx new file mode 100644 index 0000000000000000000000000000000000000000..ef5354bbb93424db52fe3ae97594facd617bb345 GIT binary patch literal 12328 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 XhPEzu;IHGA@pCq-1^ZirthfIMN|dd2 literal 0 HcmV?d00001 diff --git a/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.pack b/lfr/pkg/assets/tpl/cx/liferay-client-extensions-samples/git/objects/pack/pack-08bd6d0996c3028be1b309a17e53eac2a9cb753f.pack new file mode 100644 index 0000000000000000000000000000000000000000..a34f98e4e7ced7397aa7048f4fedf2c6f7741cf4 GIT binary patch literal 567389 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 z∾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