diff --git a/Resizetizer.NT.Tests/ResizetizeSharedImagesTests.cs b/Resizetizer.NT.Tests/ResizetizeSharedImagesTests.cs index b8d58dd..5b04a80 100644 --- a/Resizetizer.NT.Tests/ResizetizeSharedImagesTests.cs +++ b/Resizetizer.NT.Tests/ResizetizeSharedImagesTests.cs @@ -38,7 +38,7 @@ protected ResizetizeSharedImages GetNewTask(string type, params ITaskItem[] item }; protected ITaskItem GetCopiedResource(ResizetizeSharedImages task, string path) => - task.CopiedResources.Single(c => c.ItemSpec.Replace("\\", "/").EndsWith(path)); + task.CopiedResources.Single(c => c.ItemSpec.Replace("\\", "/").EndsWith("/" + path)); protected void AssertFileSize(string file, int width, int height) { @@ -692,5 +692,322 @@ public void SingleVectorAppIconWithOnlyPathSucceedsWithVectors(string name, stri $"\"size\": \"20x20\","); } } + + public class ExecuteForTizen : ExecuteForApp + { + public ExecuteForTizen() + : base("Tizen") + { + } + + ResizetizeSharedImages GetNewTask(params ITaskItem[] items) => + GetNewTask("tizen", items); + + [Fact] + public void NoItemsSucceed() + { + var task = GetNewTask(); + + var success = task.Execute(); + + Assert.True(success); + } + + [Fact] + public void NonExistantFileFails() + { + var items = new[] + { + new TaskItem("non-existant.png"), + }; + + var task = GetNewTask(items); + + var success = task.Execute(); + + Assert.False(success); + } + + [Fact] + public void ValidFileSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.png"), + }; + + var task = GetNewTask(items); + + var success = task.Execute(); + + Assert.True(success); + } + + [Fact] + public void ValidVectorFileSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.svg"), + }; + + var task = GetNewTask(items); + + var success = task.Execute(); + + Assert.True(success); + } + + [Fact] + public void SingleImageWithOnlyPathSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.png"), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize("MDPI/camera.png", 1792, 1792); // 1x + AssertFileSize("XHDPI/camera.png", 3584, 3584); // 2x + } + + [Fact] + public void SingleVectorImageWithOnlyPathSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.svg"), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize("MDPI/camera.png", 1792, 1792); // 1x + AssertFileSize("XHDPI/camera.png", 3584, 3584); // 2x + } + + [Fact] + public void TwoImagesWithOnlyPathSucceed() + { + var items = new[] + { + new TaskItem("images/camera.png"), + new TaskItem("images/camera_color.png"), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize("MDPI/camera.png", 1792, 1792); + AssertFileSize("MDPI/camera_color.png", 256, 256); + + AssertFileSize("XHDPI/camera.png", 3584, 3584); + AssertFileSize("XHDPI/camera_color.png", 512, 512); + } + + [Fact] + public void ImageWithOnlyPathHasMetadata() + { + var items = new[] + { + new TaskItem("images/camera.png"), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + var copied = task.CopiedResources; + Assert.Equal(items.Length * DpiPath.Tizen.Length, copied.Length); + + var mdpi = GetCopiedResource(task, "MDPI/camera.png"); + Assert.Equal("MDPI", mdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("1.0", mdpi.GetMetadata("_ResizetizerDpiScale")); + + var xhdpi = GetCopiedResource(task, "XHDPI/camera.png"); + Assert.Equal("XHDPI", xhdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("2.0", xhdpi.GetMetadata("_ResizetizerDpiScale")); + } + + [Fact] + public void TwoImagesWithOnlyPathHasMetadata() + { + var items = new[] + { + new TaskItem("images/camera.png"), + new TaskItem("images/camera_color.png"), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + var copied = task.CopiedResources; + Assert.Equal(items.Length * DpiPath.Tizen.Length, copied.Length); + + var mdpi = GetCopiedResource(task, "drawable-mdpi/camera.png"); + Assert.Equal("drawable-mdpi", mdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("1.0", mdpi.GetMetadata("_ResizetizerDpiScale")); + + var xhdpi = GetCopiedResource(task, "drawable-xhdpi/camera.png"); + Assert.Equal("drawable-xhdpi", xhdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("2.0", xhdpi.GetMetadata("_ResizetizerDpiScale")); + + mdpi = GetCopiedResource(task, "drawable-mdpi/camera_color.png"); + Assert.Equal("drawable-mdpi", mdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("1.0", mdpi.GetMetadata("_ResizetizerDpiScale")); + + xhdpi = GetCopiedResource(task, "drawable-xhdpi/camera_color.png"); + Assert.Equal("drawable-xhdpi", xhdpi.GetMetadata("_ResizetizerDpiPath")); + Assert.Equal("2.0", xhdpi.GetMetadata("_ResizetizerDpiScale")); + } + + [Fact] + public void SingleImageNoResizeSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.png", new Dictionary + { + ["Resize"] = bool.FalseString, + }), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize("MDPI/camera.png", 1792, 1792); + } + + [Fact] + public void SingleVectorImageNoResizeSucceeds() + { + var items = new[] + { + new TaskItem("images/camera.svg", new Dictionary + { + ["Resize"] = bool.FalseString, + }), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileExists("MDPI/camera.xml"); + } + + [Theory] + [InlineData(null, "camera")] + [InlineData("", "camera")] + [InlineData("camera", "camera")] + [InlineData("camera.png", "camera")] + [InlineData("folder/camera.png", "camera")] + [InlineData("the_alias", "the_alias")] + [InlineData("the_alias.png", "the_alias")] + [InlineData("folder/the_alias.png", "the_alias")] + public void SingleImageWithBaseSizeSucceeds(string alias, string outputName) + { + var items = new[] + { + new TaskItem("images/camera.png", new Dictionary + { + ["BaseSize"] = "44", + ["Link"] = alias, + }), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize($"MDPI/{outputName}.png", 44, 44); + AssertFileSize($"XHDPI/{outputName}.png", 88, 88); + } + + [Theory] + [InlineData("camera", null, "camera", 1792)] + [InlineData("camera", "", "camera", 1792)] + [InlineData("camera", "camera", "camera", 1792)] + [InlineData("camera", "camera.png", "camera", 1792)] + [InlineData("camera", "folder/camera.png", "camera", 1792)] + [InlineData("camera", "the_alias", "the_alias", 1792)] + [InlineData("camera", "the_alias.png", "the_alias", 1792)] + [InlineData("camera", "folder/the_alias.png", "the_alias", 1792)] + [InlineData("camera_color", null, "camera_color", 256)] + [InlineData("camera_color", "", "camera_color", 256)] + [InlineData("camera_color", "camera_color", "camera_color", 256)] + [InlineData("camera_color", "camera_color.png", "camera_color", 256)] + [InlineData("camera_color", "folder/camera_color.png", "camera_color", 256)] + [InlineData("camera_color", "the_alias", "the_alias", 256)] + [InlineData("camera_color", "the_alias.png", "the_alias", 256)] + [InlineData("camera_color", "folder/the_alias.png", "the_alias", 256)] + public void SingleRasterAppIconWithOnlyPathSucceedsWithoutVectors(string name, string alias, string outputName, int size) + { + var items = new[] + { + new TaskItem($"images/{name}.png", new Dictionary + { + ["IsAppIcon"] = bool.TrueString, + ["Link"] = alias, + }), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize($"MDPI/{outputName}.png", size, size); + AssertFileSize($"XHDPI/{outputName}.png", size * 2, size * 2); + + var vectors = Directory.GetFiles(DestinationDirectory, "*.xml", SearchOption.AllDirectories); + Assert.Empty(vectors); + } + + [Theory] + [InlineData("appicon", null, "appicon", 1024)] + [InlineData("appicon", "", "appicon", 1024)] + [InlineData("appicon", "appicon", "appicon", 1024)] + [InlineData("appicon", "appicon.png", "appicon", 1024)] + [InlineData("appicon", "folder/appicon.png", "appicon", 1024)] + [InlineData("appicon", "the_alias", "the_alias", 1024)] + [InlineData("appicon", "the_alias.png", "the_alias", 1024)] + [InlineData("appicon", "folder/the_alias.png", "the_alias", 1024)] + [InlineData("camera", null, "camera", 1792)] + [InlineData("camera", "", "camera", 1792)] + [InlineData("camera", "camera", "camera", 1792)] + [InlineData("camera", "camera.png", "camera", 1792)] + [InlineData("camera", "folder/camera.png", "camera", 1792)] + [InlineData("camera", "the_alias", "the_alias", 1792)] + [InlineData("camera", "the_alias.png", "the_alias", 1792)] + [InlineData("camera", "folder/the_alias.png", "the_alias", 1792)] + public void SingleVectorAppIconWithOnlyPathSucceedsWithVectors(string name, string alias, string outputName, int size) + { + var items = new[] + { + new TaskItem($"images/{name}.svg", new Dictionary + { + ["IsAppIcon"] = bool.TrueString, + ["Link"] = alias, + }), + }; + + var task = GetNewTask(items); + var success = task.Execute(); + Assert.True(success); + + AssertFileSize($"MDPI/{outputName}.png", size, size); + AssertFileSize($"XHDPI/{outputName}.png", size * 2, size * 2); + + var vectors = Directory.GetFiles(DestinationDirectory, "*.xml", SearchOption.AllDirectories); + Assert.Empty(vectors); + } + } } } diff --git a/Resizetizer.NT.sln b/Resizetizer.NT.sln index e3a551b..8df472d 100644 --- a/Resizetizer.NT.sln +++ b/Resizetizer.NT.sln @@ -17,6 +17,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.NT", "Resizetiz EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleApp.WPF", "SampleApp\SampleApp.WPF\SampleApp.WPF.csproj", "{62DBB813-E489-45D7-BF32-E64D04649CC8}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleApp.Tizen.Mobile", "SampleApp\SampleApp.Tizen.Mobile\SampleApp.Tizen.Mobile.csproj", "{5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Resizetizer.NT.Tests", "Resizetizer.NT.Tests\Resizetizer.NT.Tests.csproj", "{4A03955E-12C2-4D4C-91E0-FE735FCDA65E}" EndProject Global @@ -184,6 +186,30 @@ Global {62DBB813-E489-45D7-BF32-E64D04649CC8}.Release|x64.Build.0 = Release|Any CPU {62DBB813-E489-45D7-BF32-E64D04649CC8}.Release|x86.ActiveCfg = Release|Any CPU {62DBB813-E489-45D7-BF32-E64D04649CC8}.Release|x86.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|ARM.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|ARM.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|iPhone.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|x64.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|x64.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|x86.ActiveCfg = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Debug|x86.Build.0 = Debug|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|Any CPU.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|ARM.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|ARM.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|iPhone.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|iPhone.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|x64.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|x64.Build.0 = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|x86.ActiveCfg = Release|Any CPU + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4}.Release|x86.Build.0 = Release|Any CPU {4A03955E-12C2-4D4C-91E0-FE735FCDA65E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4A03955E-12C2-4D4C-91E0-FE735FCDA65E}.Debug|Any CPU.Build.0 = Debug|Any CPU {4A03955E-12C2-4D4C-91E0-FE735FCDA65E}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -218,6 +244,7 @@ Global {6E4DAA20-F554-4E91-9F14-42EFB1815644} = {5EDBA070-2832-4FEE-A1A5-5D0EEE10DF5B} {77222192-B12F-4708-8EE1-CA02927518B6} = {5EDBA070-2832-4FEE-A1A5-5D0EEE10DF5B} {62DBB813-E489-45D7-BF32-E64D04649CC8} = {5EDBA070-2832-4FEE-A1A5-5D0EEE10DF5B} + {5EC0BE75-738E-447C-A4B0-CE0BDA85ABC4} = {5EDBA070-2832-4FEE-A1A5-5D0EEE10DF5B} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8689512F-CE9B-4FB6-92E9-D23E3DAEE1A2} diff --git a/Resizetizer.NT/DpiPath.cs b/Resizetizer.NT/DpiPath.cs index 765adc2..1416e4a 100644 --- a/Resizetizer.NT/DpiPath.cs +++ b/Resizetizer.NT/DpiPath.cs @@ -89,6 +89,29 @@ public static DpiPath[] IosAppIcon static DpiPath IosOriginal => new DpiPath("Resources", 1.0m); + public static DpiPath[] Tizen + => new[] + { + new DpiPath("MDPI", 1.0m), + new DpiPath("HDPI", 1.5m), + new DpiPath("XHDPI", 2.0m), + new DpiPath("XXHDPI", 3.0m), + new DpiPath("XXXHDPI", 4.0m), + }; + + public static DpiPath[] TizenAppIcon + => new[] + { + new DpiPath("MDPI", 1.0m), + new DpiPath("HDPI", 1.5m), + new DpiPath("XHDPI", 2.0m), + new DpiPath("XXHDPI", 3.0m), + new DpiPath("XXXHDPI", 4.0m), + }; + + static DpiPath TizenOriginal => new DpiPath("MDPI", 1.0m); + + public static DpiPath[] Uwp => new [] { @@ -133,6 +156,8 @@ public static DpiPath GetOriginal(string platform) return DpiPath.UwpOriginal; case "wpf": return DpiPath.WpfOriginal; + case "tizen": + return DpiPath.TizenOriginal; } return null; @@ -150,6 +175,8 @@ public static DpiPath[] GetDpis(string platform) return DpiPath.Uwp; case "wpf": return DpiPath.Wpf; + case "tizen": + return DpiPath.Tizen; } return null; @@ -173,6 +200,9 @@ public static DpiPath[] GetAppIconDpis(string platform, string appIconName) case "wpf": result = DpiPath.WpfAppIcon; break; + case "tizen": + result = DpiPath.TizenAppIcon; + break; } foreach (var r in result) diff --git a/Resizetizer.NT/ResizetizeSharedImages.cs b/Resizetizer.NT/ResizetizeSharedImages.cs index 6831432..34b9c2d 100644 --- a/Resizetizer.NT/ResizetizeSharedImages.cs +++ b/Resizetizer.NT/ResizetizeSharedImages.cs @@ -6,14 +6,19 @@ using System.Diagnostics; using System.IO; using System.Linq; -using System.Text.RegularExpressions; namespace Resizetizer { public class ResizetizeSharedImages : AsyncTask, ILogger { + string platformType; + [Required] - public string PlatformType { get; set; } = "android"; + public string PlatformType + { + get => platformType; + set => platformType = value?.Trim().ToLowerInvariant(); + } [Required] public string IntermediateOutputPath { get; set; } @@ -107,8 +112,6 @@ System.Threading.Tasks.Task DoExecute() catch (Exception ex) { Log.LogErrorFromException(ex); - - throw; } }); @@ -206,10 +209,10 @@ void ProcessImageResize(SharedImageInfo img, DpiPath[] dpis, ConcurrentBag resizedImages) { var resizer = new Resizer(img, IntermediateOutputPath, this); - + Log.LogMessage(MessageImportance.Low, $"Copying {img.Filename}"); - var r = resizer.CopyFile(originalScaleDpi, InputsFile, PlatformType.ToLower().Equals("android")); + var r = resizer.CopyFile(originalScaleDpi, InputsFile, PlatformType == "android"); resizedImages.Add(r); Log.LogMessage(MessageImportance.Low, $"Copied {img.Filename}"); diff --git a/Resizetizer.NT/Resizetizer.NT.targets b/Resizetizer.NT/Resizetizer.NT.targets index acef902..8d7d2dc 100644 --- a/Resizetizer.NT/Resizetizer.NT.targets +++ b/Resizetizer.NT/Resizetizer.NT.targets @@ -27,6 +27,7 @@ <_ResizetizerIsiOSApp Condition="'$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And ('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'True')">True <_ResizetizerIsUWPApp Condition="'$(TargetPlatformIdentifier)' == 'UAP' And '$(OutputType)' == 'AppContainerExe'">True <_ResizetizerIsWPFApp Condition="'$(IsApplication)' == 'True' And '$(NuGetRuntimeIdentifier)' == 'win' And '$(TargetPlatformIdentifier)' == 'Windows'">True + <_ResizetizerIsTizenApp Condition="'$(TargetFrameworkIdentifier)'=='Tizen'">True @@ -35,9 +36,10 @@ <_ResizetizerIsiOSApp Condition="'$(TargetPlatformIdentifier)' == 'iOS' And ('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'True')">True <_ResizetizerIsUWPApp Condition="'$(TargetPlatformIdentifier)'=='UAP' And '$(OutputType)' == 'AppContainerExe'">True <_ResizetizerIsWPFApp Condition="'$(IsApplication)' == 'True' And '$(NuGetRuntimeIdentifier)' == 'win' And '$(TargetPlatformIdentifier)'=='Windows'">True + <_ResizetizerIsTizenApp Condition="'$(TargetFrameworkIdentifier)'=='Tizen'">True - + <_ResizetizerIsCompatibleApp>True @@ -101,6 +103,21 @@ + + + tizen + + + $(ResizetizeDependsOnTargets); + ResizetizeCollectItems; + + + + $(ResizetizeBeforeTargets); + PrepareResources; + + + @@ -245,6 +262,30 @@ + + + + + res\ + + + + res\contents\default_All-MDPI\ + + + res\contents\default_All-HDPI\ + + + res\contents\default_All-XHDPI\ + + + res\contents\default_All-XXHDPI\ + + + res\contents\default_All-XXXHDPI\ + + + diff --git a/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.cs b/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.cs new file mode 100644 index 0000000..3400e12 --- /dev/null +++ b/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.cs @@ -0,0 +1,22 @@ +using System; +using Xamarin.Forms; + +namespace SampleApp.Tizen +{ + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + protected override void OnCreate() + { + base.OnCreate(); + + LoadApplication(new App()); + } + + static void Main(string[] args) + { + var app = new Program(); + Forms.Init(app); + app.Run(args); + } + } +} diff --git a/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.csproj b/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.csproj new file mode 100644 index 0000000..14809a0 --- /dev/null +++ b/SampleApp/SampleApp.Tizen.Mobile/SampleApp.Tizen.Mobile.csproj @@ -0,0 +1,24 @@ + + + + Exe + tizen40 + + + + portable + + + None + + + + + + + + + + + + diff --git a/SampleApp/SampleApp.Tizen.Mobile/shared/res/SampleApp.Tizen.Mobile.png b/SampleApp/SampleApp.Tizen.Mobile/shared/res/SampleApp.Tizen.Mobile.png new file mode 100644 index 0000000..9f3cb98 Binary files /dev/null and b/SampleApp/SampleApp.Tizen.Mobile/shared/res/SampleApp.Tizen.Mobile.png differ diff --git a/SampleApp/SampleApp.Tizen.Mobile/tizen-manifest.xml b/SampleApp/SampleApp.Tizen.Mobile/tizen-manifest.xml new file mode 100644 index 0000000..4656c55 --- /dev/null +++ b/SampleApp/SampleApp.Tizen.Mobile/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + SampleApp.Tizen.Mobile.png + + + diff --git a/SampleApp/SampleApp/SampleApp.csproj b/SampleApp/SampleApp/SampleApp.csproj index 8ebba3b..bb2c542 100644 --- a/SampleApp/SampleApp/SampleApp.csproj +++ b/SampleApp/SampleApp/SampleApp.csproj @@ -17,7 +17,6 @@ - diff --git a/test-helper.ps1 b/test-helper.ps1 index 045c798..0be9a50 100644 --- a/test-helper.ps1 +++ b/test-helper.ps1 @@ -19,6 +19,9 @@ Remove-Item .\SampleApp\packages\resizetizer.nt -Force -Recurse & msbuild /t:Restore .\SampleApp\SampleApp.WPF\SampleApp.WPF.csproj & msbuild /t:Rebuild .\SampleApp\SampleApp.WPF\SampleApp.WPF.csproj /bl:logs\wpf.binlog +& msbuild /t:Restore .\SampleApp\SampleApp.Tizen.Mobile\SampleApp.Tizen.Mobile.csproj +& msbuild /t:Rebuild .\SampleApp\SampleApp.Tizen.Mobile\SampleApp.Tizen.Mobile.csproj /bl:logs\tizen.binlog + # Touch the file to cause a change for incremental build (Get-ChildItem ".\SampleApp\SampleApp\camera.svg").LastWriteTime = Get-Date @@ -27,3 +30,4 @@ Remove-Item .\SampleApp\packages\resizetizer.nt -Force -Recurse & msbuild /t:Build .\SampleApp\SampleApp.iOS\SampleApp.iOS.csproj /bl:logs\ios-incremental.binlog & msbuild /t:Build .\SampleApp\SampleApp.UWP\SampleApp.UWP.csproj /bl:logs\uwp-incremental.binlog & msbuild /t:Build .\SampleApp\SampleApp.WPF\SampleApp.WPF.csproj /bl:logs\wpf-incremental.binlog +& msbuild /t:Build .\SampleApp\SampleApp.Tizen.Mobile\SampleApp.Tizen.Mobile.csproj /bl:logs\tizen-incremental.binlog