Remove concourse build related files

This commit is contained in:
aboyko
2025-04-22 11:31:50 -04:00
parent a2f0420de1
commit 515f27d556
53 changed files with 0 additions and 2336 deletions

View File

@@ -1 +0,0 @@
credentials.yml

View File

@@ -1,4 +0,0 @@
{
"python.linting.pylintEnabled": false,
"python.pythonPath": "/usr/bin/python"
}

View File

@@ -1,25 +0,0 @@
Concourse pipeline Secrets
--------------------------
They are in vault. Access it here:
https://vault.spring.vmware.com:8200/
Requires VPN access. Login using VMWAre / LDAP creds.
Note that if you put a secret in, you have to puts its
value in the right box and put the word `value` in the
left box.
I.e. vault is forcing you to enter a secret as a json
object. But since we typically just want it to be
a single string, you have to enter it like so:
```
{
"value" : "the-real-value-you-want"
}
```
See also the `put-secret-in-vault.sh` script for an
example of how to use vault CLI instead.

View File

@@ -1,4 +0,0 @@
#!/bin/bash
branch=`git rev-parse --abbrev-ref HEAD`
fly -t tools destroy-pipeline -p sts4-${branch}

View File

@@ -1,37 +0,0 @@
FROM ubuntu:18.04
ADD npmrc /root/.npmrc
RUN apt-get update && apt-get install -y \
build-essential \
gettext-base \
git \
jq \
sed \
ca-certificates-java \
ca-certificates \
openjdk-17-jdk \
openjdk-17-source \
curl \
xvfb \
icewm
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - \
&& apt-get install -y nodejs
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install -y yarn
# Install Google Chrome
RUN curl -sS https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update && apt-get install -y google-chrome-stable
RUN npm install -g vsce
RUN npm install -g ovsx
RUN yarn global add lerna
CMD /bin/bash

View File

@@ -1 +0,0 @@
unsafe-perm=true

View File

@@ -1,3 +0,0 @@
FROM springci/sts4-theia-snapshot
ADD clone-and-build.sh /tmp/clone-and-build.sh
RUN /tmp/clone-and-build.sh

View File

@@ -1,14 +0,0 @@
Theia + Spring Petclinic layer
=============================
To build this docker image:
```
docker build -t kdvolder/theia-petclinic .
```
To run this
```
docker run -it --init -p 3000:3000 -p 8080:8080 kdvolder/theia-petclinic:latest
```

View File

@@ -1,8 +0,0 @@
#!/bin/bash
set -ev
mkdir /home/project
git clone https://github.com/spring-projects/spring-petclinic.git /home/project
cd /home/project
./mvnw clean package
rm -fr target
rm -fr /tmp/clone-and-build.sh

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +0,0 @@
#!/bin/bash
export VAULT_ADDR=https://vault.spring.vmware.com:8200
vault kv put concourse/tools/vsce_token value=${vsce_token}

View File

@@ -1,11 +0,0 @@
#!/bin/bash
s3cmd expire s3://s3-test.spring.io \
--expiry-prefix mvn-caches --expiry-days 7 \
# Note: it seems we can only apply one rule to a bucket.
# We would really want to expire other folders as well:
# --expiry-prefix sts3/commons/snapshots --expiry-days 7 \
# --expiry-prefix sts4/vscode-extensions/snapshots --expiry-days 30
# But since that doesn't work, I only added one rule for the biggest space waster.

View File

@@ -1,8 +0,0 @@
#!/bin/bash
branch=`git rev-parse --abbrev-ref HEAD`
fly -t tools set-pipeline \
--var "branch=${branch}" \
-p "sts4-experimental-${branch}" \
-c experimental-pipeline.yml

View File

@@ -1,25 +0,0 @@
#!/usr/bin/python3
import os
def replace(infile, outfile, findword, replaceword):
with open(infile, "rt") as fin:
with open(outfile, "wt") as fout:
for line in fin:
fout.write(line.replace(findword, replaceword))
branch = os.popen("git rev-parse --abbrev-ref HEAD").read().strip()
if branch == 'main':
os.system('fly -t tools set-pipeline '+
' --var "branch=' + branch + '" ' +
' -p sts4-'+ branch +' -c pipeline.yml')
else:
fname = "pipeline-"+branch+".yml"
replace("pipeline.yml", "pipeline-"+branch+".yml", "snapshot", branch)
with open(fname, 'r') as fin:
print(fin.read())
cmd = ('fly -t tools set-pipeline ' +
'--var "branch=' + branch + '" ' + '-p sts4-' +branch+' -c '+fname)
print(cmd)
os.system(cmd)

View File

@@ -1,10 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
cd ${workdir}/sts4/headless-services
./mvnw -Dtycho.disableP2Mirrors=true package
timestamp=`date +%s`
tarfile=${workdir}/out/sts4-mvn-cache-${timestamp}.tar.gz
tar -czvf ${tarfile} -C ${HOME} .m2/repository

View File

@@ -1,13 +0,0 @@
inputs:
- name: sts4
outputs:
- name: out
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/build-mvn-cache.sh

View File

@@ -1,58 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
sources=$workdir/sts4/eclipse-distribution/common/html
target=$workdir/website
# consider passing this in from pipeline as a env var if we are also going to use it for 'release' builds
dist_type=snapshot
#cp -r "${sources}/stylesheet.css" "$target"
#cp -r ${sources}/*.js "$target"
#cp s3-manifest-yaml-vsix/*.vsix "$target"
export vscode_manifest_yaml=$(basename s3-manifest-yaml-vsix-${dist_type}/*.vsix)
echo "vscode_manifest_yaml=$vscode_manifest_yaml"
export vscode_spring_boot=$(basename s3-spring-boot-vsix-${dist_type}/*.vsix)
echo "vscode_spring_boot=$vscode_spring_boot"
export vscode_concourse=$(basename s3-concourse-vsix-${dist_type}/*.vsix)
echo "vscode_concourse=$vscode_concourse"
export vscode_bosh=$(basename s3-bosh-vsix-${dist_type}/*.vsix)
echo "vscode_bosh=$vscode_bosh"
export vscode_spring_cli=$(basename s3-spring-cli-vsix-${dist_type}/*.vsix)
echo "vscode_spring_cli=$vscode_spring_cli"
envsubst > "$target/vscode-extensions-snippet.html" << XXXXXX
<ul>
<li>Spring Boot Language Server:
<a href="https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/${dist_type}s/${vscode_spring_boot}">${vscode_spring_boot}</a>
</li>
<li>Spring CLI:
<a href="https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/${dist_type}s/${vscode_spring_cli}">${vscode_spring_cli}</a>
</li>
<li>Cloud Foundry Manifest Language Server:
<a href="https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/${dist_type}s/${vscode_manifest_yaml}">${vscode_manifest_yaml}</a>
</li>
<li>Concourse CI Language Server:
<a href="https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/${dist_type}s/${vscode_concourse}">${vscode_concourse}</a>
</li>
<li>Bosh Language Server:
<a href="https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/${dist_type}s/${vscode_bosh}">${vscode_bosh}</a>
</li>
</ul>
XXXXXX
export vscode_snippet=`cat "$target/vscode-extensions-snippet.html"`
envsubst > "$target/vscode-extensions.html" << XXXXXX
<!DOCTYPE html>
<html>
<body>
<h1>STS4 Vscode Extensions</h1>
$vscode_snippet
</body>
</html>
XXXXXX
cat $target/vscode-extensions.html

View File

@@ -1,18 +0,0 @@
inputs:
- name: sts4
- name: s3-manifest-yaml-vsix-snapshot
- name: s3-spring-boot-vsix-snapshot
- name: s3-spring-cli-vsix-snapshot
- name: s3-concourse-vsix-snapshot
- name: s3-bosh-vsix-snapshot
outputs:
- name: website
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: "sts4/concourse/tasks/build-vscode-website.sh"

View File

@@ -1,71 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
sources=$workdir/sts4/vscode-extensions/$extension_id
server_id=${extension_id#vscode-}
if [ -d "maven-cache" ]; then
echo "Prepopulating maven cache"
tar xzf maven-cache/*.tar.gz -C ${HOME}
else
echo "!!!No stored maven cache found!!! "
echo "!!!This may slow down the build!!!"
fi
#cd ${sources}/../commons-vscode
#npm install
cd "$sources"
#npm install ../commons-vscode
base_version=`jq -r .version package.json`
if [ "$dist_type" = release ]; then
echo -e "\n\n*Version: ${base_version}-RELEASE*" >> README.md
else
if [ "$dist_type" = pre ]; then
# for pre-release build, work the timestamp into package.json patch version. No minutes in the timestamp due VSCode pre-release lack of support for semver
timestamp=`date -u +%Y%m%d%H`
qualified_version=`echo $base_version | sed "s/\([0-9]\{1,\}.[0-9]\{1,\}.\)[0-9]\{1,\}/\1$timestamp/"`
npm version ${qualified_version}
echo -e "\n\n*Version: ${base_version}-PRE-RELEASE*" >> README.md
else
# for snapshot build, work the timestamp into package.json version qualifier
timestamp=`date -u +%Y%m%d%H%M`
qualified_version=${base_version}-${timestamp}
npm version ${qualified_version}
echo -e "\n\n*Version: ${qualified_version}*" >> README.md
fi
fi
if [ -f "./scripts/preinstall.sh" ]; then
./scripts/preinstall.sh
fi
npm install
#npm audit
if [ "$dist_type" = pre ]; then
npm run vsce-pre-release-package
else
npm run vsce-package
fi
# for release build we don't don't add version-qualifier to package.json
# So we must instead rename the file ourself to add a qualifier
if [ "$dist_type" == release ]; then
vsix_file=`ls *.vsix`
release_name=`git tag --points-at HEAD | grep ${extension_id}`
echo "release_name=$release_name"
if [ -z "$release_name" ]; then
echo "Release Candidates must be tagged" >&2
exit 1
else
mv $vsix_file ${release_name}.vsix
fi
fi
cp *.vsix $workdir/out
server_jar=$workdir/sts4/headless-services/${server_id}-language-server/target/*-exec.jar
if [ -f $server_jar ]; then
cp $server_jar $workdir/out/${server_id}-language-server-${base_version}-${timestamp}.jar
fi

View File

@@ -1,14 +0,0 @@
inputs:
- name: sts4
- name: maven-cache
outputs:
- name: out
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/build-vsix.sh

View File

@@ -1,83 +0,0 @@
#!/bin/bash
set -e
set -v
workdir=`pwd`
vscode_sources=$workdir/sts4/vscode-extensions
atom_sources=$workdir/sts4/atom-extensions
theia_sources=$workdir/sts4/theia-extensions
version=`cat version/version`
echo "version=$version"
# vscode extensions
cd $vscode_sources
for extension_id in $(ls -d vscode-*)
do
cd $vscode_sources/$extension_id
echo "Should update version of $extension_id to $version"
npm version --allow-same-version $version
git add package.json
echo ""
done
# atom extensions
# cd $atom_sources
# for extension_id in $(ls -d atom-*)
# do
# if [ $extension_id != "atom-commons" ]; then
# cd $atom_sources/$extension_id
# echo "Should update version of $extension_id to $version"
# npm version $version
# git add package.json
# echo ""
# fi
# done
# theia extensions
# cd $workdir
# if [ -f theia-version/version ]; then
# theia_version=`cat theia-version/version`
# echo "theia-version=$theia_version"
# cd $theia_sources
# for extension_id in $(ls -d theia-*)
# do
# if [ $extension_id != "theia-commons" ]; then
# echo "Should update version of $extension_id"
# # skip over 'theia-'
# ext_type=${extension_id:6}
# # step into folder containg actual extension source
# cd $theia_sources/$extension_id/$ext_type
# # Lerna version command needs package to be modofoed since last release
# # Change version in the README.md file to make necessaey change to make Lerna version command work
# if grep -q '^\*\*Version: .*\*\*$' README.md;
# then
# # Change version in the README.md file
# perl -p -i -e 's/^\*\*Version: .*\*\*$/**Version: '"$theia_version"'**/g' README.md
# else
# # add version string if isn't there
# echo -e "\n\n**Version: ${theia_version}**" >> README.md
# fi
# # step into theia extension folder and run Lerna command to update appropriate versions in all projects
# cd $theia_sources/$extension_id
# lerna version $theia_version --exact --no-git-tag-version --no-push --yes
# git add ./
# echo ""
# fi
# done
# fi
cd $workdir/sts4/headless-services
$workdir/sts4/concourse/tasks/update-pom-versions.sh $version
git config user.email "kdevolder@pivotal.io"
git config user.name "Kris De Volder"
git add .
git commit \
-m "Bump version to ${version}"
git clone $workdir/sts4 $workdir/out

View File

@@ -1,14 +0,0 @@
inputs:
- name: version
- name: sts4
outputs:
- name: out
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/bump-versions.sh

View File

@@ -1,37 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
vsix_files=$(find *-vsix -name "*.vsix")
page=$workdir/sts4-wiki/${wiki_page_file_name}.md
echo "" > $page
for vsix_file in ${vsix_files}
do
echo "Processing $vsix_file"
fname=$(basename $vsix_file)
if [[ $page == *"Candidate"* ]]; then
# Example url for snapshot or RC:
# https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/snapshots/vscode-spring-boot-1.15.0-RC.1.vsix
url=https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/vscode-extensions/snapshots/$fname
else
url=https://cdn.spring.io/spring-tools/release/STS4/vscode/$fname
fi
echo "- [$fname]($url)" >> $page
done
echo "Vsix Wiki Page Generated:"
echo "----------------------------------------------"
cat $page
echo "----------------------------------------------"
cd $workdir/sts4-wiki
git config user.email "kdevolder@pivotal.io"
git config user.name "Kris De Volder"
git add .
git commit \
-m "Update vscode latest downloads wiki page"
git clone $workdir/sts4-wiki $workdir/sts4-wiki-out

View File

@@ -1,20 +0,0 @@
inputs:
- name: bosh-vsix
- name: concourse-vsix
- name: manifest-yaml-vsix
- name: spring-boot-vsix
- name: sts4
- name: sts4-wiki
outputs:
- name: sts4-wiki-out
params:
wiki_page_file_name: Current-VSCode-Releases
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/create-release-wiki-page.sh

View File

@@ -1,36 +0,0 @@
#!/bin/bash
set -e
set -v
workdir=`pwd`
sources=$workdir/sts4/headless-services
output=$workdir/out
maven_out=$workdir/maven-out
if [ -d "maven-cache" ]; then
echo "Prepopulating maven cache"
tar xzf maven-cache/*.tar.gz -C ${HOME}
else
echo "!!!No stored maven cache found!!! "
echo "!!!This may slow down the build!!!"
fi
cd ${sources}
xvfb-run ./mvnw clean install -DargLine="-Dlsp.yaml.completions.errors.disable=true"
# Copy fatjars to `out` directory
timestamp=`date -u +%Y%m%d%H%M`
for i in `ls *-language-server/target/*-exec.jar`; do
basename=$(basename $i)
cp $i $output/${basename/SNAPSHOT/$timestamp}
done
ls -la $output
# Copy installed artefacts from local maven cache to `maven-out`
mkdir -p ${maven_out}/org/springframework
cp -R ~/.m2/repository/org/springframework/ide ${maven_out}/org/springframework
timestamp=`date +%s`
tarfile=${output}/headless-maven-out-${timestamp}.tar.gz
tar -czvf ${tarfile} -C ${maven_out} .

View File

@@ -1,15 +0,0 @@
inputs:
- name: sts4
- name: maven-cache
outputs:
- name: out
- name: maven-out
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/fatjars-language-servers.sh

View File

@@ -1,13 +0,0 @@
#!/bin/bash
set -e
set -x
workdir=`pwd`
sources=$workdir/sources_repo/${sources_dir}
cd $sources
envsubst > ~/.npmrc << XXXXXX
//registry.npmjs.org/:_authToken=${npm_token}
XXXXXX
npm install --unsafe-perm
npm publish --unsafe-perm

View File

@@ -1,15 +0,0 @@
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
inputs:
- name: sources_repo
- name: tasks
run:
path: tasks/concourse/tasks/npm-publish.sh
params:
npm_token: npm-auth-token-for-publishing
sources_dir: path-within-sources-repo

View File

@@ -1,5 +0,0 @@
#!/bin/bash
set -e
cd sts4/vscode-extensions/boot-dev-pack
echo "Invoking ovsx publish in dir $(pwd)"
ovsx publish -p $ovsx_token

View File

@@ -1,14 +0,0 @@
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
params:
ovsx_token: ovsx_token_should_be_set
inputs:
- name: tasks
- name: sts4
run:
path: tasks/concourse/tasks/ovsx-build-and-publish.sh

View File

@@ -1,13 +0,0 @@
#!/bin/bash
set -e
workdir=$(pwd)
echo "workdir=${workdir}"
cp -R ${workdir}/sts4/concourse/theia-docker-image/* ${workdir}/output
for i in ${workdir}/*-vsix-*/*.vsix ; do
echo "Adding plugin: $i"
cp "$i" ${workdir}/output/plugins/
done
ls -Rl ${workdir}/output

View File

@@ -1,17 +0,0 @@
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
inputs:
- name: sts4
- name: s3-concourse-vsix-snapshot
- name: s3-spring-boot-vsix-snapshot
- name: s3-bosh-vsix-snapshot
- name: s3-manifest-yaml-vsix-snapshot
outputs:
- name: output
run:
path: sts4/concourse/tasks/prepare-theia-docker-image.sh

View File

@@ -1,13 +0,0 @@
inputs:
- name: sts4
- name: s3-concourse-vsix-snapshot
platform: linux
run:
path: sts4/concourse/tasks/publish-vsix-releases.sh
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env

View File

@@ -1,25 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
#Uncomments the below to publish all vsix files in the task inputs:
#vsix_files=`ls ${workdir}/s3-*/*.vsix`
#Uncomment the below to publish only concourse vxix
#vsix_files=`ls ${workdir}/s3-*/vscode-concourse-*.vsix`
#Uncomment the below to publish all vsix files
vsix_files=`ls ${workdir}/s3-*/vscode-*.vsix`
for vsix_file in $vsix_files
do
echo "****************************************************************"
echo "*** Publishing : ${vsix_file} to https://open-vsx.org/"
echo "****************************************************************"
echo ""
echo "We are runing the following command:"
echo ""
echo " ovsx publish -p $ovsx_token $vsix_file"
echo ""
ovsx publish -p $ovsx_token $vsix_file
done

View File

@@ -1,16 +0,0 @@
inputs:
- name: sts4
- name: s3-manifest-yaml-vsix-snapshot
- name: s3-concourse-vsix-snapshot
- name: s3-bosh-vsix-snapshot
- name: s3-spring-boot-vsix-snapshot
platform: linux
run:
path: sts4/concourse/tasks/publish-ovsx-releases.sh
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env

View File

@@ -1,18 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
vsix_files=`ls ${workdir}/vsix_folder/vscode-*.vsix`
for vsix_file in $vsix_files
do
echo "****************************************************************"
echo "*** Pre-Release Publishing : ${vsix_file}"
echo "****************************************************************"
echo ""
echo "We are runing the following command:"
echo ""
echo " vsce publish --pre-release -p vsce_token --packagePath $vsix_file"
echo ""
vsce publish --pre-release -p $vsce_token --packagePath $vsix_file
done

View File

@@ -1,12 +0,0 @@
platform: linux
inputs:
- name: sts4
- name: vsix_folder
run:
path: sts4/concourse/tasks/publish-vsix-pre-releases.sh
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env

View File

@@ -1,31 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
#Uncomments the below to publish all vsix files in the task inputs:
#vsix_files=`ls ${workdir}/s3-*/*.vsix`
#Uncomment the below to publish only concourse vxix
#vsix_files=`ls ${workdir}/s3-*/vscode-concourse-*.vsix`
#Uncomment the below to publish only spring-boot vxix
#vsix_files=`ls ${workdir}/s3-*/vscode-spring-boot-*.vsix`
#Uncomment the below to publish only cf-manifest-yaml vxix
#vsix_files=`ls ${workdir}/s3-*/vscode-manifest-yaml-*.vsix`
#Uncomment the below to publish all vsix files
vsix_files=`ls ${workdir}/s3-*/vscode-*.vsix`
for vsix_file in $vsix_files
do
echo "****************************************************************"
echo "*** Publishing : ${vsix_file}"
echo "****************************************************************"
echo ""
echo "We are runing the following command:"
echo ""
echo " vsce publish -p vsce_token --packagePath $vsix_file"
echo ""
vsce publish -p $vsce_token --packagePath $vsix_file
done

View File

@@ -1,16 +0,0 @@
inputs:
- name: sts4
- name: s3-manifest-yaml-vsix-snapshot
- name: s3-concourse-vsix-snapshot
- name: s3-bosh-vsix-snapshot
- name: s3-spring-boot-vsix-snapshot
platform: linux
run:
path: sts4/concourse/tasks/publish-vsix-releases.sh
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env

View File

@@ -1,46 +0,0 @@
#!/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"
if [ -f "./scripts/preinstall.sh" ]; then
./scripts/preinstall.sh
fi
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

View File

@@ -1,18 +0,0 @@
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: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env

View File

@@ -1,7 +0,0 @@
#!/bin/bash
set -e
workdir=$(pwd)
in=${workdir}/in
out=${workdir}/out
cd $out
tar xvf ${in}/*.tar.gz

View File

@@ -1,14 +0,0 @@
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/unpack.sh
inputs:
- name: sts4
- name: in
outputs:
- name: out

View File

@@ -1,8 +0,0 @@
#!/bin/bash
#poms=`find . -name pom.xml -not -path "*/target/*"`
set -e
version=$1
poms=commons/pom.xml
for i in $poms; do
./mvnw -f $i versions:set -DnewVersion=${version}-SNAPSHOT
done

View File

@@ -1,11 +0,0 @@
inputs:
- name: sts4
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/vsce-verify-token.sh

View File

@@ -1,30 +0,0 @@
#!/bin/bash
set -e
workdir=`pwd`
vsix_file=`ls ${workdir}/vsix-resource/*.vsix`
echo "vsix_file=$vsix_file"
echo "extension_id=$extension_id"
sources=$workdir/sts4/vscode-extensions/$extension_id
release_version=`jq -r .version ${sources}/package.json`
echo "release_version=$release_version"
vsce publish -p $vsce_token --packagePath "$vsix_file"
echo "****************************************************************"
echo "****************************************************************"
echo "****************************************************************"
echo "*** $extension_id $version published to vscode marketplace *****"
echo "****************************************************************"
echo "****************************************************************"
echo "****************************************************************"
cd $sources
echo "Tagging release"
git tag -f ${extension_id}-${release_version}-RELEASE
git clone $workdir/sts4 $workdir/sts4-out

View File

@@ -1,15 +0,0 @@
inputs:
- name: sts4
- name: vsix-resource
outputs:
- name: sts4-out
- name: website
platform: linux
image_resource:
type: registry-image
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
run:
path: sts4/concourse/tasks/vsce-publish.sh

View File

@@ -1,5 +0,0 @@
#!/bin/bash
set -e
cd sts4/vscode-extensions/vscode-concourse/
echo "publisher=$vsce_publisher"
vsce verify-pat -p "${vsce_token}" "$vsce_publisher"

View File

@@ -1,34 +0,0 @@
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y \
build-essential \
gettext-base \
git \
jq \
openjdk-8-jdk \
curl
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
RUN npm install -g yarn
RUN cd /usr/local/bin && \
curl https://s3-us-west-1.amazonaws.com/cf-cli-releases/releases/v6.47.2/cf-cli_6.47.2_linux_x86-64.tgz | tar zxvf -
RUN mkdir /theia-app
ADD package.json /theia-app
WORKDIR /theia-app
# using "NODE_OPTIONS=..." to avoid out-of-memory problem in CI
ENV SHELL=/bin/bash \
THEIA_DEFAULT_PLUGINS=local-dir:/theia-app/plugins
RUN yarn --cache-folder ./ycache && rm -rf ./ycache && \
NODE_OPTIONS="--max_old_space_size=8192" yarn theia build ; \
yarn theia download:plugins
ADD plugins/*.vsix /theia-app/plugins/
ENTRYPOINT [ "yarn", "theia", "start", "--hostname=0.0.0.0", "/home/project" ]
EXPOSE 3000

View File

@@ -1,26 +0,0 @@
Theia Docker Image
==================
We currently publish a docker image that contains:
- a full-featured `theia` set of package for version `next`.
- all 4 of our vscode extensions as latest snapshot version.
This image is published to docker hub as `springci/sts4-theia-snapshot:latest`.
You can run it as follows:
```
docker run -it --init -p 3000:3000 -p 8080:8080 -v "$(pwd):/home/project:cached" springci/sts4-theia-snapshot:latest
```
Then open `http://localhost:3000` to access it.
Developer Notes:
================
package.json file based on this one:
https://github.com/theia-ide/theia-apps/blob/master/theia-full-docker/latest.package.json
If it breaks in the future it is often a good idea to go back to the source and see what
the Theia folks themselves have done to address it.

View File

@@ -1,108 +0,0 @@
{
"private": true,
"theia": {
"frontend": {
"config": {
"applicationName": "Theia Java Example",
"preferences": {
"files.enableTrash": false
}
}
}
},
"dependencies": {
"@theia/editor-preview": "latest",
"@theia/file-search": "latest",
"@theia/getting-started": "latest",
"@theia/git": "latest",
"@theia/json": "latest",
"@theia/markers": "latest",
"@theia/messages": "latest",
"@theia/navigator": "latest",
"@theia/outline-view": "latest",
"@theia/plugin": "latest",
"@theia/plugin-ext": "latest",
"@theia/plugin-ext-vscode": "latest",
"@theia/preferences": "latest",
"@theia/search-in-workspace": "latest",
"@theia/terminal": "latest"
},
"theiaPluginsDir": "plugins",
"theiaPlugins": {
"vscode-builtin-bat": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/bat-1.39.1-prel.vsix",
"vscode-builtin-clojure": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/clojure-1.39.1-prel.vsix",
"vscode-builtin-coffeescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/coffeescript-1.39.1-prel.vsix",
"vscode-builtin-configuration-editing": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/configuration-editing-1.39.1-prel.vsix",
"vscode-builtin-cpp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/cpp-1.39.1-prel.vsix",
"vscode-builtin-csharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/csharp-1.39.1-prel.vsix",
"vscode-builtin-css": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/css-1.39.1-prel.vsix",
"vscode-builtin-debug-auto-launch": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/debug-auto-launch-1.39.1-prel.vsix",
"vscode-builtin-docker": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/docker-1.39.1-prel.vsix",
"vscode-builtin-emmet": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/emmet-1.39.1-prel.vsix",
"vscode-builtin-fsharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/fsharp-1.39.1-prel.vsix",
"vscode-builtin-go": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/go-1.39.1-prel.vsix",
"vscode-builtin-groovy": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/groovy-1.39.1-prel.vsix",
"vscode-builtin-grunt": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/grunt-1.39.1-prel.vsix",
"vscode-builtin-gulp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/gulp-1.39.1-prel.vsix",
"vscode-builtin-handlebars": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/handlebars-1.39.1-prel.vsix",
"vscode-builtin-hlsl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/hlsl-1.39.1-prel.vsix",
"vscode-builtin-html": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/html-1.39.1-prel.vsix",
"vscode-builtin-ini": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ini-1.39.1-prel.vsix",
"vscode-builtin-jake": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/jake-1.39.1-prel.vsix",
"vscode-builtin-java": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/java-1.39.1-prel.vsix",
"vscode-builtin-javascript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/javascript-1.39.1-prel.vsix",
"vscode-builtin-json": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/json-1.39.1-prel.vsix",
"vscode-builtin-less": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/less-1.39.1-prel.vsix",
"vscode-builtin-log": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/log-1.39.1-prel.vsix",
"vscode-builtin-lua": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/lua-1.39.1-prel.vsix",
"vscode-builtin-make": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/make-1.39.1-prel.vsix",
"vscode-builtin-markdown": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/markdown-1.39.1-prel.vsix",
"vscode-builtin-merge-conflicts": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/merge-conflict-1.39.1-prel.vsix",
"vscode-builtin-npm": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/npm-1.39.1-prel.vsix",
"vscode-builtin-node-debug": "https://github.com/theia-ide/vscode-node-debug/releases/download/v1.35.3/node-debug-1.35.3.vsix",
"vscode-builtin-node-debug2": "https://github.com/theia-ide/vscode-node-debug2/releases/download/v1.33.0/node-debug2-1.33.0.vsix",
"vscode-builtin-objective-c": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/objective-c-1.39.1-prel.vsix",
"vscode-builtin-perl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/perl-1.39.1-prel.vsix",
"vscode-builtin-powershell": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/powershell-1.39.1-prel.vsix",
"vscode-builtin-pug": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/pug-1.39.1-prel.vsix",
"vscode-builtin-python": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/python-1.39.1-prel.vsix",
"vscode-builtin-r": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/r-1.39.1-prel.vsix",
"vscode-builtin-razor": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/razor-1.39.1-prel.vsix",
"vscode-builtin-ruby": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ruby-1.39.1-prel.vsix",
"vscode-builtin-rust": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/rust-1.39.1-prel.vsix",
"vscode-builtin-scss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/scss-1.39.1-prel.vsix",
"vscode-builtin-shaderlab": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shaderlab-1.39.1-prel.vsix",
"vscode-builtin-shellscript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shellscript-1.39.1-prel.vsix",
"vscode-builtin-sql": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/sql-1.39.1-prel.vsix",
"vscode-builtin-swift": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/swift-1.39.1-prel.vsix",
"vscode-builtin-theme-abyss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-abyss-1.39.1-prel.vsix",
"vscode-builtin-theme-defaults": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-defaults-1.39.1-prel.vsix",
"vscode-builtin-theme-kimbie-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-kimbie-dark-1.39.1-prel.vsix",
"vscode-builtin-theme-monokai": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-1.39.1-prel.vsix",
"vscode-builtin-theme-dimmed": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-dimmed-1.39.1-prel.vsix",
"vscode-builtin-theme-quietlight": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-quietlight-1.39.1-prel.vsix",
"vscode-builtin-theme-red": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-red-1.39.1-prel.vsix",
"vscode-builtin-theme-solarized-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-solarized-dark-1.39.1-prel.vsix",
"vscode-builtin-theme-tomorrow-night-blue": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-tomorrow-night-blue-1.39.1-prel.vsix",
"vscode-builtin-typescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/typescript-1.39.1-prel.vsix",
"vscode-builtin-vb": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vb-1.39.1-prel.vsix",
"vscode-builtin-icon-theme-seti": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vscode-theme-seti-1.39.1-prel.vsix",
"vscode-builtin-xml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/xml-1.39.1-prel.vsix",
"vscode-builtin-yaml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/yaml-1.39.1-prel.vsix",
"vscode-editorconfig": "https://github.com/theia-ide/editorconfig-vscode/releases/download/v0.14.4/EditorConfig-0.14.4.vsix",
"vscode-java-redhat": "https://github.com/redhat-developer/vscode-java/releases/download/v0.54.2/redhat.java-0.54.2.vsix",
"vscode-java-debug": "https://github.com/microsoft/vscode-java-debug/releases/download/0.24.0/vscjava.vscode-java-debug-0.24.0.vsix",
"vscode-java-test": "https://github.com/microsoft/vscode-java-test/releases/download/0.22.0/vscjava.vscode-java-test-0.22.0.vsix",
"vscode-java-dependency-viewer": "https://github.com/microsoft/vscode-java-dependency/releases/download/0.6.0/vscode-java-dependency-0.6.0.vsix"
},
"resolutions": {
"vscode-json-languageserver": "1.2.2",
"vscode-languageserver-protocol": "3.15.0-next.9",
"vscode-languageserver-types": "3.15.0-next.5",
"**/vscode-json-languageserver/**/vscode-languageserver": "6.0.0-next.1",
"**/moment": "2.24.0"
},
"devDependencies": {
"@theia/cli": "latest"
}
}

View File

@@ -1,3 +0,0 @@
Place vscode .vsix files to be included into the
docker image into this directory prior to running
the docker build.