summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authormvglasow <michael@vonglasow.com>2019-01-11 20:04:39 +0100
committerGitHub <noreply@github.com>2019-01-11 20:04:39 +0100
commitfabeea80a7f137ddb6e96e48bc543717aa7d5aec (patch)
tree08543e5adf9361d250857261697501d4d386ec9e /scripts
parent09345bbf2f236aeb33a1a9406b81ec035a01cd8b (diff)
parent5cf646c8f521db88bb68f5f7ca20c35c3474606b (diff)
downloadnavit-fabeea80a7f137ddb6e96e48bc543717aa7d5aec.tar.gz
Merge branch 'trunk' into coverity_bypass
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build_android_arm.sh61
-rw-r--r--scripts/build_linux.sh7
2 files changed, 68 insertions, 0 deletions
diff --git a/scripts/build_android_arm.sh b/scripts/build_android_arm.sh
new file mode 100755
index 000000000..74cf8e28d
--- /dev/null
+++ b/scripts/build_android_arm.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+# Build Navit for Android on ARM.
+#
+# This script is to be run from the root of the Navit source tree. It is used by CircleCI as well as for local builds,
+# in order to keep build environments as uniform as possible and CI test results meaningful.
+#
+# When running this script locally, ensure all build dependencies are in place:
+# - Packages required: cmake gettext libsaxonb-java librsvg2-bin pkg-config libprotobuf-c-dev protobuf-c-compiler
+# - Android SDK installed
+# - Environment variable $ANDROID_HOME points to Android SDK install location
+# - Android NDK and CMake components installed via
+# sdkmanager ndk-bundle "cmake;3.6.4111459"
+# (later CMake versions from the SDK repository may also work)
+#
+# If any of the build steps fails, this script aborts with an error immediately.
+
+echo Set up environment
+set - e
+export PATH=$PATH:$ANDROID_HOME/tools
+export JVM_OPTS="-Xmx3200m"
+export GRADLE_OPTS='-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
+
+echo Run CMake
+cmake ./ -Dvehicle/gpsd_dbus:BOOL=FALSE -Dsvg2png_scaling:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_nav:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_flag:STRING=-1,24,32,64,96 -DUSE_PLUGINS=n -DBUILD_MAPTOOL=n -DXSL_PROCESSING=y -DXSLTS=android -DANDROID=y -DSAMPLE_MAP=n || exit 1
+
+echo Process icons
+cd navit/icons
+make || exit 32
+mkdir ../android/res/drawable-nodpi
+rename 'y/A-Z/a-z/' ./*.png
+cp ./*.png ../android/res/drawable-nodpi
+cd ../../
+
+echo Process translations
+cd po
+make || exit 64
+mkdir ../navit/android/res/raw
+rename 'y/A-Z/a-z/' ./*.mo
+cp ./*.mo ../navit/android/res/raw
+cd ../
+
+echo Process xml config files
+make navit_config_xml || exit 96
+cd navit
+mkdir -p ./android/assets
+cp -R config ./android/assets/
+cd ../
+
+echo Chmod permissions
+chmod a+x ./gradlew
+
+echo Download dependencies
+./gradlew -v
+
+echo Build
+./gradlew assembleDebug || exit 128
+
+echo Build finished.
+echo APK should be in "navit/android/build/outputs/apk" and can be installed with
+echo ./gradlew installDebug
+
diff --git a/scripts/build_linux.sh b/scripts/build_linux.sh
index ba04c1efc..5d807ec45 100644
--- a/scripts/build_linux.sh
+++ b/scripts/build_linux.sh
@@ -10,6 +10,7 @@ cmake_opts="-Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOO
pushd $BUILD_PATH
# Build everything
+ echo "Building..."
cmake ${cmake_opts} ../
make -j $(nproc --all)
make package
@@ -19,14 +20,18 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun
# Temporarily disabled because Coverity is down.
# TODO on the long run, CI should not fail just because the Coverity test did not run,
# especially if the test results are not taken into account.
+ #echo "Pushing an update to coverity as we are building the official trunk code."
+ #echo "Downloading coverity..."
#curl \
# -X POST --data "token=${COVERITY_TOKEN}&project=${CIRCLE_PROJECT_USERNAME}" \
# -o /tmp/cov-analysis-linux64-${COVERITY_VERSION}.tar.gz -s \
# https://scan.coverity.com/download/linux64
+ #echo "Unpacking coverity..."
#tar xfz /tmp/cov-analysis-linux64-${COVERITY_VERSION}.tar.gz --no-same-owner -C /usr/local/share/
#export PATH=/usr/local/share/cov-analysis-linux64-${COVERITY_VERSION}/bin:$PATH
+ #echo "Re-running build with coverity..."
#cov-build --dir cov-int make -j $(nproc --all)
#tar czvf navit.tgz cov-int
@@ -38,11 +43,13 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun
# https://scan.coverity.com/builds?project=$CIRCLE_PROJECT_USERNAME
# Then update the translation template on launchpad
+ echo "Updating the translation template on launchpad..."
sed -i '/INTEGER/d' po/navit.pot
cp po/navit.pot $CIRCLE_ARTIFACTS/
curl "https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -H "$lp_cookie" -H "Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -F file=@po/navit.pot | grep title
fi
if [[ "$CIRCLE_ARTIFACTS" != "" ]]; then
+ echo "Copying icons to artifacts..."
cp -r navit/icons $CIRCLE_ARTIFACTS
fi