Skip to content

Commit

Permalink
Replaced Legacy .zip packaging with the new DualityTemplates .zip pac…
Browse files Browse the repository at this point in the history
…kaging (#834)

#CHANGE removed zip logic from nightlybuilder
#CHANGE package ci script is now always invoked on the ci
#CHANGE artifacts are now always published on the ci
  • Loading branch information
Barsonax authored Jun 11, 2020
1 parent f69b5b5 commit eba9912
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 154 deletions.
62 changes: 0 additions & 62 deletions Build/NightlyBuild/BuildConfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,75 +3,13 @@
<SolutionPath>..\..\Duality.sln</SolutionPath>
<BuildResultDir>..\Output</BuildResultDir>
<DocSolutionPath>..\Documentation\Documentation.shfbproj</DocSolutionPath>
<AdditionalFileDir>AdditionalFiles</AdditionalFileDir>
<NUnitBinDir>..\NUnit</NUnitBinDir>
<UnitTestProjectDir>..\..\Test\</UnitTestProjectDir>
<NuGetPath>nuget.exe</NuGetPath>
<NuGetPackageSpecsDir>..\NuGetPackageSpecs</NuGetPackageSpecsDir>
<NuGetPackageTargetDir>NuGetPackages</NuGetPackageTargetDir>
<IntermediateTargetDir>Duality</IntermediateTargetDir>
<PackageDir>Package</PackageDir>
<PackageName>Duality.zip</PackageName>
<NoDocs>false</NoDocs>
<CommitSVN>false</CommitSVN>
<FileCopyBlackList>
<string>Backup</string>
<string>Source</string>
<string>Data</string>
<string>DDoc.chm</string>
<string>GamePlugin.*.dll</string>
<string>DynamicLighting.*.dll</string>
<string>Steering.*.dll</string>
<string>GamePlugin.*.xml</string>
<string>DynamicLighting.*.xml</string>
<string>Steering.*.xml</string>
<string>*.vshost.*</string>
<string>logfile*</string>
<string>perflog*</string>
<string>userdata.dat</string>
<string>defaultuserdata.dat</string>
<string>designtimedata.dat</string>
<string>appdata.dat</string>
<string>editoruserdata.xml</string>
<string>FarseerOpenTK.xml</string>
<string>OpenTK.GLControl.xml</string>
<string>OpenTK.GLControl.xml</string>
<string>VistaBridgeLibrary.xml</string>
<string>WeifenLuo.WinFormsUI.Docking.pdb</string>
<string>Windows7.DesktopIntegration.xml</string>
<string>OpenAL32.dll</string>
<!-- Since we have Package Management now, omit a lot more -->
<string>Plugins</string>
<string>AdamsLair.WinForms.*</string>
<string>Aga.Controls.*</string>
<string>DualityPrimitives.pdb</string>
<string>DualityPrimitives.xml</string>
<string>Duality.pdb</string>
<string>Duality.xml</string>
<string>DualityEditor.pdb</string>
<string>DualityEditor.xml</string>
<string>DualityLauncher.*</string>
<string>DualityUpdater.*</string>
<string>DualityPhysics.pdb</string>
<string>DualityPhysics.xml</string>
<string>Ionic.Zip.*</string>
<string>NVorbis.*</string>
<string>OpenALSoft32.*</string>
<string>OpenALSoft64.*</string>
<string>OpenTK.*</string>
<string>OpenTK.GLControl.*</string>
<string>PopupControl.*</string>
<string>WeifenLuo.WinFormsUI.Docking.*</string>
<!-- Added items after switching to a shared build output directory -->
<string>*Tests.dll</string>
<string>*Tests.pdb</string>
<string>nunit.framework.dll</string>
<string>nunit.framework.xml</string>
<string>nunit.framework.pdb</string>
<string>nunit.engine.api.dll</string>
<string>nunit.engine.dll</string>
<string>nunit_random_seed.tmp</string>
<string>NUnit3.TestAdapter.dll</string>
<string>NUnit3.TestAdapter.pdb</string>
</FileCopyBlackList>
</ConfigFile>
Binary file modified Build/NightlyBuild/NightlyBuilder.exe
Binary file not shown.
Binary file modified Build/NightlyBuild/NightlyBuilder.pdb
Binary file not shown.
9 changes: 1 addition & 8 deletions Tools/NightlyBuilder/ConfigFile.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO;
using System.Xml.Serialization;

namespace NightlyBuilder
Expand All @@ -14,10 +10,8 @@ public sealed class ConfigFile
public string DocSolutionPath { get; set; }
public string DocBuildResultDir { get; set; }
public string DocBuildResultFile { get; set; }
public string AdditionalFileDir { get; set; }
public string NUnitBinDir { get; set; }
public string UnitTestProjectDir { get; set; }
public string IntermediateTargetDir { get; set; }
public string PackageDir { get; set; }
public string PackageName { get; set; }
public string CopyPackageTo { get; set; }
Expand All @@ -28,7 +22,6 @@ public sealed class ConfigFile
public bool NoTests { get; set; }
public bool NoDocs { get; set; }
public bool NonInteractive { get; set; }
public List<string> FileCopyBlackList { get; set; }

public void Save(string filePath)
{
Expand Down
70 changes: 0 additions & 70 deletions Tools/NightlyBuilder/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.IO.Compression;
using System.Diagnostics;
using System.Reflection;

Expand Down Expand Up @@ -207,75 +206,6 @@ public static void PerformNightlyBuild(ConfigFile config)
Console.WriteLine();
Console.WriteLine();
}

// Copy the results to the target directory
Console.WriteLine("================================ Copy to Target ===============================");
{
Console.WriteLine("Creating target directory '{0}'", config.IntermediateTargetDir);
if (Directory.Exists(config.IntermediateTargetDir))
Directory.Delete(config.IntermediateTargetDir, true);
CopyDirectory(config.BuildResultDir, config.IntermediateTargetDir, true, path =>
{
string fileName = Path.GetFileName(path);
foreach (string blackListEntry in config.FileCopyBlackList)
{
if (Regex.IsMatch(fileName, WildcardToRegex(blackListEntry), RegexOptions.IgnoreCase))
{
Console.ForegroundColor = ConsoleColor.DarkGray;
Console.WriteLine("Ignore {0}", path);
Console.ForegroundColor = ConsoleColor.Gray;
return false;
}
}
Console.WriteLine("Copy {0}", path);
return true;
});
if (!string.IsNullOrEmpty(config.AdditionalFileDir) && Directory.Exists(config.AdditionalFileDir))
{
CopyDirectory(config.AdditionalFileDir, config.IntermediateTargetDir, true);
}
}
Console.WriteLine("===============================================================================");
Console.WriteLine();
Console.WriteLine();

// Create the ZIP package
Console.WriteLine("============================== Create ZIP Package =============================");
{
Console.WriteLine("Package Path: {0}", packagePath);
if (!Directory.Exists(config.PackageDir))
Directory.CreateDirectory(config.PackageDir);

string[] files = Directory.GetFiles(config.IntermediateTargetDir, "*", SearchOption.AllDirectories);
using (FileStream packageStream = File.Open(packagePath, FileMode.Create))
using (ZipArchive archive = new ZipArchive(packageStream, ZipArchiveMode.Create, true))
{
foreach (string filePath in files)
{
ZipArchiveEntry fileEntry = archive.CreateEntry(filePath);
using (Stream entryStream = fileEntry.Open())
using (BinaryWriter entryWriter = new BinaryWriter(entryStream))
{
byte[] fileData = File.ReadAllBytes(filePath);
entryWriter.Write(fileData);
}
}
}
}
Console.WriteLine("===============================================================================");
Console.WriteLine();
Console.WriteLine();

// Cleanup
Console.WriteLine("=================================== Cleanup ===================================");
{
Console.WriteLine("Deleting target directory '{0}'", config.IntermediateTargetDir);
if (Directory.Exists(config.IntermediateTargetDir))
Directory.Delete(config.IntermediateTargetDir, true);
}
Console.WriteLine("===============================================================================");
Console.WriteLine();
Console.WriteLine();

// Build all NuGet Packages
Console.WriteLine("============================= Build NuGet Packages ============================");
Expand Down
29 changes: 15 additions & 14 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,26 @@ test:
categories:
except:
- Rendering # AppVeyor VMs don't have GPU access.

#
# The following lines trigger a complete NuGet Package and Binary Release build.
# They do not attempt to deploy them - it's just a build, made available through artifacts.
# The reason why it's inactive is that releases are in fact a relatively rare thing,
# while AppVeyor runs on each commit. It's probably for the best to not accumulate 6 - 11 MB
# of disk space in the AppVeyor VM on each commit, never to go away because of build history.
#
# In order to do a manual build on your local machine, use the "Package Binary NoDocs.bat" script,
# or, if you have SandCastle HelpFile Builder installed, use the "Package Binary.bat" script.
# You will find the build results in the below artifact paths.
#

#after_test: '"Build\Scripts\Package Binary CI Script.bat"'
#

after_test: '"Build\Scripts\Package Binary CI Script.bat"'

artifacts:
- path: 'Source\DualityTemplates\bin\Duality.zip'
name: "Binary Release"
- path: 'Build\NightlyBuild\NuGetPackages\*.nupkg'
name: "NuGet Packages"

#artifacts:
# - path: 'Build\NightlyBuild\Package\Duality.zip'
# name: "Binary Release"
# - path: 'Build\NightlyBuild\NuGetPackages'
# name: "All NuGet Packages"
# - path: 'Build\NightlyBuild\NuGetPackages\*.nupkg'
# name: "NuGet Packages"
deploy:
- provider: Environment
name: NuGetPackageRelease
on:
branch: release

0 comments on commit eba9912

Please sign in to comment.