Skip to content
Snippets Groups Projects
Commit 6ec33835 authored by dabdulkerimov's avatar dabdulkerimov
Browse files

prod_build addition

parent 13e7e7a9
No related branches found
No related tags found
3 merge requests!71Support 2649,!70Support 2649,!69Support 2649
Showing
with 207 additions and 0 deletions
ANDROID_NDK_HOME="/opt/android-ndk-r16b"
SDKROOT="/opt/android-sdk/bin"
NDKHOST="linux-x86_64"
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
ANDRQT_HOME="/usr/lib/crossdev"
HOST_DISTR_VERSIONS="stretch"
HOST_ARCH_VERSIONS="amd64"
RES_PATH=SapNetGui/resources/UltraPad/platforms/android
WORK_PATH=../sapnet-client-build
BRAND=UltraPad
ARCH_VERSIONS="arm64-v8a armv7 x86 x86_64 arm"
PACKAGE_PATH=builds/apk/
VERSION_FILE=config.pri
VERSION_ENTRIES="VER_MAJ VER_MIN VER_PAT VER_CODE"
VERSION_FORMAT="VER_MAJ.VER_MIN-VER_PAT"
papizh-key/creds.conf
\ No newline at end of file
export ALIAS=pconst
export PASS=B0yc3-K0dd
File added
papizh-key/release-key.jks
\ No newline at end of file
#!/bin/bash
. ./prod_build/general/pre-build.sh
export_variables "./prod_build/android/conf/*"
#read_conf.
#src_path=$workdir/resources/SAP/sapnet-client
#WORK_PATH=$wd/resources/SAP/sapnet-client-build
SRC_DIR=$(pwd)
RES_PATH=${SRC_DIR}/$RES_PATH
exitcode=0
echo "DexGuard tuning"
[ -f "$RES_PATH/gradle.properties" ] || { echo "systemProp.dexguard.license=/usr/local/etc/dexguard-license.txt" >> $RES_PATH/gradle.properties && echo "enableDexGuard=true" >> $RES_PATH/gradle.properties ; }
sed -i '/flatDir/s/'"'"'.*'"'"' }/'"'"'\/opt\/DexGuard\/DexGuard-8.2.12\/lib'"'"' }/' $RES_PATH/build.gradle
mkdir -p $SRC_DIR/build/apk
BRAND=`cat *.pro | grep "BRAND " | rev | cut -d " " -f1 | rev`
echo "extracting version"
VERSION=$(extract_version_number)
echo "version number is $VERSION"
. prod_build/android/essentials/key/creds.conf
mkdir -p $WORK_PATH
cd $WORK_PATH
rm -rf *
APK_PATH=android/build/outputs/apk
echo "arch-versions are $ARCH_VERSIONS"
IFS=" "
for arch in $ARCH_VERSIONS; do
mkdir -p $arch
cd $arch
export QT_SELECT=$arch
ANDRQT_HOME=/usr/lib/crossdev/android-$arch/*/bin
$ANDRQT_HOME/qmake -r -spec android-g++ CONFIG+=release CONFIG+=qml_release BRAND=$BRAND BRAND_TARGET=$BRAND $SRC_DIR/*.pro && \
$ANDROID_NDK_HOME/prebuilt/$NDKHOST/bin/make -j3 && \
$ANDROID_NDK_HOME/prebuilt/$NDKHOST/bin/make install INSTALL_ROOT=$(pwd)/android && \
echo "Deploying in " && pwd && $ANDRQT_HOME/androiddeployqt --output android --verbose --input SapNetGui/*.json --sign $SRC_DIR/prod_build/android/essentials/key/release-key.jks $ALIAS --storepass $PASS --jdk $JAVA_HOME --gradle && \
mv -v $(pwd)/$APK_PATH/android-release-signed.apk $SRC_DIR/build/apk/"$BRAND-${VERSION}_$arch.apk" || \
exitcode=$?
cd ..
if [[ $exitcode != 0 ]]; then
echo "Build failed with exit code $exitcode"
cd $workdir
exit $exitcode
fi
done
cd $workdir
#!/bin/bash
export_variables() {
IFS=$'\n'
for variable in $(cat prod_build/$platform/conf/*); do
[ -z $1 ] && export $(echo "$variable" | sed 's/\"//g') || export -n $(echo $variable | cut -d '=' -f1)
done
}
CHROOT_PREFIX="builder"
CHROOTS_PATH=$1
PLATFORMS=$2
PKG_FORMAT=$3
SRC_PATH=$4
JOB=$5
cd $SRC_PATH
echo "Platforms are $PLATFORMS"
for platform in $PLATFORMS; do
export_variables
IFS=' '
PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1)
#Check if chroots are present
echo $HOST_DISTR_VERSIONS
echo $HOST_ARCH_VERSIONS
[ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh #For actions not in chroot (version update)
for distr in $HOST_DISTR_VERSIONS; do
for arch in $HOST_ARCH_VERSIONS; do
if [ -e $CHROOTS_PATH/$CHROOT_PREFIX-$distr-$arch ]; then
schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh $PKG_TYPE || errcode=$?
# echo "schroot stub $PKG_TYPE"
else
echo "chroot $CHROOT_PREFIX-$distr-$arch not found. You should install it first"
fi
done
done
# [ -e prod_build/$platform/scripts/post-build.sh ] && prod_build/$platform/scripts/post-build.sh #For post-build actions not in chroot (global publish)
PKG_FORMAT=$(echo $PKG_FORMAT | cut -d ' ' -f2-)
# export_variables clean
done
#[ $(mount | grep "/run/schroot/mount") ] && sudo umount -l /run/schroot/mount && sudo rm -r /run/schroot/mount/* #Removing mountpoint odds.
cd $wd
#!/bin/bash
export_variables() {
IFS=$'\n'
for variable in $(cat prod_build/$platform/conf/*); do
[ -z $1 ] && export $(echo "$variable" | sed 's/\"//g') || export -n $(echo $variable | cut -d '=' -f1)
done
}
CHROOT_PREFIX="builder"
CHROOTS_PATH=$1
PLATFORMS=$2
PKG_FORMAT=$3
SRC_PATH=$4
JOB=$5
cd $SRC_PATH
for platform in $PLATFORMS; do
export_variables
IFS=' '
PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1)
#Check if chroots are present
echo $HOST_DISTR_VERSIONS
echo $HOST_ARCH_VERSIONS
[ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh #For actions not in chroot (like version update)
for distr in $HOST_DISTR_VERSIONS; do
for arch in $HOST_ARCH_VERSIONS; do
if [ -e $CHROOTS_PATH/$CHROOT_PREFIX-$distr-$arch ]; then
schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh $PKG_TYPE || errcode=$?
else
echo "chroot $CHROOT_PREFIX-$distr-$arch not found. You should install it first"
fi
done
done
[ -e prod_build/$platform/scripts/post-build.sh ] && prod_build/$platform/scripts/post-build.sh #For post-build actions not in chroot (like global publish)
PKG_FORMAT=$(echo $PKG_FORMAT | cut -d ' ' -f2-)
export_variables clean
done
[ $(mount | grep "/run/schroot/mount") ] && sudo umount -l /run/schroot/mount && sudo rm -r /run/schroot/mount/* #Removing mountpoint odds.
cd $wd
VERSION_FILE=config.pri
VERSION_ENTRIES="VER_MAJ VER_MIN VER_PAT VER_CODE"
VERSION_FORMAT="VER_MAJ.VER_MIN-VER_PAT"
#!/bin/bash
extract_version_number() {
IFS=" "
local VERSION_STRING=$VERSION_FORMAT
for entry in $VERSION_ENTRIES; do
VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
done
echo -e "$VERSION_STRING"
}
extract_gitlog_text() {
borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
upb=$(echo $borders | cut -d $'\n' -f1)
dwnb=$(echo $borders | cut -d $'\n' -f2)
text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
echo $text
}
export_variables() {
IFS=$'\n'
for variable in $(cat $1); do
echo "$variable"
export $(echo "$variable" | sed 's/\"//g')
done
}
unexport_variables() {
IFS=$'\n'
for variable in $(cat $1); do
echo "$variable"
export -n $(echo $variable | cut -d '=' -f1)
done
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment