mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 10:58:30 -05:00
Publishing SQL Core library in nuget (#2173)
* Set up CI with Azure Pipelines [skip ci] * Update publishSqlCoreProject.yml for Azure Pipelines * Update publishSqlCoreProject.yml for Azure Pipelines * Update publishSqlCoreProject.yml for Azure Pipelines * Update publishSqlCoreProject.yml for Azure Pipelines * Update publishSqlCoreProject.yml for Azure Pipelines * Updating json rpc target framework * Fixing packages to pack * fixing pattern * Fixing project pattern * adding versioning schema * fixing versioning scheme * fixing nuget package name * adding name * removing var * Fixing stuff * Fixing stuff * Fixing stuff * Fixing build name * removing build name * fixing name * fixing stuff * fix pattern * Fixing stuff * Fixing feed * Fix stuff * Fixing feed * fixing proj name * Fixing stuff * Fixing netframework version * Fixing target framework * Adding target framework to dependency * Fixing frameworks * adding net7.0 * adding flag * Fixing target frameworks and making code compatible with lang version * fixed flag * Fixing assembly name * Adding hosting in nuget package * Fixing tests * Moving steps to its main pipeline * only releasing when release is true * Fixing build scripts * Adding version to csproj for packaging * adding version * Fix dirs * Adding version number to right prop group * Adding necessary dis * Fixing build number * fixing datatype * Using different var * Removing unused yml * Adding back nullables to hosting * Adding back more nullables * adding back more nullables * moving some props to dir level * Fixing tests * Removing dup properties * Supporting different target frameworks in hosting * Removing additional setting in csproj * signing sql core dll in publish * Fixing version setting * Adding to build * Added signing and packaging flag * Fixing file pattern
This commit is contained in:
26
build.cake
26
build.cake
@@ -37,8 +37,7 @@ var shellExtension = IsRunningOnWindows() ? "ps1" : "sh";
|
||||
/// </summary>
|
||||
public class BuildPlan
|
||||
{
|
||||
public string[] FxBuildProjects { get; set; }
|
||||
public string[] FxFrameworks { get; set; }
|
||||
public Project[] FxBuildProjects { get; set; }
|
||||
public IDictionary<string, string[]> TestProjects { get; set; }
|
||||
public string BuildToolsFolder { get; set; }
|
||||
public string ArtifactsFolder { get; set; }
|
||||
@@ -63,6 +62,8 @@ public class Project
|
||||
public string Name { get; set; }
|
||||
public string[] PackageProjects { get; set; }
|
||||
public string[] TestProjects { get; set; }
|
||||
public string[] Frameworks { get; set; }
|
||||
public bool SkipPack { get; set; }
|
||||
}
|
||||
|
||||
var buildPlan = JsonConvert.DeserializeObject<BuildPlan>(
|
||||
@@ -263,10 +264,10 @@ Task("BuildFx")
|
||||
{
|
||||
foreach (var project in buildPlan.FxBuildProjects)
|
||||
{
|
||||
foreach (var framework in buildPlan.FxFrameworks)
|
||||
foreach (var framework in project.Frameworks)
|
||||
{
|
||||
var projectFolder = System.IO.Path.Combine(sourceFolder, project);
|
||||
var logPath = System.IO.Path.Combine(logFolder, $"{project}-{framework}-build.log");
|
||||
var projectFolder = System.IO.Path.Combine(sourceFolder, project.Name);
|
||||
var logPath = System.IO.Path.Combine(logFolder, $"{project.Name}-{framework}-build.log");
|
||||
using (var logWriter = new StreamWriter(logPath)) {
|
||||
Run(dotnetcli, $"build --framework {framework} --configuration {configuration} \"{projectFolder}\"",
|
||||
new RunOptions
|
||||
@@ -274,7 +275,7 @@ Task("BuildFx")
|
||||
StandardOutputWriter = logWriter,
|
||||
StandardErrorWriter = logWriter
|
||||
})
|
||||
.ExceptionOnError($"Building test {project} failed for {framework}. See {logPath} for more details.");
|
||||
.ExceptionOnError($"Building test {project.Name} failed for {framework}. See {logPath} for more details.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,10 +309,14 @@ Task("DotnetPackNuspec")
|
||||
{
|
||||
foreach (var project in buildPlan.FxBuildProjects)
|
||||
{
|
||||
if (project.SkipPack != null && project.SkipPack)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// For now, putting all nugets in the 1 directory
|
||||
var outputFolder = System.IO.Path.Combine(nugetPackageFolder);
|
||||
var projectFolder = System.IO.Path.Combine(packagesFolder, project);
|
||||
DotnetPackNuspec(outputFolder, projectFolder, project);
|
||||
var projectFolder = System.IO.Path.Combine(packagesFolder, project.Name);
|
||||
DotnetPackNuspec(outputFolder, projectFolder, project.Name);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -469,9 +474,10 @@ void PublishProject(string packageName, string[] projects)
|
||||
}
|
||||
}
|
||||
|
||||
if (buildPlan.FxBuildProjects.Contains(project))
|
||||
if (buildPlan.FxBuildProjects.Any(p => p.Name == project))
|
||||
{
|
||||
foreach(var framework in buildPlan.FxFrameworks)
|
||||
var projDefinition = buildPlan.FxBuildProjects.First(p => p.Name == project);
|
||||
foreach(var framework in projDefinition.Frameworks)
|
||||
{
|
||||
var outputFolder = System.IO.Path.Combine(publishFolder, packageName, "default", framework);
|
||||
var publishArguments = "publish";
|
||||
|
||||
Reference in New Issue
Block a user