NuPkg builds for Redist as well

This commit is contained in:
Andrew Arnott 2015-03-21 10:44:55 -07:00
Родитель 29d11fb3d4
Коммит 1c619a55c2
8 изменённых файлов: 108 добавлений и 36 удалений

Просмотреть файл

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\VS.Insertion.props" />
<ItemGroup>
<ProjectReference Include="$(ProjectDepotRoot)src\Microsoft.VisualStudio.Validation\Microsoft.VisualStudio.Validation.csproj" />
</ItemGroup>
<Import Project="..\VS.Insertion.targets" />
</Project>

Просмотреть файл

@ -6,8 +6,8 @@
<authors>VSEng</authors>
<owners>VSEng</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package containing VS.ExternalApis.VSPlatform.Validation artifacts</description>
<description>Package containing VS.ExternalApis.VSPlatform artifacts</description>
<releaseNotes />
<copyright>Copyright (c) Microsoft</copyright>
</metadata>
</package>
</package>

Просмотреть файл

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\VS.Insertion.props" />
<PropertyGroup>
<PackageLocalizedArtifacts>true</PackageLocalizedArtifacts>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="$(ProjectDepotRoot)src\Microsoft.VisualStudio.Validation\Microsoft.VisualStudio.Validation.csproj" />
</ItemGroup>
<Import Project="..\VS.Insertion.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>VS.Redist.VSPlatform.Validation</id>
<version>$version$</version>
<authors>VSEng</authors>
<owners>VSEng</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package containing VS.Redist.VSPlatform artifacts</description>
<releaseNotes />
<copyright>Copyright (c) Microsoft</copyright>
</metadata>
</package>

Просмотреть файл

@ -1,34 +0,0 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
<PropertyGroup>
<NuPkgContentLayoutPath>$(BaseIntermediateOutputPath)</NuPkgContentLayoutPath>
<CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
<NoDocumentationFile>true</NoDocumentationFile>
<NuGetToolPath>$(NuGetPackageRestorePath)NuGet.CommandLine.2.8.3\tools\NuGet.exe</NuGetToolPath>
<NuSpecFile>VS.ExternalAPIs.VSPlatform.Validation.nuspec</NuSpecFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\src\Microsoft.VisualStudio.Validation\Microsoft.VisualStudio.Validation.csproj" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " />
<Target Name="Build" DependsOnTargets="GetBuildVersion">
<MSBuild Projects="@(ProjectReference)"
Targets="DocumentationProjectOutputGroup">
<Output TaskParameter="TargetOutputs" ItemName="DocFile"/>
</MSBuild>
<MSBuild Projects="@(ProjectReference)"
Targets="Build">
<Output TaskParameter="TargetOutputs" ItemName="AssemblyFile"/>
</MSBuild>
<Copy SourceFiles="@(AssemblyFile);@(DocFile)" DestinationFolder="$(NuPkgContentLayoutPath)" />
<Exec Command='"$(NuGetToolPath)" pack "$(NuSpecFile)" -NoPackageAnalysis -BasePath "$(NuPkgContentLayoutPath)\" -Version "$(NuGetPackageVersion)" -OutputDirectory "$(OutputPath)\" ' />
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(NuGetFeedLocation)"
Condition=" '$(NuGetFeedLocation)' != '' "/>
</Target>
</Project>

15
vs/VS.Insertion.props Normal file
Просмотреть файл

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
<PropertyGroup>
<NuPkgContentLayoutPath>$(BaseIntermediateOutputPath)</NuPkgContentLayoutPath>
<CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
<NoDocumentationFile>true</NoDocumentationFile>
<NuGetToolPath>$(NuGetPackageRestorePath)NuGet.CommandLine.2.8.3\tools\NuGet.exe</NuGetToolPath>
<NuSpecFile>$(MSBuildProjectName).nuspec</NuSpecFile>
<ProjectReferenceBuildTargets>Build;DocumentationProjectOutputGroup</ProjectReferenceBuildTargets>
</PropertyGroup>
</Project>

42
vs/VS.Insertion.targets Normal file
Просмотреть файл

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="BuildContributingProjects">
<MSBuild Projects="@(ProjectReference)"
Targets="%(ProjectReference.Targets)">
<Output TaskParameter="TargetOutputs" ItemName="ProjectReferenceBuildOutputs"/>
</MSBuild>
</Target>
<Target Name="IdentifyArtifactsToInclude" DependsOnTargets="BuildContributingProjects">
<ItemGroup>
<NuPkgArtifacts Include="@(ProjectReferenceBuildOutputs)" />
</ItemGroup>
<ItemGroup Condition=" '$(PackageLocalizedArtifacts)' == 'true' ">
<LocalizedArtifacts Include="$(OutputPath)Localize\**\%(ProjectReferenceBuildOutputs.FileName).resources.dll"
Condition=" '%(ProjectReferenceBuildOutputs.MSBuildSourceTargetName)' == 'Build' "/>
<NuPkgArtifacts Include="@(LocalizedArtifacts)">
<PackageRelativePath>%(RecursiveDir)</PackageRelativePath>
</NuPkgArtifacts>
</ItemGroup>
</Target>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " />
<!-- Define the Build target *after* the import above so that we override Build. -->
<Target Name="Build" DependsOnTargets="GetBuildVersion;IdentifyArtifactsToInclude">
<Copy SourceFiles="@(NuPkgArtifacts)"
DestinationFolder="$(NuPkgContentLayoutPath)%(NuPkgArtifacts.PackageRelativePath)"
SkipUnchangedFiles="true" />
<Exec Command='"$(NuGetToolPath)" pack "$(NuSpecFile)" -NoPackageAnalysis -BasePath "$(NuPkgContentLayoutPath)\" -Version "$(NuGetPackageVersion)" -OutputDirectory "$(OutputPath)\" ' />
<PropertyGroup>
<TargetPath>$(OutputPath)$(MSBuildProjectName).$(NuGetPackageVersion).nupkg</TargetPath>
</PropertyGroup>
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(NuGetFeedLocation)"
Condition=" '$(NuGetFeedLocation)' != '' "/>
</Target>
</Project>

12
vs/insertion.proj Normal file
Просмотреть файл

@ -0,0 +1,12 @@
<?xml version="1.0"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
<ItemGroup>
<ProjectReference Include="**\*.insertionproj" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " />
<Target Name="Build" DependsOnTargets="ResolveProjectReferences" />
</Project>