75 lines
2.3 KiB
Bash
Executable File
75 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# 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
|
|
react_host=`hostname -I`
|
|
|
|
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
|
|
# 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
|
|
fi
|
|
|