From d6d8830e30a8c482f09ce4c9fee7e70ded75df18 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 10 May 2017 14:22:13 -0700 Subject: [PATCH] Change rc-build so it produces .vsix file that can be published 'as is'. --- concourse/pipeline.yml | 2 +- concourse/tasks/rc-build.sh | 44 ++++++++++++++++++++++++++++++++++++ concourse/tasks/rc-build.yml | 16 +++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100755 concourse/tasks/rc-build.sh create mode 100644 concourse/tasks/rc-build.yml diff --git a/concourse/pipeline.yml b/concourse/pipeline.yml index 33f380b51..1408c0b67 100644 --- a/concourse/pipeline.yml +++ b/concourse/pipeline.yml @@ -234,7 +234,7 @@ jobs: passed: - trigger-rc-build - task: build-concourse-rc - file: sts4/concourse/tasks/versioned-build.yml + file: sts4/concourse/tasks/rc-build.yml params: extension_id: vscode-concourse on_failure: diff --git a/concourse/tasks/rc-build.sh b/concourse/tasks/rc-build.sh new file mode 100755 index 000000000..c127f04cf --- /dev/null +++ b/concourse/tasks/rc-build.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +# Build an rc .vsix file, ready to be uploaded to vscode marketplace. +# +# An RC is built in a similar way as a snaphsot, except that +# we build it with a unqualified version (i.e. no pre-release qualifier) +# This is so that, if this candidate is aproved for publication, +# then the vsix can be uploaded as is (i.e. +# without requiring another rebuild/repackaging to change its version) + +workdir=`pwd` +sources=$workdir/sts4/vscode-extensions/$extension_id + +version=`cat version/version` +echo "extension_id=${extension_id}" +echo "version=${version}" + +if [ -d "maven-cache" ]; then + echo "Prepopulating maven cache" + tar xzf maven-cache/*.tar.gz -C ${HOME} +else + echo "!!!No stored maven cache found!!! " + exit -1 +fi + +cd "sts4/vscode-extensions/${extension_id}" +npm version "${version%-*}" || true +echo "Version set to " `npm version` +echo -e "\n\n*Version: ${version}*" >> README.md + +# Build commons vscode +cd ${sources}/../commons-vscode +npm install + +cd "$sources" +npm install ../commons-vscode +npm install +npm run vsce-package + +#Because the RC was with a unqualified version... +#The RC version qualifier isn't automaticlaly present in the file name. +#So we must explicitly rename the file to include the RC version qualifier. +cp *.vsix $workdir/out/$extension_id-${version}.vsix diff --git a/concourse/tasks/rc-build.yml b/concourse/tasks/rc-build.yml new file mode 100644 index 000000000..7efefe14e --- /dev/null +++ b/concourse/tasks/rc-build.yml @@ -0,0 +1,16 @@ +inputs: +- name: sts4 +- name: maven-cache +- name: version +outputs: +- name: out +platform: linux +run: + path: sts4/concourse/tasks/rc-build.sh +params: + extension_id: undefined_extension_id +image_resource: + type: docker-image + source: + repository: kdvolder/sts4-build-env + \ No newline at end of file