Updated projects
This commit is contained in:
Родитель
23f7cd16a2
Коммит
63ceb74eb9
|
@ -12,7 +12,9 @@ EndProject
|
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{A47CBA6E-2F46-4308-BA5B-DE4AE5253F32}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
build.cake = build.cake
|
||||
.nuke = .nuke
|
||||
build.ps1 = build.ps1
|
||||
build.sh = build.sh
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReactiveHistory.UnitTests", "tests\ReactiveHistory.UnitTests\ReactiveHistory.UnitTests.csproj", "{71BA2D95-53E6-42D4-ADAA-CF34C77494F5}"
|
||||
|
@ -27,18 +29,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactiveHistorySample.Wpf",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReactiveHistorySample.Avalonia", "samples\ReactiveHistorySample.Avalonia\ReactiveHistorySample.Avalonia.csproj", "{342F4B0A-2EEB-434D-B4FC-8E76DA474729}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{E5AE18B0-5147-4FDD-B3A4-3EB695D7C444}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
src\Shared\SharedAssemblyInfo.cs = src\Shared\SharedAssemblyInfo.cs
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ci", "ci", "{7B85A9D4-E7E7-4BDB-B9AD-E6FFA195E786}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
_config.yml = _config.yml
|
||||
appveyor.yml = appveyor.yml
|
||||
azure-pipelines.yml = azure-pipelines.yml
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{04528DEE-83A0-41B8-B35A-6026C20AC281}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
NuGet.Config = NuGet.Config
|
||||
|
@ -54,8 +44,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "props", "props", "{1C68A69B
|
|||
ProjectSection(SolutionItems) = preProject
|
||||
build\Avalonia.Desktop.props = build\Avalonia.Desktop.props
|
||||
build\Avalonia.props = build\Avalonia.props
|
||||
build\NETCore.props = build\NETCore.props
|
||||
build\NetFX.props = build\NetFX.props
|
||||
build\Base.props = build\Base.props
|
||||
build\EmbedXaml.props = build\EmbedXaml.props
|
||||
build\ReactiveProperty.props = build\ReactiveProperty.props
|
||||
build\Rx.props = build\Rx.props
|
||||
build\XUnit.props = build\XUnit.props
|
||||
|
@ -132,7 +122,6 @@ Global
|
|||
{A3C460F7-DF9E-4D6B-8CF3-A1E668C7F2F1} = {4A600469-8200-4BDD-AA90-6B34B2D1CD2A}
|
||||
{3F0AC124-875C-4F92-8FAE-FF201C271CCF} = {4A600469-8200-4BDD-AA90-6B34B2D1CD2A}
|
||||
{342F4B0A-2EEB-434D-B4FC-8E76DA474729} = {4A600469-8200-4BDD-AA90-6B34B2D1CD2A}
|
||||
{7B85A9D4-E7E7-4BDB-B9AD-E6FFA195E786} = {A47CBA6E-2F46-4308-BA5B-DE4AE5253F32}
|
||||
{04528DEE-83A0-41B8-B35A-6026C20AC281} = {A47CBA6E-2F46-4308-BA5B-DE4AE5253F32}
|
||||
{24184708-8950-4B74-9CBB-BB68291FF9C6} = {A47CBA6E-2F46-4308-BA5B-DE4AE5253F32}
|
||||
{1C68A69B-E16C-4603-9DD3-DDB4E4393EDF} = {A47CBA6E-2F46-4308-BA5B-DE4AE5253F32}
|
||||
|
|
35
appveyor.yml
35
appveyor.yml
|
@ -1,35 +0,0 @@
|
|||
version: '{build}'
|
||||
image: Visual Studio 2017
|
||||
skip_branch_with_pr: true
|
||||
configuration: Release
|
||||
platform: Any CPU
|
||||
environment:
|
||||
APPVEYOR_BLOCK_DOTNETCORE_TESTS_AUTORUN: true
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||
NUGET_API_KEY:
|
||||
secure: iSkm19DNdKOLxxCvHiaKikWXy25ZMwGBKpv+EgEprliGl0qX5HtKohLmwJsLnx5O
|
||||
NUGET_API_URL: https://www.nuget.org/api/v2/package
|
||||
MYGET_API_KEY:
|
||||
secure: xhYvrWYPHdNI+mQD+f4Zu3baL7fqW+nO/hYXJdN070Lej8wpa6gfrLi1NGtnQlAs
|
||||
MYGET_API_URL: https://www.myget.org/F/reactivehistory-nightly/api/v2/package
|
||||
install:
|
||||
- if not exist dotnet-sdk-2.1.401-win-x64.exe appveyor DownloadFile https://download.microsoft.com/download/E/8/A/E8AF2EE0-5DDA-4420-A395-D1A50EEFD83E/dotnet-sdk-2.1.401-win-x64.exe -FileName "dotnet-sdk-2.1.401-win-x64.exe"
|
||||
- ps: Start-Process -FilePath "dotnet-sdk-2.1.401-win-x64.exe" -ArgumentList "/quiet" -Wait
|
||||
- cmd: dotnet --info
|
||||
- cmd: dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
build_script:
|
||||
- cmd: dotnet cake build.cake -Target="AppVeyor" -Platform="%PLATFORM%" -Configuration="%CONFIGURATION%"
|
||||
test: off
|
||||
notifications:
|
||||
- provider: Webhook
|
||||
url: https://webhooks.gitter.im/e/190345f2f4350d168c39
|
||||
method: POST
|
||||
on_build_success: true
|
||||
on_build_failure: true
|
||||
on_build_status_changed: true
|
||||
artifacts:
|
||||
- path: artifacts\test-results\*.xml
|
||||
- path: artifacts\nuget\*.nupkg
|
||||
cache:
|
||||
- dotnet-sdk-2.1.401-win-x64.exe
|
|
@ -1,49 +0,0 @@
|
|||
jobs:
|
||||
- job: Linux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
export COREHOST_TRACE=0
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
which dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
export PATH="$PATH:$HOME/.dotnet/tools"
|
||||
dotnet cake build.cake -Target="Azure-Linux" -Platform="Any CPU" -Configuration="Release"
|
||||
- job: macOS
|
||||
pool:
|
||||
vmImage: 'xcode9-macos10.13'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
export COREHOST_TRACE=0
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
which dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
export PATH="$PATH:$HOME/.dotnet/tools"
|
||||
dotnet cake build.cake -Target="Azure-macOS" -Platform="Any CPU" -Configuration="Release"
|
||||
- job: Windows
|
||||
pool:
|
||||
vmImage: 'vs2017-win2016'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
set COREHOST_TRACE=0
|
||||
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
set DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
where dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
set PATH=%PATH%;%USERPROFILE%\.dotnet\tools
|
||||
dotnet cake build.cake -Target="Azure-Windows" -Platform="Any CPU" -Configuration="Release"
|
459
build.cake
459
build.cake
|
@ -1,459 +0,0 @@
|
|||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ADDINS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#addin "nuget:?package=Polly&version=5.3.1"
|
||||
#addin "nuget:?package=PackageReferenceEditor&version=0.0.3"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TOOLS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#tool "nuget:?package=NuGet.CommandLine&version=4.3.0"
|
||||
#tool "nuget:?package=xunit.runner.console&version=2.3.1"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// USINGS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using PackageReferenceEditor;
|
||||
using Polly;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ARGUMENTS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var target = Argument("target", "Default");
|
||||
var platform = Argument("platform", "Any CPU");
|
||||
var configuration = Argument("configuration", "Release");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CONFIGURATION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var MainRepo = "wieslawsoltes/ReactiveHistory";
|
||||
var MasterBranch = "master";
|
||||
var AssemblyInfoPath = File("./src/Shared/SharedAssemblyInfo.cs");
|
||||
var ReleasePlatform = "Any CPU";
|
||||
var ReleaseConfiguration = "Release";
|
||||
var MSBuildSolution = "./ReactiveHistory.sln";
|
||||
var UnitTestsFramework = "net461";
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// .NET Core Projects
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var netCoreAppsRoot= "./samples";
|
||||
var netCoreApps = new string[] { "ReactiveHistorySample.Avalonia" };
|
||||
var netCoreProjects = netCoreApps.Select(name =>
|
||||
new {
|
||||
Path = string.Format("{0}/{1}", netCoreAppsRoot, name),
|
||||
Name = name,
|
||||
Framework = XmlPeek(string.Format("{0}/{1}/{1}.csproj", netCoreAppsRoot, name), "//*[local-name()='TargetFramework']/text()"),
|
||||
Runtimes = XmlPeek(string.Format("{0}/{1}/{1}.csproj", netCoreAppsRoot, name), "//*[local-name()='RuntimeIdentifiers']/text()").Split(';')
|
||||
}).ToList();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// .NET Core UnitTests
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var netCoreUnitTestsRoot= "./tests";
|
||||
var netCoreUnitTests = new string[] {
|
||||
"ReactiveHistory.UnitTests"
|
||||
};
|
||||
var netCoreUnitTestsProjects = netCoreUnitTests.Select(name =>
|
||||
new {
|
||||
Name = name,
|
||||
Path = string.Format("{0}/{1}", netCoreUnitTestsRoot, name),
|
||||
File = string.Format("{0}/{1}/{1}.csproj", netCoreUnitTestsRoot, name)
|
||||
}).ToList();
|
||||
var netCoreUnitTestsFrameworks = new List<string>() { "netcoreapp2.1" };
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
netCoreUnitTestsFrameworks.Add("net461");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// PARAMETERS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var isPlatformAnyCPU = StringComparer.OrdinalIgnoreCase.Equals(platform, "Any CPU");
|
||||
var isPlatformX86 = StringComparer.OrdinalIgnoreCase.Equals(platform, "x86");
|
||||
var isPlatformX64 = StringComparer.OrdinalIgnoreCase.Equals(platform, "x64");
|
||||
var isLocalBuild = BuildSystem.IsLocalBuild;
|
||||
var isRunningOnUnix = IsRunningOnUnix();
|
||||
var isRunningOnWindows = IsRunningOnWindows();
|
||||
var isRunningOnAppVeyor = BuildSystem.AppVeyor.IsRunningOnAppVeyor;
|
||||
var isPullRequest = BuildSystem.AppVeyor.Environment.PullRequest.IsPullRequest;
|
||||
var isMainRepo = StringComparer.OrdinalIgnoreCase.Equals(MainRepo, BuildSystem.AppVeyor.Environment.Repository.Name);
|
||||
var isMasterBranch = StringComparer.OrdinalIgnoreCase.Equals(MasterBranch, BuildSystem.AppVeyor.Environment.Repository.Branch);
|
||||
var isTagged = BuildSystem.AppVeyor.Environment.Repository.Tag.IsTag
|
||||
&& !string.IsNullOrWhiteSpace(BuildSystem.AppVeyor.Environment.Repository.Tag.Name);
|
||||
var isReleasable = StringComparer.OrdinalIgnoreCase.Equals(ReleasePlatform, platform)
|
||||
&& StringComparer.OrdinalIgnoreCase.Equals(ReleaseConfiguration, configuration);
|
||||
var isMyGetRelease = !isTagged && isReleasable;
|
||||
var isNuGetRelease = isTagged && isReleasable;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// VERSION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var version = ParseAssemblyInfo(AssemblyInfoPath).AssemblyVersion;
|
||||
|
||||
if (isRunningOnAppVeyor)
|
||||
{
|
||||
if (isTagged)
|
||||
{
|
||||
// Use Tag Name as version
|
||||
version = BuildSystem.AppVeyor.Environment.Repository.Tag.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Use AssemblyVersion with Build as version
|
||||
version += "-build" + EnvironmentVariable("APPVEYOR_BUILD_NUMBER") + "-alpha";
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// DIRECTORIES
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var artifactsDir = (DirectoryPath)Directory("./artifacts");
|
||||
var testResultsDir = artifactsDir.Combine("test-results");
|
||||
var nugetRoot = artifactsDir.Combine("nuget");
|
||||
var dirSuffix = isPlatformAnyCPU ? configuration : platform + "/" + configuration;
|
||||
var buildDirs =
|
||||
GetDirectories("./src/**/bin/**") +
|
||||
GetDirectories("./src/**/obj/**") +
|
||||
GetDirectories("./samples/**/bin/**") +
|
||||
GetDirectories("./samples/**/obj/**") +
|
||||
GetDirectories("./tests/**/bin/**") +
|
||||
GetDirectories("./tests/**/obj/**");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// NUGET NUSPECS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var result = Updater.FindReferences("./build", "*.props", new string[] { });
|
||||
|
||||
result.ValidateVersions();
|
||||
|
||||
Information("Setting NuGet package dependencies versions:");
|
||||
|
||||
var SystemReactiveVersion = result.GroupedReferences["System.Reactive"].FirstOrDefault().Version;
|
||||
|
||||
Information("Package: System.Reactive, version: {0}", SystemReactiveVersion);
|
||||
|
||||
var nuspecNuGetHistory = new NuGetPackSettings()
|
||||
{
|
||||
Id = "ReactiveHistory",
|
||||
Version = version,
|
||||
Authors = new [] { "wieslawsoltes" },
|
||||
Owners = new [] { "wieslawsoltes" },
|
||||
LicenseUrl = new Uri("http://opensource.org/licenses/MIT"),
|
||||
ProjectUrl = new Uri("https://github.com/wieslawsoltes/ReactiveHistory/"),
|
||||
RequireLicenseAcceptance = false,
|
||||
Symbols = false,
|
||||
NoPackageAnalysis = true,
|
||||
Description = "Reactive undo/redo framework for .NET.",
|
||||
Copyright = "Copyright 2018",
|
||||
Tags = new [] { "Undo", "Redo", "History", "Reactive", "Managed", "C#" },
|
||||
Dependencies = new []
|
||||
{
|
||||
new NuSpecDependency { Id = "System.Reactive", Version = SystemReactiveVersion }
|
||||
},
|
||||
Files = new []
|
||||
{
|
||||
// netstandard2.0
|
||||
new NuSpecContent { Source = "src/ReactiveHistory/bin/" + dirSuffix + "/netstandard2.0/" + "ReactiveHistory.dll", Target = "lib/netstandard2.0" },
|
||||
new NuSpecContent { Source = "src/ReactiveHistory/bin/" + dirSuffix + "/netstandard2.0/" + "ReactiveHistory.xml", Target = "lib/netstandard2.0" },
|
||||
// net461
|
||||
new NuSpecContent { Source = "src/ReactiveHistory/bin/" + dirSuffix + "/net461/" + "ReactiveHistory.dll", Target = "lib/net461" },
|
||||
new NuSpecContent { Source = "src/ReactiveHistory/bin/" + dirSuffix + "/net461/" + "ReactiveHistory.xml", Target = "lib/net461" }
|
||||
},
|
||||
BasePath = Directory("./"),
|
||||
OutputDirectory = nugetRoot
|
||||
};
|
||||
|
||||
var nuspecNuGetSettings = new List<NuGetPackSettings>();
|
||||
|
||||
nuspecNuGetSettings.Add(nuspecNuGetHistory);
|
||||
|
||||
var nugetPackages = nuspecNuGetSettings.Select(nuspec => {
|
||||
return nuspec.OutputDirectory.CombineWithFilePath(string.Concat(nuspec.Id, ".", nuspec.Version, ".nupkg"));
|
||||
}).ToArray();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// INFORMATION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Information("Building version {0} of ReactiveHistory ({1}, {2}, {3}) using version {4} of Cake.",
|
||||
version,
|
||||
platform,
|
||||
configuration,
|
||||
target,
|
||||
typeof(ICakeContext).Assembly.GetName().Version.ToString());
|
||||
|
||||
if (isRunningOnAppVeyor)
|
||||
{
|
||||
Information("Repository Name: " + BuildSystem.AppVeyor.Environment.Repository.Name);
|
||||
Information("Repository Branch: " + BuildSystem.AppVeyor.Environment.Repository.Branch);
|
||||
}
|
||||
|
||||
Information("Target: " + target);
|
||||
Information("Platform: " + platform);
|
||||
Information("Configuration: " + configuration);
|
||||
Information("IsLocalBuild: " + isLocalBuild);
|
||||
Information("IsRunningOnUnix: " + isRunningOnUnix);
|
||||
Information("IsRunningOnWindows: " + isRunningOnWindows);
|
||||
Information("IsRunningOnAppVeyor: " + isRunningOnAppVeyor);
|
||||
Information("IsPullRequest: " + isPullRequest);
|
||||
Information("IsMainRepo: " + isMainRepo);
|
||||
Information("IsMasterBranch: " + isMasterBranch);
|
||||
Information("IsTagged: " + isTagged);
|
||||
Information("IsReleasable: " + isReleasable);
|
||||
Information("IsMyGetRelease: " + isMyGetRelease);
|
||||
Information("IsNuGetRelease: " + isNuGetRelease);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TASKS: VISUAL STUDIO
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
CleanDirectories(buildDirs);
|
||||
CleanDirectory(artifactsDir);
|
||||
CleanDirectory(testResultsDir);
|
||||
CleanDirectory(nugetRoot);
|
||||
});
|
||||
|
||||
Task("Restore-NuGet-Packages")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
var maxRetryCount = 5;
|
||||
var toolTimeout = 1d;
|
||||
Policy
|
||||
.Handle<Exception>()
|
||||
.Retry(maxRetryCount, (exception, retryCount, context) => {
|
||||
if (retryCount == maxRetryCount)
|
||||
{
|
||||
throw exception;
|
||||
}
|
||||
else
|
||||
{
|
||||
Verbose("{0}", exception);
|
||||
toolTimeout+=0.5;
|
||||
}})
|
||||
.Execute(()=> {
|
||||
if(isRunningOnWindows)
|
||||
{
|
||||
NuGetRestore(MSBuildSolution, new NuGetRestoreSettings {
|
||||
ToolTimeout = TimeSpan.FromMinutes(toolTimeout)
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Task("Build")
|
||||
.IsDependentOn("Restore-NuGet-Packages")
|
||||
.Does(() =>
|
||||
{
|
||||
if(isRunningOnWindows)
|
||||
{
|
||||
MSBuild(MSBuildSolution, settings => {
|
||||
settings.UseToolVersion(MSBuildToolVersion.VS2017);
|
||||
settings.SetConfiguration(configuration);
|
||||
settings.WithProperty("Platform", "\"" + platform + "\"");
|
||||
settings.SetVerbosity(Verbosity.Minimal);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Task("Run-Unit-Tests")
|
||||
.IsDependentOn("Build")
|
||||
.Does(() =>
|
||||
{
|
||||
if(!isRunningOnWindows)
|
||||
return;
|
||||
var assemblies = GetFiles("./tests/**/bin/" + dirSuffix + "/" + UnitTestsFramework + "/*.UnitTests.dll");
|
||||
var settings = new XUnit2Settings {
|
||||
ToolPath = (isPlatformAnyCPU || isPlatformX86) ?
|
||||
Context.Tools.Resolve("xunit.console.x86.exe") :
|
||||
Context.Tools.Resolve("xunit.console.exe"),
|
||||
OutputDirectory = testResultsDir,
|
||||
XmlReportV1 = true,
|
||||
NoAppDomain = true,
|
||||
Parallelism = ParallelismOption.None,
|
||||
ShadowCopy = false
|
||||
};
|
||||
foreach (var assembly in assemblies)
|
||||
{
|
||||
XUnit2(assembly.FullPath, settings);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Create-NuGet-Packages")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach(var nuspec in nuspecNuGetSettings)
|
||||
{
|
||||
NuGetPack(nuspec);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Publish-MyGet")
|
||||
.IsDependentOn("Create-NuGet-Packages")
|
||||
.WithCriteria(() => !isLocalBuild)
|
||||
.WithCriteria(() => !isPullRequest)
|
||||
.WithCriteria(() => isMainRepo)
|
||||
.WithCriteria(() => isMasterBranch)
|
||||
.WithCriteria(() => isMyGetRelease)
|
||||
.Does(() =>
|
||||
{
|
||||
var apiKey = EnvironmentVariable("MYGET_API_KEY");
|
||||
if(string.IsNullOrEmpty(apiKey))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve MyGet API key.");
|
||||
}
|
||||
|
||||
var apiUrl = EnvironmentVariable("MYGET_API_URL");
|
||||
if(string.IsNullOrEmpty(apiUrl))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve MyGet API url.");
|
||||
}
|
||||
|
||||
foreach(var nupkg in nugetPackages)
|
||||
{
|
||||
NuGetPush(nupkg, new NuGetPushSettings {
|
||||
Source = apiUrl,
|
||||
ApiKey = apiKey
|
||||
});
|
||||
}
|
||||
})
|
||||
.OnError(exception =>
|
||||
{
|
||||
Information("Publish-MyGet Task failed, but continuing with next Task...");
|
||||
});
|
||||
|
||||
Task("Publish-NuGet")
|
||||
.IsDependentOn("Create-NuGet-Packages")
|
||||
.WithCriteria(() => !isLocalBuild)
|
||||
.WithCriteria(() => !isPullRequest)
|
||||
.WithCriteria(() => isMainRepo)
|
||||
.WithCriteria(() => isMasterBranch)
|
||||
.WithCriteria(() => isNuGetRelease)
|
||||
.Does(() =>
|
||||
{
|
||||
var apiKey = EnvironmentVariable("NUGET_API_KEY");
|
||||
if(string.IsNullOrEmpty(apiKey))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve NuGet API key.");
|
||||
}
|
||||
|
||||
var apiUrl = EnvironmentVariable("NUGET_API_URL");
|
||||
if(string.IsNullOrEmpty(apiUrl))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve NuGet API url.");
|
||||
}
|
||||
|
||||
foreach(var nupkg in nugetPackages)
|
||||
{
|
||||
NuGetPush(nupkg, new NuGetPushSettings {
|
||||
ApiKey = apiKey,
|
||||
Source = apiUrl
|
||||
});
|
||||
}
|
||||
})
|
||||
.OnError(exception =>
|
||||
{
|
||||
Information("Publish-NuGet Task failed, but continuing with next Task...");
|
||||
});
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TASKS: .NET Core
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Restore-NetCore")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreProjects)
|
||||
{
|
||||
DotNetCoreRestore(project.Path);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreUnitTestsProjects)
|
||||
{
|
||||
DotNetCoreRestore(project.Path);
|
||||
foreach(var framework in netCoreUnitTestsFrameworks)
|
||||
{
|
||||
Information("Running tests for: {0}, framework: {1}", project.Name, framework);
|
||||
DotNetCoreTest(project.File, new DotNetCoreTestSettings {
|
||||
Configuration = configuration,
|
||||
Framework = framework
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Task("Build-NetCore")
|
||||
.IsDependentOn("Restore-NetCore")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreProjects)
|
||||
{
|
||||
Information("Building: {0}", project.Name);
|
||||
DotNetCoreBuild(project.Path, new DotNetCoreBuildSettings {
|
||||
Configuration = configuration,
|
||||
MSBuildSettings = new DotNetCoreMSBuildSettings() {
|
||||
MaxCpuCount = 0
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TARGETS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Package")
|
||||
.IsDependentOn("Create-NuGet-Packages");
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Run-Unit-Tests");
|
||||
|
||||
Task("AppVeyor")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore")
|
||||
.IsDependentOn("Publish-MyGet")
|
||||
.IsDependentOn("Publish-NuGet");
|
||||
|
||||
Task("Azure-Windows")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
Task("Azure-macOS")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
Task("Azure-Linux")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EXECUTE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
RunTarget(target);
|
|
@ -1,11 +1,11 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>0.0.2</VersionPrefix>
|
||||
<VersionPrefix>0.2.5</VersionPrefix>
|
||||
<VersionSuffix></VersionSuffix>
|
||||
<Authors>Wiesław Šoltés</Authors>
|
||||
<Company>Wiesław Šoltés</Company>
|
||||
<Copyright>Copyright © Wiesław Šoltés 2018</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/wieslawsoltes/ThemeEditor/blob/master/LICENSE.TXT</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://github.com/wieslawsoltes/ThemeEditor</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/wieslawsoltes/ReactiveHistory/blob/master/LICENSE.TXT</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://github.com/wieslawsoltes/ReactiveHistory</PackageProjectUrl>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistorySample.Avalonia")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.Avalonia")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("342f4b0a-2eeb-434d-b4fc-8e76da474729")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -3,29 +3,23 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeIdentifiers>win7-x64;ubuntu.14.04-x64;osx.10.12-x64</RuntimeIdentifiers>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
<Import Project="..\..\build\Rx.props" />
|
||||
<Import Project="..\..\build\Avalonia.props" />
|
||||
<Import Project="..\..\build\Avalonia.Desktop.props" />
|
||||
<Import Project="..\..\build\ReactiveProperty.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="**\*.xaml.cs">
|
||||
<DependentUpon>%(Filename)</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="**\*.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\NETCore.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Rx.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Avalonia.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Avalonia.Desktop.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\ReactiveProperty.props" />
|
||||
<Import Project="..\..\build\EmbedXaml.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\ReactiveHistory\ReactiveHistory.csproj" />
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Resources;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistorySample.Models")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.Models")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: NeutralResourcesLanguage("en")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -4,10 +4,13 @@
|
|||
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistorySample.ViewModels")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.ViewModels")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("a3c460f7-df9e-4d6b-8cf3-a1e668c7f2f1")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -4,10 +4,15 @@
|
|||
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
<Import Project="..\..\build\ReactiveProperty.props" />
|
||||
<Import Project="..\..\build\Rx.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
|
@ -17,7 +22,4 @@
|
|||
<ProjectReference Include="..\ReactiveHistorySample.Models\ReactiveHistorySample.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\ReactiveProperty.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Rx.props" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -9,7 +9,7 @@ using System.Windows;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReactiveHistorySample.Wpf")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018 Wiesław Šoltés")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
|
|
|
@ -1,17 +1,24 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>Reactive undo/redo framework for .NET.</Description>
|
||||
<PackageTags>Undo;Redo;History;Reactive;Managed;C#</PackageTags>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
<Import Project="..\..\build\Rx.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\Shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Rx.props" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyCompany("Wiesław Šoltés")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wiesław Šoltés 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyVersion("0.2.4")]
|
||||
[assembly: AssemblyFileVersion("0.2.4")]
|
||||
[assembly: AssemblyInformationalVersion("0.2.4")]
|
|
@ -1,17 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("ReactiveHistory.UnitTests")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Wiesław Šoltés")]
|
||||
[assembly: AssemblyProduct("ReactiveHistory.UnitTests")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wiesław Šoltés 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("71ba2d95-53e6-42d4-adaa-cf34c77494f5")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,35 +1,16 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net461;netcoreapp2.1</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<GenerateRuntimeConfigurationFiles>True</GenerateRuntimeConfigurationFiles>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Rx.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\XUnit.props" />
|
||||
|
||||
<Import Project="..\..\build\Rx.props" />
|
||||
<Import Project="..\..\build\XUnit.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\ReactiveHistory\ReactiveHistory.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
Загрузка…
Ссылка в новой задаче