mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 08:14:09 -08:00
Add deployment scripts
This commit is contained in:
parent
431e9f0c81
commit
7598a3c1f6
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,5 +1,8 @@
|
|||
# output dir
|
||||
target
|
||||
/build-dir
|
||||
/build-cache
|
||||
/deploy-with-env.sh
|
||||
|
||||
# KDE
|
||||
.directory
|
||||
|
|
57
.travis.yml
57
.travis.yml
|
@ -1,57 +0,0 @@
|
|||
language: java
|
||||
sudo: false
|
||||
|
||||
addons:
|
||||
chrome: stable
|
||||
|
||||
jdk:
|
||||
- oraclejdk11
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/mvn_repo
|
||||
- $HOME/.node_modules
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- travis
|
||||
- /^release-.+$/
|
||||
- /^dev-.+/
|
||||
|
||||
before_install:
|
||||
- export MVN_CMD="mvn -Dmaven.repo.local=$HOME/mvn_repo -B"
|
||||
- OLD_VERSION=`$MVN_CMD help:evaluate -Dexpression=project.version 2>/dev/null | grep -Ev "(^\[|Download)"`
|
||||
- BASE_VERSION=${OLD_VERSION%-SNAPSHOT}
|
||||
- NEW_VERSION=${BASE_VERSION}-dev-`printf %d $TRAVIS_BUILD_NUMBER`
|
||||
- ECLIPSE_VERSION=${BASE_VERSION}.dev_`printf %d $TRAVIS_BUILD_NUMBER`
|
||||
- export NEW_VERSION
|
||||
- export ECLIPSE_VERSION
|
||||
- export BASE_VERSION
|
||||
- echo "Building version $NEW_VERSION"
|
||||
- ./set-version.sh $NEW_VERSION $ECLIPSE_VERSION
|
||||
- rm -rf $HOME/.phpenv
|
||||
- rm -rf $HOME/.rvm
|
||||
- rm -rf $HOME/.m2
|
||||
|
||||
script:
|
||||
- $MVN_CMD -e install -Dteavm.junit.optimized=false -Dteavm.junit.js.decodeStack=false -P with-idea -P with-cli -Dteavm.junit.threads=2 -Dteavm.junit.js.runner=browser-chrome -V
|
||||
- rm -rf $BASE_PATH/tests/target/js-tests
|
||||
- rm -rf $BASE_PATH/html4j/target/js-tests
|
||||
- du -sh $HOME/.[!.]* /home/travis/* | sort -h
|
||||
- df
|
||||
|
||||
after_success: >
|
||||
if [[ "${TRAVIS_PULL_REQUEST:-unknown}" == "false" && $TRAVIS_BRANCH == dev-* ]] ; then
|
||||
export NEW_VERSION
|
||||
export FTP_HOST
|
||||
export FTP_PORT
|
||||
export FTP_USER
|
||||
export FTP_PATH
|
||||
export SSH_KEY
|
||||
mv -f $HOME/built_artifacts_backup $HOME/mvn_repo/org/teavm
|
||||
$MVN_CMD deploy -Dteavm.build.all=false -DskipTests --settings travis-settings.xml \
|
||||
-P deploy-to-bintray -P with-idea -P with-cli -P !download-dependencies && \
|
||||
./upload-files.sh
|
||||
fi
|
||||
before_cache:
|
||||
- mv -f $HOME/mvn_repo/org/teavm $HOME/built_artifacts_backup
|
|
@ -1,9 +1,8 @@
|
|||
TeaVM
|
||||
=====
|
||||
|
||||
[![Build Status](https://travis-ci.org/konsoletyper/teavm.svg?branch=master)](https://travis-ci.org/konsoletyper/teavm)
|
||||
|
||||
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.teavm/teavm-maven-plugin/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.teavm/teavm-maven-plugin)
|
||||
[![Bintray](https://api.bintray.com/packages/konsoletyper/teavm/teavm-dev/images/download.svg)](https://bintray.com/konsoletyper/teavm/teavm-dev/_latestVersion)
|
||||
[![Download](https://teavm.org/maven/badge.svg)](https://teavm.org/maven/_latest)
|
||||
[![Gitter chat](https://img.shields.io/badge/gitter-join%20chat-green.svg)](https://gitter.im/teavm/Lobby)
|
||||
[![Code Quality: Java](https://img.shields.io/lgtm/grade/java/g/konsoletyper/teavm.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/konsoletyper/teavm/context:java)
|
||||
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/konsoletyper/teavm.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/konsoletyper/teavm/alerts)
|
||||
|
|
34
build-all.sh
Executable file
34
build-all.sh
Executable file
|
@ -0,0 +1,34 @@
|
|||
#
|
||||
# Copyright 2021 Alexey Andreev.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
if [[ ! -d build-dir ]] ; then
|
||||
mkdir build-dir
|
||||
fi
|
||||
|
||||
git archive master | tar -x -C build-dir
|
||||
|
||||
pushd build-dir
|
||||
|
||||
mvn -e -V install \
|
||||
-P with-idea -P with-cli \
|
||||
-Dteavm.junit.optimized=false \
|
||||
-Dteavm.junit.js.decodeStack=false \
|
||||
-Dteavm.junit.threads=4 \
|
||||
-Dteavm.junit.js.runner=browser-chrome
|
||||
|
||||
rm -rf *
|
||||
|
||||
popd
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright 2017 Alexey Andreev.
|
||||
~ Copyright 2021 Alexey Andreev.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
|
@ -20,9 +20,9 @@
|
|||
http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
<servers>
|
||||
<server>
|
||||
<id>bintray-teavm</id>
|
||||
<username>${env.BINTRAY_LOGIN}</username>
|
||||
<password>${env.BINTRAY_API_KEY}</password>
|
||||
<id>teavm-repo</id>
|
||||
<username>${env.TEAVM_DEPLOY_LOGIN}</username>
|
||||
<password>${env.TEAVM_DEPLOY_PASSWORD}</password>
|
||||
</server>
|
||||
</servers>
|
||||
</settings>
|
110
deploy.sh
Executable file
110
deploy.sh
Executable file
|
@ -0,0 +1,110 @@
|
|||
#
|
||||
# Copyright 2021 Alexey Andreev.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
mkdir -p build-dir
|
||||
mkdir -p build-cache/maven-repository
|
||||
|
||||
git fetch
|
||||
git archive master | tar -x -C build-dir || { echo 'Git archive failed' ; exit 1; }
|
||||
|
||||
function deploy_teavm {
|
||||
TEAVM_OLD_VERSION=`mvn help:evaluate -Dexpression=project.version 2>/dev/null | grep -Ev "(^\[|Download)"`
|
||||
TEAVM_DEPLOY_VERSION=${TEAVM_OLD_VERSION%.0-SNAPSHOT}
|
||||
git rev-parse master >commit-id.txt
|
||||
TEAVM_DEPLOY_COMMIT_ID=`cat commit-id.txt`
|
||||
|
||||
if [[ "200" == `curl --output response --silent --write-out "%{http_code}" https://teavm.org/maven/versions/$TEAVM_DEPLOY_VERSION.txt` ]] ; then
|
||||
TEAVM_DEPLOY_BUILD=$((`cat response` + 1))
|
||||
else
|
||||
TEAVM_DEPLOY_BUILD=1
|
||||
fi
|
||||
rm response
|
||||
|
||||
TEAVM_DEPLOY_VERSION_FULL="$TEAVM_DEPLOY_VERSION.0-$TEAVM_DEPLOY_BUILD"
|
||||
|
||||
if [[ "200" == `curl --output response --silent --write-out "%{http_code}" https://teavm.org/maven/versions/$TEAVM_DEPLOY_VERSION_FULL-commit.txt` ]] ; then
|
||||
if [[ "$TEAVM_DEPLOY_COMMIT_ID" == `cat response` ]] ; then
|
||||
echo "There are no changes compared to previous build."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
rm response
|
||||
|
||||
echo "Building version $TEAVM_DEPLOY_VERSION_FULL"
|
||||
|
||||
sed -i -e "s/{{TEAVM_DEPLOY_URL}}/ftp:\/\/${TEAVM_DEPLOY_SERVER//\//\\/}\/maven\/repository/g" pom.xml
|
||||
|
||||
mvn -e versions:set \
|
||||
-DnewVersion="$TEAVM_DEPLOY_VERSION_FULL" \
|
||||
-DgenerateBackupPoms=false \
|
||||
|| { echo 'Setting version' ; return 1; }
|
||||
|
||||
mvn -e -V deploy \
|
||||
--settings ../deploy-settings.xml \
|
||||
-P with-idea -P with-cli -P deploy-to-teavm \
|
||||
-Dmaven.repo.local=`pwd`/../build-cache/maven-repository \
|
||||
-Dteavm.build.all=false \
|
||||
-Dteavm.junit.optimized=false \
|
||||
-Dteavm.junit.js.decodeStack=false \
|
||||
-Dteavm.junit.threads=4 \
|
||||
-Dteavm.junit.js.runner=browser-chrome \
|
||||
|| { echo 'Deploy failed' ; return 1; }
|
||||
|
||||
cat <<EOF >idea-repository.xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plugins>
|
||||
<plugin id="org.teavm.idea" url="https://teavm.org/maven/repository/org/teavm/teavm-idea/$TEAVM_DEPLOY_VERSION_FULL/teavm-idea-$TEAVM_DEPLOY_VERSION_FULL.zip" version="$TEAVM_DEPLOY_VERSION_FULL">
|
||||
<idea-version since-build="182.*" until-build="223.*" />
|
||||
<description>TeaVM support</description>
|
||||
</plugin>
|
||||
</plugins>
|
||||
EOF
|
||||
|
||||
curl --output badge.svg "https://img.shields.io/static/v1?label=download&message=$TEAVM_DEPLOY_VERSION_FULL&color=green"
|
||||
cat <<EOF >htaccess
|
||||
Redirect /maven/_latest /maven/repository/org/teavm/teavm-cli/$TEAVM_DEPLOY_VERSION_FULL/teavm-cli-$TEAVM_DEPLOY_VERSION_FULL.jar
|
||||
EOF
|
||||
|
||||
cat $TEAVM_DEPLOY_BUILD >build-number.txt
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
pushd build-dir
|
||||
deploy_teavm
|
||||
EXIT_CODE=$?
|
||||
if [[ "$EXIT_CODE" == '0' ]] ; then
|
||||
curl -T build-number.txt \
|
||||
ftp://$TEAVM_DEPLOY_SERVER/maven/versions/$TEAVM_DEPLOY_VERSION.txt \
|
||||
--user $TEAVM_DEPLOY_LOGIN:$TEAVM_DEPLOY_PASSWORD
|
||||
curl -T commit-id.txt \
|
||||
ftp://$TEAVM_DEPLOY_SERVER/maven/versions/$TEAVM_DEPLOY_VERSION_FULL-commit.txt \
|
||||
--user $TEAVM_DEPLOY_LOGIN:$TEAVM_DEPLOY_PASSWORD
|
||||
curl -T badge.svg \
|
||||
ftp://$TEAVM_DEPLOY_SERVER/maven/badge.svg \
|
||||
--user $TEAVM_DEPLOY_LOGIN:$TEAVM_DEPLOY_PASSWORD
|
||||
curl -T htaccess \
|
||||
ftp://$TEAVM_DEPLOY_SERVER/maven/.htaccess \
|
||||
--user $TEAVM_DEPLOY_LOGIN:$TEAVM_DEPLOY_PASSWORD
|
||||
curl -T idea-repository.xml \
|
||||
ftp://$TEAVM_DEPLOY_SERVER/idea/dev/teavmRepository.xml \
|
||||
--user $TEAVM_DEPLOY_LOGIN:$TEAVM_DEPLOY_PASSWORD
|
||||
fi
|
||||
popd
|
||||
|
||||
rm -rf build-dir
|
||||
rm -rf build-cache/maven-repository/org/teavm
|
||||
exit $EXIT_CODE
|
18
pom.xml
18
pom.xml
|
@ -214,6 +214,13 @@
|
|||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<extensions>
|
||||
<extension>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-ftp</artifactId>
|
||||
<version>3.4.3</version>
|
||||
</extension>
|
||||
</extensions>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
@ -402,5 +409,16 @@
|
|||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>deploy-to-teavm</id>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>teavm-repo</id>
|
||||
<name>Development Preview Repository</name>
|
||||
<url>{{TEAVM_DEPLOY_URL}}</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
$MVN_CMD versions:set -DnewVersion=$1 -DgenerateBackupPoms=false
|
||||
|
||||
#cd tools/eclipse
|
||||
#$MVN_CMD tycho-versions:set-version -DnewVersion=$2
|
||||
|
||||
#cd core-plugin
|
||||
#sed -r -i -e "s/<version><!-- update -->(.+)<\/version>/<version><!-- update -->$1<\/version>/" dep-pom.xml
|
||||
#sed -r -i -e "s/(lib\/teavm(-[a-z]+)+)-.+\.jar/\1-$1.jar/" build.properties
|
||||
#sed -r -i -e "s/(lib\/teavm(-[a-z]+)+)-.+\.jar/\1-$1.jar/" META-INF/MANIFEST.MF
|
||||
#cd ..
|
||||
|
||||
#cd m2e-plugin
|
||||
#sed -r -i -e "s/<versionRange>.+<\/versionRange>/<versionRange>$1<\/versionRange>/" lifecycle-mapping-metadata.xml
|
||||
#cd ..
|
||||
|
||||
#cd ../..
|
||||
|
|
@ -12,15 +12,7 @@ scp -o StrictHostKeyChecking=no -i /tmp/sftp_rsa -B -r -P $FTP_PORT tools/cli/ta
|
|||
#
|
||||
# Update IDEA repository descriptor
|
||||
#
|
||||
cat <<EOF >.idea-repository.xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plugins>
|
||||
<plugin id="org.teavm.idea" url="https://dl.bintray.com/konsoletyper/teavm/org/teavm/teavm-idea/$NEW_VERSION/teavm-idea-$NEW_VERSION.zip" version="$NEW_VERSION">
|
||||
<idea-version since-build="182.*" until-build="223.*" />
|
||||
<description>TeaVM support</description>
|
||||
</plugin>
|
||||
</plugins>
|
||||
EOF
|
||||
|
||||
|
||||
scp -o StrictHostKeyChecking=no -i /tmp/sftp_rsa -B -r -P $FTP_PORT .idea-repository.xml $SCP_TARGET/idea/dev/teavmRepository.xml
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user