Add legacy migration test app

This commit is contained in:
Caelan Sayler
2024-01-04 10:32:59 +00:00
parent 0caa757512
commit d8a969816a
14 changed files with 206 additions and 0 deletions

View File

@@ -39,6 +39,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{3E
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvaloniaCrossPlat", "examples\AvaloniaCrossPlat\AvaloniaCrossPlat.csproj", "{1FF6A262-13D0-45DF-B818-77AC84C52C6F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvaloniaCrossPlat", "examples\AvaloniaCrossPlat\AvaloniaCrossPlat.csproj", "{1FF6A262-13D0-45DF-B818-77AC84C52C6F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LegacyTestApp", "test\LegacyTestApp\LegacyTestApp.csproj", "{8B27C4BF-21B8-48B0-80F8-74520227C35F}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -89,6 +91,10 @@ Global
{1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Debug|Any CPU.Build.0 = Debug|Any CPU {1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Release|Any CPU.ActiveCfg = Release|Any CPU {1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Release|Any CPU.Build.0 = Release|Any CPU {1FF6A262-13D0-45DF-B818-77AC84C52C6F}.Release|Any CPU.Build.0 = Release|Any CPU
{8B27C4BF-21B8-48B0-80F8-74520227C35F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B27C4BF-21B8-48B0-80F8-74520227C35F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B27C4BF-21B8-48B0-80F8-74520227C35F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B27C4BF-21B8-48B0-80F8-74520227C35F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -99,6 +105,7 @@ Global
{175B06A5-5C09-4DAB-A6AF-C8A2257BD1B6} = {7AC3A776-B582-4B65-9D03-BD52332B5CA3} {175B06A5-5C09-4DAB-A6AF-C8A2257BD1B6} = {7AC3A776-B582-4B65-9D03-BD52332B5CA3}
{784B5987-2E71-4AEE-81B9-E0CC7F1DBEB3} = {7AC3A776-B582-4B65-9D03-BD52332B5CA3} {784B5987-2E71-4AEE-81B9-E0CC7F1DBEB3} = {7AC3A776-B582-4B65-9D03-BD52332B5CA3}
{1FF6A262-13D0-45DF-B818-77AC84C52C6F} = {3EBFA551-780C-473D-A197-0EE56F2CBA82} {1FF6A262-13D0-45DF-B818-77AC84C52C6F} = {3EBFA551-780C-473D-A197-0EE56F2CBA82}
{8B27C4BF-21B8-48B0-80F8-74520227C35F} = {7AC3A776-B582-4B65-9D03-BD52332B5CA3}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {68CA987A-9BAB-4C75-8EEB-4596BA6BBD07} SolutionGuid = {68CA987A-9BAB-4C75-8EEB-4596BA6BBD07}

View File

@@ -0,0 +1,9 @@
Set-Alias Squirrel ($env:USERPROFILE + "\.nuget\packages\clowd.squirrel\2.11.1\tools\Squirrel.exe");
dotnet build -c Release -p:UseClowd=2.11.1
./nuget pack LegacyTestApp.nuspec -OutputDirectory bin -BasePath bin/Release/net48
Squirrel releasify -p bin/LegacyTestApp.1.0.0.nupkg

View File

@@ -0,0 +1,9 @@
dotnet build -c Release -p:UseClowd=3.0.210-g5f9f594
./nuget pack LegacyTestApp.nuspec -OutputDirectory bin -BasePath bin/Release/net48
dotnet tool install csq --version 3.0.210-g5f9f594 --tool-path bin/csq
./bin/csq/csq.exe --csq-version 3.0.210-g5f9f594 releasify -p bin/LegacyTestApp.1.0.0.nupkg

View File

@@ -0,0 +1,9 @@
Set-Alias Squirrel ($env:USERPROFILE + "\.nuget\packages\squirrel.windows\2.0.1\tools\Squirrel.com");
dotnet build -c Release
./nuget pack LegacyTestApp.nuspec -OutputDirectory bin -BasePath bin/Release/net48
Squirrel --releasify bin/LegacyTestApp.1.0.0.nupkg --no-msi

View File

@@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net48</TargetFramework>
<LangVersion>latest</LangVersion>
<!--<UseClowd>2.11.1</UseClowd>-->
<!--<UseClowd>3.0.210-*</UseClowd>-->
</PropertyGroup>
<Choose>
<When Condition=" $(UseClowd) != '' ">
<PropertyGroup>
<OutputType>Exe</OutputType>
<DefineConstants>CLOWD</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Clowd.Squirrel" Version="$(UseClowd)" />
<None Update="LegacyTestApp.exe.squirrel" CopyToOutputDirectory="Always" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<PackageReference Include="squirrel.windows" Version="2.0.1" />
</ItemGroup>
</Otherwise>
</Choose>
</Project>

View File

@@ -0,0 +1 @@
1

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>LegacyTestApp</id>
<authors>Velopack</authors>
<version>1.0.0</version>
<description>LegacyTestApp</description>
</metadata>
<files>
<file src="**" target="lib\app\" exclude="*.pdb;*.nupkg;*.vshost.*;**\createdump.exe"/>
</files>
</package>

View File

@@ -0,0 +1,83 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using Squirrel;
using Squirrel.SimpleSplat;
[assembly: AssemblyMetadata("SquirrelAwareVersion", "1")]
namespace LegacyTestApp
{
internal class Program
{
static int Main(string[] args)
{
#if CLOWD
SquirrelAwareApp.HandleEvents(
onInitialInstall: (v, t) => debugFile("args.txt", String.Join(" ", args)),
onAppUpdate: (v, t) => debugFile("args.txt", String.Join(" ", args)),
onAppUninstall: (v, t) => debugFile("args.txt", String.Join(" ", args)),
onEveryRun: (v, t, f) => debugFile("args.txt", String.Join(" ", args))
);
#else
SquirrelAwareApp.HandleEvents(
onInitialInstall: v => debugFile("args.txt", String.Join(" ", args)),
onAppUpdate: v => debugFile("args.txt", String.Join(" ", args)),
onAppUninstall: v => debugFile("args.txt", String.Join(" ", args)),
onFirstRun: () => debugFile("args.txt", String.Join(" ", args))
);
#endif
try {
SquirrelLogger.Register();
if (args.Length == 1 && args[0] == "version") {
using var um = new UpdateManager("");
Console.WriteLine(um.CurrentlyInstalledVersion()?.ToString() ?? "unknown_version");
return 0;
}
if (args.Length == 2) {
if (args[0] == "check") {
using var um = new UpdateManager(args[1]);
var info = um.CheckForUpdate().GetAwaiter().GetResult();
if (info == null || info.ReleasesToApply == null || info.FutureReleaseEntry == null || info.ReleasesToApply.Count == 0) {
Console.WriteLine("no updates");
return 0;
} else {
Console.WriteLine("update: " + info.FutureReleaseEntry.Version);
return 0;
}
}
if (args[0] == "download") {
using var um = new UpdateManager(args[1]);
var entry = um.UpdateApp().GetAwaiter().GetResult();
return entry == null ? -1 : 0;
}
if (args[0] == "apply") {
UpdateManager.RestartApp();
return 0;
}
}
} catch (Exception ex) {
Console.WriteLine("exception: " + ex.ToString());
if (Debugger.IsAttached) throw;
return -1;
}
Console.WriteLine("Unhandled args: " + String.Join(", ", args));
return -1;
}
static void debugFile(string name, string message)
{
var path = Path.Combine(AppContext.BaseDirectory, "..", name);
File.AppendAllText(path, message + Environment.NewLine);
}
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LegacyTestApp
{
internal class SquirrelLogger : Squirrel.SimpleSplat.ILogger
{
protected SquirrelLogger()
{
}
public Squirrel.SimpleSplat.LogLevel Level { get; set; }
public static void Register()
{
Squirrel.SimpleSplat.SquirrelLocator.CurrentMutable.Register(() => new SquirrelLogger(), typeof(Squirrel.SimpleSplat.ILogger));
}
public void Write(string message, Squirrel.SimpleSplat.LogLevel logLevel)
{
Console.WriteLine(message);
}
}
}

View File

@@ -0,0 +1,20 @@
rmdir /s /q bin
rmdir /s /q obj
rmdir /s /q releases
powershell -executionpolicy bypass ./BuildSquirrelWin.ps1
copy /Y Releases\Setup.exe ..\fixtures\LegacyTestApp-SquirrelWinV2-Setup.exe
rmdir /s /q bin
rmdir /s /q obj
rmdir /s /q releases
powershell -executionpolicy bypass ./BuildClowdV2.ps1
copy /Y releases\LegacyTestAppSetup.exe ..\fixtures\LegacyTestApp-ClowdV2-Setup.exe
rmdir /s /q bin
rmdir /s /q obj
rmdir /s /q releases
powershell -executionpolicy bypass ./BuildClowdV3.ps1
copy /Y releases\LegacyTestAppSetup.exe ..\fixtures\LegacyTestApp-ClowdV3-Setup.exe

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.