mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 10:58:30 -05:00
Package published projects (#1291)
* Package published project * sign and publish nuget packages * Publish logs * Sign before packaging * Add res of packages * Publish to specific folders * add comment * Remove unused package projects
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -40,7 +40,6 @@ msbuild.wrn
|
|||||||
# code coverage artifacts
|
# code coverage artifacts
|
||||||
coverage.xml
|
coverage.xml
|
||||||
node_modules
|
node_modules
|
||||||
packages
|
|
||||||
reports
|
reports
|
||||||
opencovertests.xml
|
opencovertests.xml
|
||||||
outputCobertura.xml
|
outputCobertura.xml
|
||||||
@@ -173,7 +172,6 @@ publish/
|
|||||||
*.nuget.props
|
*.nuget.props
|
||||||
*.nuget.targets
|
*.nuget.targets
|
||||||
src/**/*.nupkg
|
src/**/*.nupkg
|
||||||
**/packages/*
|
|
||||||
|
|
||||||
# Windows Azure Build Output
|
# Windows Azure Build Output
|
||||||
csx/
|
csx/
|
||||||
|
|||||||
@@ -126,6 +126,41 @@ steps:
|
|||||||
MaxConcurrency: 5
|
MaxConcurrency: 5
|
||||||
condition: and(succeeded(), eq(variables['signed'], true))
|
condition: and(succeeded(), eq(variables['signed'], true))
|
||||||
|
|
||||||
|
- task: BatchScript@1
|
||||||
|
displayName: 'Package published projects'
|
||||||
|
inputs:
|
||||||
|
filename: build.cmd
|
||||||
|
arguments: '-target=dotnetpackpublished -mono'
|
||||||
|
continueOnError: true
|
||||||
|
|
||||||
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
|
displayName: 'ESRP Code Signing - Nuget Package'
|
||||||
|
inputs:
|
||||||
|
ConnectedServiceName: 'Code Signing'
|
||||||
|
FolderPath: '$(Build.SourcesDirectory)/artifacts/nugetPackages'
|
||||||
|
Pattern: '*.nupkg'
|
||||||
|
signConfigType: 'inlineSignParams'
|
||||||
|
inlineOperation: |
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"keyCode": "CP-401405",
|
||||||
|
"operationSetCode": "NuGetSign",
|
||||||
|
"parameters": [ ],
|
||||||
|
"toolName": "sign",
|
||||||
|
"toolVersion": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"keyCode": "CP-401405",
|
||||||
|
"operationSetCode": "NuGetVerify",
|
||||||
|
"parameters": [ ],
|
||||||
|
"toolName": "sign",
|
||||||
|
"toolVersion": "1.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
SessionTimeout: '60'
|
||||||
|
MaxConcurrency: '50'
|
||||||
|
MaxRetryAttempts: '5'
|
||||||
|
|
||||||
- task: ArchiveFiles@1
|
- task: ArchiveFiles@1
|
||||||
displayName: 'Archive osx build'
|
displayName: 'Archive osx build'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -171,10 +206,22 @@ steps:
|
|||||||
# archiveFile: '$(Build.SourcesDirectory)/artifacts/package/Microsoft.SqlTools.ServiceLayer-win10-arm64-net5.0.zip'
|
# archiveFile: '$(Build.SourcesDirectory)/artifacts/package/Microsoft.SqlTools.ServiceLayer-win10-arm64-net5.0.zip'
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
displayName: 'Publish Artifact: drop'
|
displayName: 'Publish Artifact: build archives'
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/package'
|
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/package'
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: 'Publish Artifact: nuget packages'
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/nugetPackages'
|
||||||
|
ArtifactName: 'packages'
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: 'Publish Artifact: logs'
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/logs'
|
||||||
|
ArtifactName: 'logs'
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
- task: NuGetCommand@2
|
||||||
displayName: 'NuGet push'
|
displayName: 'NuGet push'
|
||||||
condition: eq(variables['PUSH_SYMBOLS'], 'true')
|
condition: eq(variables['PUSH_SYMBOLS'], 'true')
|
||||||
|
|||||||
36
build.cake
36
build.cake
@@ -48,7 +48,10 @@ public class BuildPlan
|
|||||||
public string[] Frameworks { get; set; }
|
public string[] Frameworks { get; set; }
|
||||||
public string[] Rids { get; set; }
|
public string[] Rids { get; set; }
|
||||||
public string[] MainProjects { get; set; }
|
public string[] MainProjects { get; set; }
|
||||||
|
// The set of projects that we want to call dotnet pack on directly
|
||||||
public string[] PackageProjects { get; set; }
|
public string[] PackageProjects { get; set; }
|
||||||
|
// The set of projects that we want to call dotnet pack on which require publishing being done first
|
||||||
|
public string[] PackagePublishedProjects { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
var buildPlan = JsonConvert.DeserializeObject<BuildPlan>(
|
var buildPlan = JsonConvert.DeserializeObject<BuildPlan>(
|
||||||
@@ -61,6 +64,7 @@ var toolsFolder = System.IO.Path.Combine(workingDirectory, buildPlan.BuildToolsF
|
|||||||
|
|
||||||
var sourceFolder = System.IO.Path.Combine(workingDirectory, "src");
|
var sourceFolder = System.IO.Path.Combine(workingDirectory, "src");
|
||||||
var testFolder = System.IO.Path.Combine(workingDirectory, "test");
|
var testFolder = System.IO.Path.Combine(workingDirectory, "test");
|
||||||
|
var packagesFolder = System.IO.Path.Combine(workingDirectory, "packages");
|
||||||
|
|
||||||
var artifactFolder = System.IO.Path.Combine(workingDirectory, buildPlan.ArtifactsFolder);
|
var artifactFolder = System.IO.Path.Combine(workingDirectory, buildPlan.ArtifactsFolder);
|
||||||
var publishFolder = System.IO.Path.Combine(artifactFolder, "publish");
|
var publishFolder = System.IO.Path.Combine(artifactFolder, "publish");
|
||||||
@@ -227,8 +231,9 @@ Task("BuildTest")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Build Test projects.
|
/// Packages projects specified in PackageProjects
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task("DotnetPack")
|
Task("DotnetPack")
|
||||||
.IsDependentOn("Cleanup")
|
.IsDependentOn("Cleanup")
|
||||||
@@ -241,16 +246,29 @@ Task("DotnetPack")
|
|||||||
// For now, putting all nugets in the 1 directory
|
// For now, putting all nugets in the 1 directory
|
||||||
var outputFolder = System.IO.Path.Combine(nugetPackageFolder);
|
var outputFolder = System.IO.Path.Combine(nugetPackageFolder);
|
||||||
var projectFolder = System.IO.Path.Combine(sourceFolder, project);
|
var projectFolder = System.IO.Path.Combine(sourceFolder, project);
|
||||||
var runLog = new List<string>();
|
DotnetPack(outputFolder, projectFolder, project);
|
||||||
Run(dotnetcli, $"pack --configuration {configuration} --output {outputFolder} \"{projectFolder}\"",
|
|
||||||
new RunOptions
|
|
||||||
{
|
|
||||||
StandardOutputListing = runLog
|
|
||||||
})
|
|
||||||
.ExceptionOnError($"Packaging {project} failed.");
|
|
||||||
System.IO.File.WriteAllLines(System.IO.Path.Combine(logFolder, $"{project}-pack.log"), runLog.ToArray());
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Packages projects specified in PackagePublishedProjects, these projects require that publishing be done first. Note that we
|
||||||
|
/// don't do the publishing here because we need the binaries to be signed before being packaged up and that is done by the pipeline
|
||||||
|
/// currently.
|
||||||
|
/// </summary>
|
||||||
|
Task("DotnetPackPublished")
|
||||||
|
.Does(() =>
|
||||||
|
{
|
||||||
|
foreach (var project in buildPlan.PackagePublishedProjects)
|
||||||
|
{
|
||||||
|
// For now, putting all nugets in the 1 directory
|
||||||
|
var outputFolder = System.IO.Path.Combine(nugetPackageFolder);
|
||||||
|
var projectFolder = System.IO.Path.Combine(packagesFolder, project);
|
||||||
|
DotnetPack(outputFolder, projectFolder, project);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Run all tests for .NET Desktop and .NET Core
|
/// Run all tests for .NET Desktop and .NET Core
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
13
build.json
13
build.json
@@ -26,5 +26,18 @@
|
|||||||
],
|
],
|
||||||
"PackageProjects": [
|
"PackageProjects": [
|
||||||
"Microsoft.SqlTools.Hosting"
|
"Microsoft.SqlTools.Hosting"
|
||||||
|
],
|
||||||
|
"PackagePublishedProjects": [
|
||||||
|
"Microsoft.SqlToolsService",
|
||||||
|
"runtime.centos.7-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.debian.8-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.fedora.23-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.linux-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.osx-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService",
|
||||||
|
"runtime.win7-x64.native.Microsoft.SqlToolsService"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -12,29 +12,23 @@
|
|||||||
<ProjectReference Include="../runtime.centos.7-x64.native.Microsoft.SqlToolsService/runtime.centos.7-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.centos.7-x64.native.Microsoft.SqlToolsService/runtime.centos.7-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.debian.8-x64.native.Microsoft.SqlToolsService/runtime.debian.8-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.debian.8-x64.native.Microsoft.SqlToolsService/runtime.debian.8-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.fedora.23-x64.native.Microsoft.SqlToolsService/runtime.fedora.23-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.fedora.23-x64.native.Microsoft.SqlToolsService/runtime.fedora.23-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.linux-64-x64.native.Microsoft.SqlToolsService/runtime.linux-64-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.linux-x64.native.Microsoft.SqlToolsService/runtime.linux-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService/runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService/runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.osx.10.11-x64.native.Microsoft.SqlToolsService/runtime.osx.10.11-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.osx-x64.native.Microsoft.SqlToolsService/runtime.osx-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService/runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService/runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService/runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService/runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService/runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService/runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.win10-arm.native.Microsoft.SqlToolsService/runtime.win10-arm.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
|
||||||
<ProjectReference Include="../runtime.win10-arm64.native.Microsoft.SqlToolsService/runtime.win10-arm64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
|
||||||
<ProjectReference Include="../runtime.win7-x64.native.Microsoft.SqlToolsService/runtime.win7-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
<ProjectReference Include="../runtime.win7-x64.native.Microsoft.SqlToolsService/runtime.win7-x64.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
||||||
<ProjectReference Include="../runtime.win7-x86.native.Microsoft.SqlToolsService/runtime.win7-x86.native.Microsoft.SqlToolsService.csproj" PrivateAssets="All" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="runtime.linux-64-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.linux-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.debian.8-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.debian.8-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.opensuse.13.2-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.osx.10.11-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.osx-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.rhel.7.2-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.ubuntu.14.04-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.ubuntu.16.04-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.win10-arm.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
<PackageReference Include="runtime.win7-x64.native.Microsoft.SqlToolsService" VersionOverride="$(PackageVersion)" />
|
||||||
<PackageReference Include="runtime.win10-arm64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
|
||||||
<PackageReference Include="runtime.win7-x64.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
|
||||||
<PackageReference Include="runtime.win7-x86.native.Microsoft.SqlToolsService" Version="$(PackageVersion)" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
3
packages/README.md
Normal file
3
packages/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
This directory contains projects that only handle packaging up the published artifacts for SQL Tools Service.
|
||||||
|
|
||||||
|
There is one root project - `Microsoft.SqlToolsService`, and then a sub-project for each runtime that we currently support. The root project has a package dependency on each of the sub projects so that consumers only need to take a reference to the root project to be able to get all the necessary files for each platform.
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/centos.7-x64/**" Pack="true" PackagePath="runtimes/centos.7-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/centos.7-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/centos.7-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<Project Sdk="Microsoft.Build.NoTargets">
|
<Project Sdk="Microsoft.Build.NoTargets">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PackageDescription>SQL Tools Service runtime components for win10-arm</PackageDescription>
|
<PackageDescription>SQL Tools Service runtime components for debian.8-x64</PackageDescription>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/win10-arm/**" Pack="true" PackagePath="runtimes/win10-arm/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/debian.8-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/debian.8-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/fedora.23-x64/**" Pack="true" PackagePath="runtimes/fedora.23-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/fedora.23-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/fedora.23-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/linux-64/**" Pack="true" PackagePath="runtimes/linux-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/linux-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/linux-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer-opensuse.13.2-x64-net5.0/**" Pack="true" PackagePath="runtimes/opensuse.13.2-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer-opensuse.13.2-x64-net5.0/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/opensuse.13.2-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/osx-x64/**" Pack="true" PackagePath="runtimes/osx-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/osx-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/osx-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/rhel.7.2-x64/**" Pack="true" PackagePath="runtimes/rhel.7.2-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/rhel.7.2-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/rhel.7.2-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/ubuntu.14.04/**" Pack="true" PackagePath="runtimes/ubuntu.14.04-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/ubuntu.14.04/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/ubuntu.14.04-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/ubuntu.16.04/**" Pack="true" PackagePath="runtimes/ubuntu.16.04-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/ubuntu.16.04/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/ubuntu.16.04-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.Build.NoTargets">
|
|
||||||
<PropertyGroup>
|
|
||||||
<PackageDescription>SQL Tools Service runtime components for win10-arm64</PackageDescription>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/win10-arm64/**" Pack="true" PackagePath="runtimes/win10-arm64/native" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/win7-x64/**" Pack="true" PackagePath="runtimes/win7-x64/native" />
|
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/win7-x64/$(TargetFramework)/**" Pack="true" PackagePath="runtimes/win7-x64/native" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.Build.NoTargets">
|
|
||||||
<PropertyGroup>
|
|
||||||
<PackageDescription>SQL Tools Service runtime components for win7-x86</PackageDescription>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="../../artifacts/publish/Microsoft.SqlTools.ServiceLayer/win7-x86/**" Pack="true" PackagePath="runtimes/win7-x86/native" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -15,6 +15,10 @@ public class RunOptions
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IList<string> StandardOutputListing { get; set; }
|
public IList<string> StandardOutputListing { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Container logging the Error content.
|
||||||
|
/// </summary>
|
||||||
|
public IList<string> StandardErrorListing { get; set; }
|
||||||
|
/// <summary>
|
||||||
/// Desired maximum time-out for the process
|
/// Desired maximum time-out for the process
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int TimeOut { get; set; }
|
public int TimeOut { get; set; }
|
||||||
@@ -117,7 +121,8 @@ ExitStatus Run(string exec, string args, RunOptions runOptions)
|
|||||||
{
|
{
|
||||||
WorkingDirectory = workingDirectory,
|
WorkingDirectory = workingDirectory,
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = runOptions.StandardOutputListing != null
|
RedirectStandardOutput = runOptions.StandardOutputListing != null,
|
||||||
|
RedirectStandardError = runOptions.StandardErrorListing != null,
|
||||||
});
|
});
|
||||||
if (runOptions.StandardOutputListing != null)
|
if (runOptions.StandardOutputListing != null)
|
||||||
{
|
{
|
||||||
@@ -130,6 +135,17 @@ ExitStatus Run(string exec, string args, RunOptions runOptions)
|
|||||||
};
|
};
|
||||||
process.BeginOutputReadLine();
|
process.BeginOutputReadLine();
|
||||||
}
|
}
|
||||||
|
if (runOptions.StandardErrorListing != null)
|
||||||
|
{
|
||||||
|
process.ErrorDataReceived += (s, e) =>
|
||||||
|
{
|
||||||
|
if (e.Data != null)
|
||||||
|
{
|
||||||
|
runOptions.StandardErrorListing.Add(e.Data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
process.BeginErrorReadLine();
|
||||||
|
}
|
||||||
if (runOptions.TimeOut == 0)
|
if (runOptions.TimeOut == 0)
|
||||||
{
|
{
|
||||||
process.WaitForExit();
|
process.WaitForExit();
|
||||||
@@ -202,3 +218,23 @@ public void KillProcessTree(Process process)
|
|||||||
process.Kill();
|
process.Kill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DotnetPack(string outputFolder, string projectFolder, string project) {
|
||||||
|
var runLog = new List<string>();
|
||||||
|
var errorLog = new List<string>();
|
||||||
|
var logPath = System.IO.Path.Combine(logFolder, $"{project}-pack.log");
|
||||||
|
Information($"Packaging {projectFolder}");
|
||||||
|
try {
|
||||||
|
Run(dotnetcli, $"pack --configuration {configuration} --output {outputFolder} \"{projectFolder}\"",
|
||||||
|
new RunOptions
|
||||||
|
{
|
||||||
|
StandardOutputListing = runLog,
|
||||||
|
StandardErrorListing = errorLog
|
||||||
|
})
|
||||||
|
.ExceptionOnError($"Packaging {project} failed. See {logPath} for details.");
|
||||||
|
} catch(Exception) {
|
||||||
|
System.IO.File.WriteAllLines(logPath, runLog.ToArray());
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
System.IO.File.WriteAllLines(logPath, runLog.ToArray());
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user