From 8579a240ae7e4c4781d0dfdc03a09898847b10bf Mon Sep 17 00:00:00 2001 From: Alex <apuret@takima.fr> Date: Tue, 7 Dec 2021 18:32:23 +0100 Subject: [PATCH] refactor: build extension and recorder --- build-plugins.sh | 4 ++-- build-recorder.sh | 14 ++++++++------ deadlock-plugins/README.md | 7 +++++++ deadlock-plugins/deadlock-extension/build.sh | 6 ++++++ deadlock-plugins/deadlock-extension/install.sh | 5 +++++ deadlock-plugins/deadlock-extension/package.json | 5 ++++- 6 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 deadlock-plugins/README.md create mode 100755 deadlock-plugins/deadlock-extension/build.sh create mode 100755 deadlock-plugins/deadlock-extension/install.sh diff --git a/build-plugins.sh b/build-plugins.sh index aea0d6e9..764f6d0c 100755 --- a/build-plugins.sh +++ b/build-plugins.sh @@ -8,8 +8,8 @@ for dir in deadlock-plugins/*/; do echo "Building $dir" cd $dir CURRENT_PLUGIN_DIR=$(basename "$PWD") - npm install - npm run vsce + ./install.sh + ./build.sh CI_COMMIT_SHORT_SHA cp *.vsix ../../plugins/$CURRENT_PLUGIN_DIR-$CI_COMMIT_SHORT_SHA.vsix cd - done diff --git a/build-recorder.sh b/build-recorder.sh index c9ea7b8a..cbc10ae7 100755 --- a/build-recorder.sh +++ b/build-recorder.sh @@ -1,15 +1,17 @@ #!/bin/sh -# You must build deadlock-extension first /!\ - set -e OUTPUT_DIR='recorder-out' -cp -r ./deadlock-plugins/deadlock-extension/out/* $OUTPUT_DIR -cp ./deadlock-plugins/deadlock-extension/packa* $OUTPUT_DIR -cd $OUTPUT_DIR +cd ./deadlock-plugins/deadlock-extension/ + npm install -npx webpack --env production +npm run build-recorder +npm run build-preStop + +cd - +cp -r ./deadlock-plugins/deadlock-extension/out/recorder.js $OUTPUT_DIR +cp -r ./deadlock-plugins/deadlock-extension/out/preStop.js $OUTPUT_DIR diff --git a/deadlock-plugins/README.md b/deadlock-plugins/README.md new file mode 100644 index 00000000..ca2964e1 --- /dev/null +++ b/deadlock-plugins/README.md @@ -0,0 +1,7 @@ + +Contient une liste de dossier des extensions à construire pour ajouter à Theia pendant la phase de build. +Chaque dossier d'extension doit contenir un fichier `install.sh` et `build.sh` qui doivent contenir +respectivement la façon d'installer les dépendances et les executions pour construire la dépendance, +c'est à dire créer un fichier `vsix` à la fin. + +Chaque fichier build.sh sera appelé avec comme premier argument le tag en cours. \ No newline at end of file diff --git a/deadlock-plugins/deadlock-extension/build.sh b/deadlock-plugins/deadlock-extension/build.sh new file mode 100755 index 00000000..77a68674 --- /dev/null +++ b/deadlock-plugins/deadlock-extension/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +npm run build-extension +npm run vsce diff --git a/deadlock-plugins/deadlock-extension/install.sh b/deadlock-plugins/deadlock-extension/install.sh new file mode 100755 index 00000000..a10ff266 --- /dev/null +++ b/deadlock-plugins/deadlock-extension/install.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +npm install \ No newline at end of file diff --git a/deadlock-plugins/deadlock-extension/package.json b/deadlock-plugins/deadlock-extension/package.json index fdef4466..de61fd22 100644 --- a/deadlock-plugins/deadlock-extension/package.json +++ b/deadlock-plugins/deadlock-extension/package.json @@ -54,7 +54,10 @@ }, "scripts": { "vsce": "vsce package", - "esbuild-base": "esbuild ./src/extension.ts --bundle --outfile=out/main.js --external:vscode --format=cjs --platform=node", + "esbuild-base": "esbuild --bundle --format=cjs --platform=node", + "build-extension": "npm run esbuild-base -- --external:vscode ./src/extension.ts --outfile=out/main.js --minify", + "build-recorder": "npm run esbuild-base -- ./src/recorder/index.ts --outfile=out/recorder.js --minify", + "build-preStop": "npm run esbuild-base -- ./src/recorder/preStop.ts --outfile=out/preStop.js --minify", "esbuild": "npm run esbuild-base -- --sourcemap", "esbuild-watch": "npm run esbuild-base -- --sourcemap --watch", "lint": "eslint . --ext .ts,.tsx", -- GitLab