Merge pull request #3203 from sylveon/master

Enable building Store and Steam artifacts on all builds
This commit is contained in:
Jaex 2018-03-19 22:15:23 +03:00 committed by GitHub
commit 3e6cf489e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 21 deletions

View file

@ -1,12 +1,21 @@
if ($env:APPVEYOR_PULL_REQUEST_NUMBER -eq $null) if ($env:APPVEYOR_PULL_REQUEST_NUMBER -eq $null)
{ {
if ($env:CONFIGURATION -eq "Release") if ($env:APPVEYOR_REPO_TAG -eq $true)
{
if ($env:CONFIGURATION -eq "Steam")
{
& "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteamRelease
}
elseif ($env:CONFIGURATION -eq "WindowsStore")
{
& "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStoreRelease
}
}
elseif ($env:CONFIGURATION -eq "Release")
{ {
& "ShareX.Setup\bin\Release\ShareX.Setup.exe" -AppVeyorRelease & "ShareX.Setup\bin\Release\ShareX.Setup.exe" -AppVeyorRelease
} }
elseif ($env:APPVEYOR_REPO_TAG -eq $true) elseif ($env:CONFIGURATION -eq "Steam")
{
if ($env:CONFIGURATION -eq "Steam")
{ {
& "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteam & "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteam
} }
@ -14,5 +23,4 @@ if ($env:APPVEYOR_PULL_REQUEST_NUMBER -eq $null)
{ {
& "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStore & "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStore
} }
}
} }

View file

@ -47,6 +47,7 @@ private enum SetupJobs
CreateWindowsStoreFolder = 1 << 6, CreateWindowsStoreFolder = 1 << 6,
CreateWindowsStoreDebugFolder = 1 << 7, CreateWindowsStoreDebugFolder = 1 << 7,
CompileAppx = 1 << 8, CompileAppx = 1 << 8,
DownloadFFmpeg = 1 << 9,
Stable = CreateSetup | CreatePortable | OpenOutputDirectory, Stable = CreateSetup | CreatePortable | OpenOutputDirectory,
Setup = CreateSetup | OpenOutputDirectory, Setup = CreateSetup | OpenOutputDirectory,
@ -58,7 +59,9 @@ private enum SetupJobs
Beta = CreateSetup | UploadOutputFile, Beta = CreateSetup | UploadOutputFile,
AppVeyorRelease = CreateSetup | CreatePortable, AppVeyorRelease = CreateSetup | CreatePortable,
AppVeyorSteam = CreateSteamFolder, AppVeyorSteam = CreateSteamFolder,
AppVeyorWindowsStore = CreateWindowsStoreFolder | CompileAppx AppVeyorWindowsStore = CreateWindowsStoreFolder | CompileAppx,
AppVeyorSteamRelease = AppVeyorSteam | DownloadFFmpeg,
AppVeyorWindowsStoreRelease = AppVeyorWindowsStore | DownloadFFmpeg
} }
private static SetupJobs Job = SetupJobs.Stable; private static SetupJobs Job = SetupJobs.Stable;
@ -113,6 +116,16 @@ private static void Main(string[] args)
AppVeyor = true; AppVeyor = true;
Job = SetupJobs.AppVeyorWindowsStore; Job = SetupJobs.AppVeyorWindowsStore;
} }
else if (SetupHelpers.CheckArguments(args, "-AppVeyorSteamRelease"))
{
AppVeyor = true;
Job = SetupJobs.AppVeyorSteamRelease;
}
else if (SetupHelpers.CheckArguments(args, "-AppVeyorWindowsStoreRelease"))
{
AppVeyor = true;
Job = SetupJobs.AppVeyorWindowsStoreRelease;
}
Console.WriteLine("Setup job: " + Job); Console.WriteLine("Setup job: " + Job);
@ -136,11 +149,21 @@ private static void Main(string[] args)
if (Job.HasFlag(SetupJobs.CreateSteamFolder)) if (Job.HasFlag(SetupJobs.CreateSteamFolder))
{ {
CreateSteamFolder(); CreateSteamFolder();
if (Job.HasFlag(SetupJobs.DownloadFFmpeg))
{
CopyFFmpeg(SteamUpdatesDir, true, true);
}
} }
if (Job.HasFlag(SetupJobs.CreateWindowsStoreFolder)) if (Job.HasFlag(SetupJobs.CreateWindowsStoreFolder))
{ {
CreateFolder(WindowsStoreDir, WindowsStoreOutputDir, SetupJobs.CreateWindowsStoreFolder); CreateFolder(WindowsStoreDir, WindowsStoreOutputDir, SetupJobs.CreateWindowsStoreFolder);
if (Job.HasFlag(SetupJobs.DownloadFFmpeg))
{
CopyFFmpeg(WindowsStoreOutputDir, false, true);
}
} }
if (Job.HasFlag(SetupJobs.CreateWindowsStoreDebugFolder)) if (Job.HasFlag(SetupJobs.CreateWindowsStoreDebugFolder))
@ -150,8 +173,20 @@ private static void Main(string[] args)
if (Job.HasFlag(SetupJobs.CompileAppx)) if (Job.HasFlag(SetupJobs.CompileAppx))
{ {
Process.Start(@"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe", Process p = new Process
$"pack /d \"{WindowsStoreOutputDir}\" /p \"{WindowsStoreAppxPath}\" /l /o").WaitForExit(); {
StartInfo = new ProcessStartInfo
{
FileName = @"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe",
Arguments = $"pack /d \"{WindowsStoreOutputDir}\" /p \"{WindowsStoreAppxPath}\" /l /o",
UseShellExecute = false,
RedirectStandardOutput = true
}
};
p.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();
Directory.Delete(WindowsStoreOutputDir, true); Directory.Delete(WindowsStoreOutputDir, true);
} }
@ -267,11 +302,7 @@ private static void CreateFolder(string source, string destination, SetupJobs jo
Helpers.CopyAll(Path.Combine(ParentDir, @"ShareX.ScreenCaptureLib\Stickers"), Path.Combine(destination, "Stickers")); Helpers.CopyAll(Path.Combine(ParentDir, @"ShareX.ScreenCaptureLib\Stickers"), Path.Combine(destination, "Stickers"));
if (job == SetupJobs.CreateSteamFolder) if (job == SetupJobs.CreatePortableAppsFolder)
{
CopyFFmpeg(destination, true, true);
}
else if (job == SetupJobs.CreatePortableAppsFolder)
{ {
Helpers.CreateEmptyFile(Path.Combine(destination, "PortableApps")); Helpers.CreateEmptyFile(Path.Combine(destination, "PortableApps"));
} }
@ -279,7 +310,6 @@ private static void CreateFolder(string source, string destination, SetupJobs jo
{ {
SetupHelpers.CopyFile(Path.Combine(DesktopBridgeHelperDir, "ShareX_DesktopBridgeHelper.exe"), destination); SetupHelpers.CopyFile(Path.Combine(DesktopBridgeHelperDir, "ShareX_DesktopBridgeHelper.exe"), destination);
Helpers.CopyAll(WindowsStorePackageFilesDir, destination); Helpers.CopyAll(WindowsStorePackageFilesDir, destination);
CopyFFmpeg(destination, false, true);
} }
else if (job == SetupJobs.CreatePortable) else if (job == SetupJobs.CreatePortable)
{ {

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2" IgnorableNamespaces="desktop2">
<Identity Name="19568ShareX.ShareX" ProcessorArchitecture="x64" Publisher="CN=366A5DE5-2EC7-43FD-B559-05986578C4CC" Version="12.1.0.0" /> <Identity Name="19568ShareX.ShareX" ProcessorArchitecture="x64" Publisher="CN=366A5DE5-2EC7-43FD-B559-05986578C4CC" Version="12.1.0.0" />
<Properties> <Properties>
<DisplayName>ShareX</DisplayName> <DisplayName>ShareX</DisplayName>
@ -36,7 +36,7 @@
<desktop:StartupTask TaskId="ShareX" Enabled="true" DisplayName="ShareX" /> <desktop:StartupTask TaskId="ShareX" Enabled="true" DisplayName="ShareX" />
</desktop:Extension> </desktop:Extension>
<uap:Extension Category="windows.fileTypeAssociation"> <uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="ShareXCustomUploader" desktop2:UseUrl="false" Parameters='-CustomUploader "%1"'> <uap3:FileTypeAssociation Name="sharex-custom-uploader" desktop2:UseUrl="false" Parameters='-CustomUploader "%1"'>
<uap:DisplayName>ShareX custom uploader</uap:DisplayName> <uap:DisplayName>ShareX custom uploader</uap:DisplayName>
<uap:SupportedFileTypes> <uap:SupportedFileTypes>
<uap:FileType>.sxcu</uap:FileType> <uap:FileType>.sxcu</uap:FileType>