aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRaphaël Cotty <raphael.cotty@gmail.com>2020-01-09 22:02:33 +0100
committerRaphaël Cotty <raphael.cotty@gmail.com>2020-01-10 15:15:21 +0000
commit09c9fbfbdf4aa2c6e84e080da32693b64719ca3c (patch)
treea49e6020c2170aea1536719aad775f3b89b86a66 /scripts
parent4bdd40c12364b11e425ffb9904fd75d591dc7dfb (diff)
Add Docker environment to test Qbs with Qt for Android
The Docker images contains ndk r20 and qt 5.13.2 as well as 5.14.0. Containers can be started with the following command line: - docker-compose pull bionic-android-513 - docker-compose run --rm bionic-android-513 The current folder is mounted under /qbs. Assuming that Qbs has been built in the current directory and with release configuration, the autotests can be invoked with: docker-compose run --rm bionic-android-513 scripts/test-qt-for-android.sh \ release/install-root/usr/local/bin A job Travis CI job is added which builds Qt and runs the Android blackbox tests. Change-Id: I76b1901cb7c41f8b5b0122265c99c9b37b59f261 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/test-qt-for-android.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/test-qt-for-android.sh b/scripts/test-qt-for-android.sh
new file mode 100755
index 000000000..877afbc30
--- /dev/null
+++ b/scripts/test-qt-for-android.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env bash
+set -eu
+
+#############################################################################
+##
+## Copyright (C) 2019 Richard Weickelt.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of Qbs.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+export PATH="$1:$PATH"
+
+#
+# These are set outside of this script, for instance in the Docker image
+#
+QT_INSTALL_DIR=/opt/Qt/${QT_VERSION}
+echo "Android SDK installed at ${ANDROID_SDK_ROOT}"
+echo "Android NDK installed at ${ANDROID_NDK_ROOT}"
+echo "Qt installed at ${QT_INSTALL_DIR}"
+
+qbs setup-android --ndk-dir ${ANDROID_HOME}/ndk-bundle --sdk-dir ${ANDROID_HOME} qbs_autotests-android
+qbs setup-android --ndk-dir ${ANDROID_HOME}/ndk-bundle --sdk-dir ${ANDROID_HOME} --qt-dir ${QT_INSTALL_DIR} qbs_autotests-android-qt
+
+qbs config --unset profiles.qbs_autotests-android-qt.qbs.architectures
+qbs config profiles.qbs_autotests-android-qt.qbs.architecture armv7a
+
+qbs config --list
+
+export QBS_AUTOTEST_PROFILE=qbs_autotests-android
+export QBS_AUTOTEST_ALWAYS_LOG_STDERR=true
+
+tst_blackbox-android
+