Retry 3 times if dotnet process is exited with error code accepted/tizen/unified/20170824.172108 submit/tizen/20170824.000233
authorWonYoung Choi <wy80.choi@samsung.com>
Thu, 24 Aug 2017 00:01:18 +0000 (09:01 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Thu, 24 Aug 2017 00:01:18 +0000 (09:01 +0900)
Change-Id: If27f2a3ea4746f3e1c052ea29b1b1ea6356bddd6

Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets [deleted file]
Tools/dotnet-build.sh
Tools/retry.sh [new file with mode: 0755]
packaging/dotnet-build-tools.spec
packaging/macros.dotnet-build-tools

diff --git a/Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets b/Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets
deleted file mode 100644 (file)
index d8aab8d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
-  <PropertyGroup Condition=" '$(UsingRPMMacro)' == 'true' ">
-
-    <!-- DocumentationFile -->
-    <NoWarn>$(NoWarn);1591</NoWarn>
-    <DocumentationFile Condition="'$(DocumentationFile)' == ''">$(OutputPath)$(AssemblyName).xml</DocumentationFile>
-
-  </PropertyGroup>
-
-</Project>
index 2b32b29..24f29ae 100755 (executable)
@@ -1,5 +1,11 @@
 #!/bin/bash
 
+SCRIPT_FILE=$(readlink -f $0)
+SCRIPT_DIR=$(dirname $SCRIPT_FILE)
+
+TIMEOUT_CMD="$SCRIPT_DIR/timeout.sh"
+RETRY_CMD="$SCRIPT_DIR/retry.sh"
+
 usage() {
   echo "usage: "
   echo " $0 restore <project> [-s <source>] ..."
@@ -15,29 +21,9 @@ exit_on_error() {
   fi
 }
 
-retry() {
-  local CMD=$1; shift
-  local RETRY=$1; shift
-  local RET=0
-  local n=0
-  until [ $n -ge $RETRY ]; do
-    if [ $n -gt 0 ]; then
-      sleep 2
-      echo "Retry $n ....."
-    fi
-    echo "+ $CMD $@"
-    $CMD $@
-    RET=$?
-    if [ $RET -eq 0 ]; then
-      break
-    fi
-    n=$[$n+1]
-  done
-  exit_on_error $RET
-}
-
 run_nuget() {
-  retry nuget 3 $@
+  $RETRY_CMD nuget $@
+  exit_on_error $?
 }
 
 run_xbuild() {
@@ -48,7 +34,7 @@ run_xbuild() {
 
 run_dotnet() {
   echo "+ dotnet $@"
-  timeout 3600 dotnet $@
+  $RETRY_CMD $TIMEOUT_CMD 600 dotnet $@
   exit_on_error $?
 }
 
diff --git a/Tools/retry.sh b/Tools/retry.sh
new file mode 100755 (executable)
index 0000000..b6add9d
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+retry_count=3
+cmd="${@}"
+
+n=0
+until [ $n -ge $retry_count ]; do
+  if [ $n -gt 0 ]; then
+    echo "(Failed! Retry $[$n+1]/$retry_count) $cmd"
+    sleep 2
+  fi
+  $cmd
+  RET=$?
+  if [ $RET -eq 0 ]; then
+    break
+  else
+    n=$[$n+1]
+  fi
+done
+
+exit $RET
index 23fd3c7..c28b70f 100644 (file)
@@ -3,7 +3,7 @@
 
 Name:       dotnet-build-tools
 Summary:    Tools for building C# API projects
-Version:    1.3.0
+Version:    1.3.1
 Release:    1
 Group:      Development/Libraries
 License:    MIT and Apache-2.0
@@ -58,16 +58,12 @@ mkdir -p %{buildroot}%{_bindir}
 mkdir -p %{buildroot}%{TOOLS_PATH}
 install -p -m 755 Tools/* %{buildroot}%{TOOLS_PATH}
 ln -s %{TOOLS_PATH}/dotnet-build.sh %{buildroot}%{_bindir}/dotnet-build
-ln -s %{TOOLS_PATH}/timeout.sh %{buildroot}%{_bindir}/timeout
 
 # dotnet-cli
 mkdir -p %{buildroot}%{CLI_PATH}
 cp -fr ./dotnet/* %{buildroot}%{CLI_PATH}
 ln -s %{CLI_PATH}/dotnet %{buildroot}%{_bindir}/dotnet
 
-# Tizen.GBS.BuildTasks
-install -p -m 644 Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets %{buildroot}%{CLI_PATH}/sdk/*/15.0/Microsoft.Common.targets/ImportAfter
-
 # NuGet
 mkdir -p %{buildroot}%{NUGET_PATH}
 install -p -m 755 NuGet/* %{buildroot}%{NUGET_PATH}
index 140e41b..a40fd66 100644 (file)
@@ -14,7 +14,6 @@
 %dotnet_assembly_files  %{_dotnet_assembly_path}/*.dll
 %dotnet_nuget_source    %{_dotnet_nuget_source}
 
-# %_dotnet_build_conf %{lua:if tonumber(rpm.expand("0%{?tizen_build_devel_mode}")) == 1 then print "Debug" else print "Release" end}
 %_dotnet_build_conf Release
 
 %dotnet_nuget_package(n:f:)\
@@ -47,11 +46,11 @@ dotnet-build -s %{-s:%{-s*}}%{!-s:%{_dotnet_nuget_source}} restore %{1} %{?2} %{
 %{nil}
 
 %dotnet_build(s:) \
-dotnet-build -c %{_dotnet_build_conf} -s %{-s:%{-s*}}%{!-s:%{_dotnet_nuget_source}} build %{1} /p:UsingRPMMacro=true %{?2} %{?3} %{?4} %{?5} %{?6} \
+dotnet-build -c %{_dotnet_build_conf} -s %{-s:%{-s*}}%{!-s:%{_dotnet_nuget_source}} build %{1} %{?2} %{?3} %{?4} %{?5} %{?6} \
 %{nil}
 
 %dotnet_pack() \
-dotnet-build -c %{_dotnet_build_conf} %{?2:-v %{2}} pack %{1} /p:UsingRPMMacro=true %{?3} %{?4} %{?5} %{?6} %{?7} \
+dotnet-build -c %{_dotnet_build_conf} %{?2:-v %{2}} pack %{1} %{?3} %{?4} %{?5} %{?6} %{?7} \
 %{nil}
 
 %dotnet_install_assembly() \