X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=build.sh;h=b6d6979bef1c3b9a17d62b352f4ac1aae4397a8c;hb=b90ab45e7b4a230ad8695e85a39a6d7c7eb5e569;hp=f94cc326c0b414c1be7452bda6d0c49f97f87241;hpb=1a454727ee55787f2153a82790f74d2b7c868efb;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git diff --git a/build.sh b/build.sh index f94cc32..b6d6979 100755 --- a/build.sh +++ b/build.sh @@ -1,26 +1,22 @@ -#!/bin/bash +#!/bin/bash -e SCRIPT_FILE=$(readlink -f $0) SCRIPT_DIR=$(dirname $SCRIPT_FILE) OUTDIR=$SCRIPT_DIR/Artifacts -RETRY_CMD="$SCRIPT_DIR/tools/scripts/retry.sh" -TIMEOUT_CMD="$SCRIPT_DIR/tools/scripts/timeout.sh" -DOTNET_CMD="$RETRY_CMD $TIMEOUT_CMD 600 dotnet" +RUN_BUILD="dotnet msbuild $SCRIPT_DIR/build/build.proj /nologo" -RUN_BUILD="$DOTNET_CMD msbuild $SCRIPT_DIR/build/build.proj /nologo" - -VERSION_PREFIX=5.0.0 +VERSION_PREFIX=6.0.0 usage() { echo "Usage: $0 [command] [args]" echo "Commands:" echo " build [module] Build a specific module" echo " full Build all modules in src/ directory" - echo " ext Build external modules in externals/ directory" echo " dummy Generate dummy assemblies of all modules" echo " pack [version] Make a NuGet package with build artifacts" + echo " install [target] Install assemblies to the target device" echo " clean Clean all artifacts" } @@ -32,46 +28,74 @@ cmd_build() { if [ -d /nuget ]; then NUGET_SOURCE_OPT="/p:RestoreSources=/nuget" fi - $RUN_BUILD /t:restore /p:Project=$1 $NUGET_SOURCE_OPT - $RUN_BUILD /t:build /p:Project=$1 + PROJECT=$1; shift + $RUN_BUILD /t:restore /p:Project=$PROJECT $NUGET_SOURCE_OPT $@ + $RUN_BUILD /t:build /p:Project=$PROJECT $@ } cmd_full_build() { if [ -d /nuget ]; then NUGET_SOURCE_OPT="/p:RestoreSources=/nuget" fi + rm -f msbuild.log $RUN_BUILD /t:clean - $RUN_BUILD /t:restore $NUGET_SOURCE_OPT - $RUN_BUILD /t:build + $RUN_BUILD /t:restore $NUGET_SOURCE_OPT $@ + $RUN_BUILD /t:build /fl $@ + $RUN_BUILD /t:dummy } cmd_dummy_build() { - if [ -d /nuget ]; then - NUGET_SOURCE_OPT="/p:RestoreSources=/nuget" - fi - $RUN_BUILD /t:restore $NUGET_SOURCE_OPT - $RUN_BUILD /t:dummy $NUGET_SOURCE_OPT -} - -cmd_ext_build() { - if [ -d /nuget ]; then - NUGET_SOURCE_OPT="/p:RestoreSources=/nuget;$SCRIPT_DIR/packages;$SCRIPT_DIR/Artifacts" - fi - PROJECTS=$(ls -1 $SCRIPT_DIR/externals/*.proj) - for p in $PROJECTS; do - $DOTNET_CMD msbuild $p /t:Build $NUGET_SOURCE_OPT /nologo - done + $RUN_BUILD /t:dummy } cmd_pack() { VERSION=$1 if [ -z "$VERSION" ]; then + pushd $SCRIPT_DIR > /dev/null VERSION=$VERSION_PREFIX.$((10000+$(git rev-list --count HEAD))) + popd > /dev/null fi $RUN_BUILD /t:pack /p:Version=$VERSION } +cmd_install() { + DEVICE_ID=$1 + + RUNTIME_ASSEMBLIES="$OUTDIR/bin/public/*.dll $OUTDIR/bin/internal/*.dll" + TARGET_ASSEMBLY_PATH="/usr/share/dotnet.tizen/framework" + + device_cnt=$(sdb devices | grep -v "List" | wc -l) + if [ $device_cnt -eq 0 ]; then + echo "No connected devices" + exit 1 + fi + + if [ $device_cnt -gt 1 ] && [ -z "$DEVICE_ID" ]; then + echo "Multiple devices are connected. Specify the device. (ex: ./build.sh install [device-id])" + sdb devices + exit 1 + fi + + SDB_OPTIONS="" + if [ -n "$DEVICE_ID" ]; then + SDB_OPTIONS="-s $DEVICE_ID" + fi + + sdb $SDB_OPTIONS root on + sdb $SDB_OPTIONS shell mount -o remount,rw / + sdb $SDB_OPTIONS push $RUNTIME_ASSEMBLIES $TARGET_ASSEMBLY_PATH + + nifile_cnt=$(sdb $SDB_OPTIONS shell find $TARGET_ASSEMBLY_PATH -name '*.ni.dll' | wc -l) + if [ $nifile_cnt -gt 0 ]; then + sdb $SDB_OPTIONS shell "rm -f $TARGET_ASSEMBLY_PATH/*.ni.dll" + sdb $SDB_OPTIONS shell nitool --system + sdb $SDB_OPTIONS shell nitool --regen-all-app + fi + + sdb $SDB_OPTIONS shell chsmack -a '_' $TARGET_ASSEMBLY_PATH/* +} + cmd_clean() { $RUN_BUILD /t:clean } @@ -81,8 +105,8 @@ case "$cmd" in build|--build|-b) cmd_build $@ ;; full |--full |-f) cmd_full_build $@ ;; dummy|--dummy|-d) cmd_dummy_build $@ ;; - ext |--ext |-e) cmd_ext_build $@ ;; pack |--pack |-p) cmd_pack $@ ;; + install |--install |-i) cmd_install $@ ;; clean|--clean|-c) cmd_clean $@ ;; *) usage ;; esac