Use NETStandard 2.0 50/149150/1 preview1-00184
authorWonyoung Choi <wy80.choi@samsung.com>
Mon, 11 Sep 2017 23:32:14 +0000 (08:32 +0900)
committerWonyoung Choi <wy80.choi@samsung.com>
Mon, 11 Sep 2017 23:32:14 +0000 (08:32 +0900)
Change-Id: Ia3a3c1209c5ea50d866c6958da1567e8c09b0a81

96 files changed:
build.sh
build/build.dummy.csproj
build/build.proj
build/common.props
build/dependencies.props [deleted file]
pkg/Tizen.NET.Private.nuspec
pkg/Tizen.NET.nuspec
src/ElmSharp.Wearable/ElmSharp.Wearable.csproj
src/ElmSharp/ElmSharp.csproj
src/Tizen.Account.AccountManager/Tizen.Account.AccountManager.csproj
src/Tizen.Account.FidoClient/Tizen.Account.FidoClient.csproj
src/Tizen.Account.OAuth2/Tizen.Account.OAuth2.csproj
src/Tizen.Account.SyncManager/Tizen.Account.SyncManager.csproj
src/Tizen.Applications.Alarm/Tizen.Applications.Alarm.csproj
src/Tizen.Applications.AttachPanel/Tizen.Applications.AttachPanel.csproj
src/Tizen.Applications.Badge/Tizen.Applications.Badge.csproj
src/Tizen.Applications.Common/Tizen.Applications.Common.csproj
src/Tizen.Applications.DataControl/Tizen.Applications.DataControl.csproj
src/Tizen.Applications.MessagePort/Tizen.Applications.MessagePort.csproj
src/Tizen.Applications.Notification/Tizen.Applications.Notification.csproj
src/Tizen.Applications.NotificationEventListener/Tizen.Applications.NotificationEventListener.csproj
src/Tizen.Applications.PackageManager/Tizen.Applications.PackageManager.csproj
src/Tizen.Applications.Preference/Tizen.Applications.Preference.csproj
src/Tizen.Applications.RemoteView/Tizen.Applications.RemoteView.csproj
src/Tizen.Applications.Service/Tizen.Applications.Service.csproj
src/Tizen.Applications.Shortcut/Tizen.Applications.Shortcut.csproj
src/Tizen.Applications.ToastMessage/Tizen.Applications.ToastMessage.csproj
src/Tizen.Applications.UI/Tizen.Applications.UI.csproj
src/Tizen.Applications.WatchApplication/Tizen.Applications.WatchApplication.csproj
src/Tizen.Applications.WidgetApplication/Tizen.Applications.WidgetApplication.csproj
src/Tizen.Applications.WidgetControl/Tizen.Applications.WidgetControl.csproj
src/Tizen.CallManager/Tizen.CallManager.csproj
src/Tizen.Content.Download/Tizen.Content.Download.csproj
src/Tizen.Content.MediaContent/Tizen.Content.MediaContent.csproj
src/Tizen.Content.MimeType/Tizen.Content.MimeType.csproj
src/Tizen.Context/Tizen.Context.csproj
src/Tizen.Convergence/Tizen.Convergence.csproj
src/Tizen.Location.Geofence/Tizen.Location.Geofence.csproj
src/Tizen.Location/Tizen.Location.csproj
src/Tizen.Log/Tizen.Log.csproj
src/Tizen.Maps/Tizen.Maps.csproj
src/Tizen.Messaging.Push/Tizen.Messaging.Push.csproj
src/Tizen.Messaging/Tizen.Messaging.csproj
src/Tizen.Multimedia.AudioIO/Tizen.Multimedia.AudioIO.csproj
src/Tizen.Multimedia.Camera/Tizen.Multimedia.Camera.csproj
src/Tizen.Multimedia.MediaCodec/Tizen.Multimedia.MediaCodec.csproj
src/Tizen.Multimedia.MediaPlayer/Tizen.Multimedia.MediaPlayer.csproj
src/Tizen.Multimedia.Metadata/Tizen.Multimedia.Metadata.csproj
src/Tizen.Multimedia.Radio/Tizen.Multimedia.Radio.csproj
src/Tizen.Multimedia.Recorder/Tizen.Multimedia.Recorder.csproj
src/Tizen.Multimedia.Remoting/Tizen.Multimedia.Remoting.csproj
src/Tizen.Multimedia.StreamRecorder/Tizen.Multimedia.StreamRecorder.csproj
src/Tizen.Multimedia.Util/Tizen.Multimedia.Util.csproj
src/Tizen.Multimedia.Vision/Tizen.Multimedia.Vision.csproj
src/Tizen.Multimedia/Tizen.Multimedia.csproj
src/Tizen.NUI/Tizen.NUI.csproj
src/Tizen.NUI/src/internal/dotnetcore/AddedException.cs [deleted file]
src/Tizen.NUI/src/internal/dotnetcore/HandleRef.cs [deleted file]
src/Tizen.Network.Bluetooth/Tizen.Network.Bluetooth.csproj
src/Tizen.Network.Connection/Tizen.Network.Connection.csproj
src/Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity.csproj
src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj
src/Tizen.Network.Nfc/Tizen.Network.Nfc.csproj
src/Tizen.Network.Nsd/Tizen.Network.Nsd.csproj
src/Tizen.Network.Smartcard/Tizen.Network.Smartcard.csproj
src/Tizen.Network.WiFi/Tizen.Network.WiFi.csproj
src/Tizen.Network.WiFiDirect/Tizen.Network.WiFiDirect.csproj
src/Tizen.PhonenumberUtils/Tizen.PhonenumberUtils.csproj
src/Tizen.Pims.Calendar/Tizen.Pims.Calendar.csproj
src/Tizen.Pims.Contacts/Tizen.Pims.Contacts.csproj
src/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository.csproj
src/Tizen.Security.TEEC/Tizen.Security.TEEC.csproj
src/Tizen.Security/Tizen.Security.csproj
src/Tizen.Sensor/Tizen.Sensor.csproj
src/Tizen.System.Feedback/Tizen.System.Feedback.csproj
src/Tizen.System.Information/Tizen.System.Information.csproj
src/Tizen.System.MediaKey/Tizen.System.MediaKey.csproj
src/Tizen.System.PlatformConfig/Tizen.System.PlatformConfig.csproj
src/Tizen.System.Storage/Tizen.System.Storage.csproj
src/Tizen.System.SystemSettings/Tizen.System.SystemSettings.csproj
src/Tizen.System/Tizen.System.csproj
src/Tizen.Tapi/Tizen.Tapi.csproj
src/Tizen.Telephony/Tizen.Telephony.csproj
src/Tizen.Tracer/Tizen.Tracer.csproj
src/Tizen.Uix.InputMethod/Tizen.Uix.InputMethod.csproj
src/Tizen.Uix.InputMethodManager/Tizen.Uix.InputMethodManager.csproj
src/Tizen.Uix.Stt/Tizen.Uix.Stt.csproj
src/Tizen.Uix.SttEngine/Tizen.Uix.SttEngine.csproj
src/Tizen.Uix.Tts/Tizen.Uix.Tts.csproj
src/Tizen.Uix.TtsEngine/Tizen.Uix.TtsEngine.csproj
src/Tizen.Uix.VoiceControl/Tizen.Uix.VoiceControl.csproj
src/Tizen.WebView/Tizen.WebView.csproj
src/Tizen/Tizen.csproj
tools/module.csproj.template
tools/retry.sh [new file with mode: 0755]
tools/timeout.sh [new file with mode: 0755]

index 7adf108..359af21 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -7,9 +7,15 @@ SCRIPT_DIR=$(dirname $SCRIPT_FILE)
 OUTDIR=$SCRIPT_DIR/Artifacts
 
 NUGET_CMD="mono $SCRIPT_DIR/tools/NuGet.exe"
-MSBUILD_CMD="dotnet msbuild"
 
-RUN_BUILD="$MSBUILD_CMD $SCRIPT_DIR/build/build.proj"
+RETRY_CMD="$SCRIPT_DIR/tools/retry.sh"
+TIMEOUT_CMD="$SCRIPT_DIR/tools/timeout.sh"
+
+DOTNET_CMD="$RETRY_CMD $TIMEOUT_CMD 600 dotnet"
+
+RUN_BUILD="$DOTNET_CMD msbuild $SCRIPT_DIR/build/build.proj"
+RUN_BUILD_DUMMY="$DOTNET_CMD build $SCRIPT_DIR/build/build.dummy.csproj"
+
 
 usage() {
   echo "Usage: $0 [options] [args]"
@@ -59,7 +65,7 @@ cmd_dummy_build() {
   if [ -d /nuget ]; then
     NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
   fi
-  $RUN_BUILD /t:builddummy $NUGET_SOURCE_OPT
+  $RUN_BUILD_DUMMY $NUGET_SOURCE_OPT
 }
 
 OPTS=`getopt -o hcbfpd --long help,clean,build,full,pack,dummy -n 'build' -- "$@"`
index 264b527..47e3934 100644 (file)
@@ -6,10 +6,9 @@
   <Import Project="$(MSBuildThisFileDirectory)version.props" />
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <GenerateDependencyFile>false</GenerateDependencyFile>
     <DummyAssemblyVersion>$(VersionPrefix)</DummyAssemblyVersion>
-    <BaseIntermediateOutputPath>$(OutputBaseDir)obj\</BaseIntermediateOutputPath>
     <OutDir>$(OutputDummyDir)</OutDir>
   </PropertyGroup>
 
@@ -36,7 +35,7 @@
   <Target Name="CopyFilesToOutputDirectory" />
 
   <!-- Target for preparing reference lib directory -->
-  <Target Name="Prepare">
+  <Target Name="Prepare" DependsOnTargets="ResolveAssemblyReferences">
     <ItemGroup>
       <ReferencePath Include="@(TizenAssemblies)" />
     </ItemGroup>
   </Target>
 
   <Target Name="AfterBuild" DependsOnTargets="Prepare;GenerateDummy">
+    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
   </Target>
 
 </Project>
index dc1f4bf..58e76f8 100644 (file)
@@ -5,7 +5,6 @@
   <!-- Common Properties -->
   <PropertyGroup>
     <PublicModuleListFile>$(PackageSrcDir)PublicModuleList.txt</PublicModuleListFile>
-    <DummyBuildProject>$(MSBuildThisFileDirectory)build.dummy.csproj</DummyBuildProject>
   </PropertyGroup>
 
   <!-- Build Properties -->
 
   </Target>
 
-  <!--
-    Target : BuildDummy
-    ===================
-    Build dummy assemblies using GenAPI
-  -->
-  <Target Name="BuildDummy">
-
-    <MSBuild Projects="$(DummyBuildProject)"
-             Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
-             Targets="Restore;Rebuild" />
-
-  </Target>
-
 </Project>
index 3df5a74..563ffc1 100644 (file)
@@ -15,6 +15,4 @@
 
   <Import Project="$(MSBuildThisFileDirectory)version.props" />
 
-  <Import Project="$(MSBuildThisFileDirectory)dependencies.props" />
-
 </Project>
diff --git a/build/dependencies.props b/build/dependencies.props
deleted file mode 100644 (file)
index cbab6eb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-
-  <PropertyGroup>
-    <SystemPackageVersion>4.3.0</SystemPackageVersion>
-  </PropertyGroup>
-
-</Project>
\ No newline at end of file
index e364410..0c31525 100644 (file)
 
     <file src="pkg\build\**" target="build" />
 
-    <file src="Artifacts\bin\public\*.dll"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\public\*.pdb"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\public\*.xml"  target="lib\netstandard1.6" />
+    <file src="Artifacts\bin\public\*.dll"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\public\*.pdb"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\public\*.xml"  target="lib\netstandard2.0" />
 
-    <file src="Artifacts\bin\platform\*.dll"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\platform\*.pdb"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\platform\*.xml"  target="lib\netstandard1.6" />
+    <file src="Artifacts\bin\platform\*.dll"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\platform\*.pdb"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\platform\*.xml"  target="lib\netstandard2.0" />
 
   </files>
 </package>
index 24b9ce1..18f462b 100644 (file)
@@ -20,9 +20,9 @@
         Please edit pkg/PublicModuleList.txt,
         if want to add modules to Tizen.NET package.
     -->
-    <file src="Artifacts\bin\public\*.dll"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\public\*.pdb"  target="lib\netstandard1.6" />
-    <file src="Artifacts\bin\public\*.xml"  target="lib\netstandard1.6" />
+    <file src="Artifacts\bin\public\*.dll"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\public\*.pdb"  target="lib\netstandard2.0" />
+    <file src="Artifacts\bin\public\*.xml"  target="lib\netstandard2.0" />
 
   </files>
 </package>
index fb34d39..da8d3f6 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index e73da10..dbdcea4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
 </Project>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8e139d2..af9c378 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index f4fddda..9c3d059 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 82cc77f..020b2cb 100644 (file)
@@ -1,16 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
     <ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="System.Diagnostics.Process" Version="$(SystemPackageVersion)" PrivateAssets="All" />
-    <PackageReference Include="System.Threading.Thread" Version="$(SystemPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
 </Project>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index b1c6a54..f47359d 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index fe6ff34..1407501 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 4136f6c..e56b74e 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 4136f6c..e56b74e 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 8ab0f70..020b2cb 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 836f096..fbac841 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index e73da10..dbdcea4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
 </Project>
index 3bd4eaf..ae92048 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="System.ComponentModel" Version="$(SystemPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
     <None Update="res\maps_marker_pin_48.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index d9f42fb..8d4fb31 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 4731ceb..bd01a3b 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 82dec4d..9b8e9e6 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dec532e..ec9bff7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index fd0854a..3b5598e 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 53c7e3d..22cb378 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <DefineConstants>$(DefineConstants);DEBUG_ON</DefineConstants>
   </PropertyGroup>
 
     <ProjectReference Include="..\Tizen.System.SystemSettings\Tizen.System.SystemSettings.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="System.Reflection.TypeExtensions" Version="$(SystemPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
   <Target Name="ChangeAliasesOfStrongNameAssemblies" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
     <ItemGroup>
       <ReferencePath Condition="'%(FileName)' == 'Tizen.System.SystemSettings'">
diff --git a/src/Tizen.NUI/src/internal/dotnetcore/AddedException.cs b/src/Tizen.NUI/src/internal/dotnetcore/AddedException.cs
deleted file mode 100755 (executable)
index 01525ed..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-
-namespace System
-{
-    public class ApplicationException : Exception
-    {
-        public ApplicationException(): base()
-        {
-            //add anything required
-        }
-
-        public ApplicationException(string message): base(message)
-        {
-            //add anything required
-        }
-
-        public ApplicationException(string message, Exception innerException): base(message, innerException)
-        {
-            //add anything required
-        }
-    }
-
-    public class SystemException : Exception
-    {
-        public SystemException(): base()
-        {
-            //add anything required
-        }
-
-        public SystemException(string message): base(message)
-        {
-            //add anything required
-        }
-
-        public SystemException(string message, Exception innerException): base(message, innerException)
-        {
-            //add anything required
-        }
-    }
-}
diff --git a/src/Tizen.NUI/src/internal/dotnetcore/HandleRef.cs b/src/Tizen.NUI/src/internal/dotnetcore/HandleRef.cs
deleted file mode 100755 (executable)
index db34d4a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// ==++==
-// 
-//   Copyright (c) Microsoft Corporation.  All rights reserved.
-// 
-// ==--==
-namespace System.Runtime.InteropServices
-{
-
-    using System;
-
-    [System.Runtime.InteropServices.ComVisible(true)]
-    public struct HandleRef
-    {
-
-        // ! Do not add or rearrange fields as the EE depends on this layout.
-        //------------------------------------------------------------------
-        internal Object m_wrapper;
-        internal IntPtr m_handle;
-        //------------------------------------------------------------------
-
-
-        public HandleRef(Object wrapper, IntPtr handle)
-        {
-            m_wrapper = wrapper;
-            m_handle = handle;
-        }
-
-        public Object Wrapper
-        {
-            get
-            {
-                return m_wrapper;
-            }
-        }
-
-        public IntPtr Handle
-        {
-            get
-            {
-                return m_handle;
-            }
-        }
-
-
-        public static explicit operator IntPtr(HandleRef value)
-        {
-            return value.m_handle;
-        }
-
-        public static IntPtr ToIntPtr(HandleRef value)
-        {
-            return value.m_handle;
-        }
-    }
-}
index 3cc4118..348907f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index dd1bde7..aeeef3f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 819343d..b3b1ca1 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index cda3b93..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
@@ -9,8 +9,4 @@
     <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="System.Threading.Thread" Version="$(SystemPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
 </Project>
\ No newline at end of file
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 922c310..eec4f4a 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 3cc4118..348907f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 11cd4a8..7f4584f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 895f913..973f027 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100755 (executable)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index 45ee828..4c51c41 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index ea3ba84..48e80f0 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
index e73da10..dbdcea4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
 </Project>
index 2257110..30cd5a4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.6</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
 
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
diff --git a/tools/timeout.sh b/tools/timeout.sh
new file mode 100755 (executable)
index 0000000..c7273d0
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# Execute a command with a timeout
+
+# License: LGPLv2
+# Author:
+#    http://www.pixelbeat.org/
+# Notes:
+#    Note there is a timeout command packaged with coreutils since v7.0
+#    If the timeout occurs the exit status is 124.
+#    There is an asynchronous (and buggy) equivalent of this
+#    script packaged with bash (under /usr/share/doc/ in my distro),
+#    which I only noticed after writing this.
+#    I noticed later again that there is a C equivalent of this packaged
+#    with satan by Wietse Venema, and copied to forensics by Dan Farmer.
+# Changes:
+#    V1.0, Nov  3 2006, Initial release
+#    V1.1, Nov 20 2007, Brad Greenlee <brad@footle.org>
+#                       Make more portable by using the 'CHLD'
+#                       signal spec rather than 17.
+#    V1.3, Oct 29 2009, Ján Sáreník <jasan@x31.com>
+#                       Even though this runs under dash,ksh etc.
+#                       it doesn't actually timeout. So enforce bash for now.
+#                       Also change exit on timeout from 128 to 124
+#                       to match coreutils.
+#    V2.0, Oct 30 2009, Ján Sáreník <jasan@x31.com>
+#                       Rewritten to cover compatibility with other
+#                       Bourne shell implementations (pdksh, dash)
+
+if [ "$#" -lt "2" ]; then
+    echo "Usage:   `basename $0` timeout_in_seconds command" >&2
+    echo "Example: `basename $0` 2 sleep 3 || echo timeout" >&2
+    exit 1
+fi
+
+cleanup()
+{
+    trap - ALRM               #reset handler to default
+    kill -ALRM $a 2>/dev/null #stop timer subshell if running
+    kill $! 2>/dev/null &&    #kill last job
+      exit 124                #exit with 124 if it was running
+}
+
+watchit()
+{
+    trap "cleanup" ALRM
+    sleep $1& wait
+    kill -ALRM $$
+}
+
+watchit $1& a=$!         #start the timeout
+shift                    #first param was timeout for sleep
+trap "cleanup" ALRM INT  #cleanup after timeout
+"$@"& wait $!; RET=$?    #start the job wait for it and save its return value
+kill -ALRM $a            #send ALRM signal to watchit
+wait $a                  #wait for watchit to finish cleanup
+exit $RET                #return the value
+