2019-03-01 13:24:23 +00:00
#!/usr/bin/env bash
2018-07-23 15:21:31 +00:00
# Copyright (C) 2016, Canonical Ltd.
# All rights reserved.
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
args = ""
on_device = 0
plugins_path = ""
asset_path = "share"
executor = ""
# Parse args
for arg in " $@ "
do
IFS = "=" read -a parts <<< " $arg "
if [ [ $parts = = "--on-device" ] ] ; then
on_device = 1
elif [ [ $parts = = "--plugins-path" ] ] ; then
plugins_path = ${ parts [1] }
args = $args " --plugins-path=./plugins"
elif [ [ $parts = = "--asset-path" ] ] ; then
asset_path = ${ parts [1] }
elif [ [ $parts = = "--executor" ] ] ; then
if [ [ $on_device = = 1 ] ] ; then
# Force net executor for now
executor = "ReactNetExecutor"
else
executor = ${ parts [1] }
fi
args = $args " --executor= $executor "
else
args = $args " $parts "
fi
done
# Handle defaults
if [ [ -z " $executor " ] ] ; then
if [ [ $on_device = = 1 ] ] ; then
executor = "ReactNetExecutor"
args = $args " --executor=ReactNetExecutor"
fi
# The RN application selects pipe executor by default
fi
# For net case, try and run executor; it is probably OK if this fails - it's
# just running elsewhere
if [ [ " $executor " = = "ReactNetExecutor" ] ] ; then
( node @CMAKE_BINARY_DIR@/bin/ubuntu-server.js 2>& 1 > /dev/null) &
fi
if [ [ $on_device = = 1 ] ] ; then
app_path = "/home/phablet/@APP_NAME@"
# Push binaries
adb push @CMAKE_BINARY_DIR@/bin/@APP_NAME@ " $app_path /@APP_NAME@ "
[ -d " $plugins_path " ] && adb push " $plugins_path " " $app_path /plugins/ "
[ -d " $asset_path " ] && adb push " $asset_path " " $app_path /share/ "
# adb reverse --no-rebind tcp:8081 tcp:808
# Run app on device
2019-02-15 08:04:03 +00:00
react_host = ` hostname -I`
2018-07-23 15:21:31 +00:00
adb shell " cd $app_path && REACT_SERVER_HOST= $react_host ./@APP_NAME@ --host $react_host $args -- --desktop_file_hint=/usr/share/applications/webbrowser-app.desktop "
else
# Run app locally
2019-02-15 08:04:03 +00:00
# Note: Needed to add QT_XCB_GL_INTEGRATION=none when migrating to Nix, since running the app in debug mode inside Nix shell was failing at run time with "qt.glx: qglx_findConfig: Failed to finding matching FBConfig (1 1 1 0)\nCould not initialize GLX"
QT_XCB_GL_INTEGRATION = none @CMAKE_BINARY_DIR@/bin/@APP_NAME@ $args
2018-07-23 15:21:31 +00:00
fi