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:
Aasim Khan
2023-08-23 06:15:20 +00:00
committed by GitHub
parent 58923bc75e
commit c7d75fa535
39 changed files with 183 additions and 41 deletions

View File

@@ -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";