提交 81c1d25d 编写于 作者: T Tomas Matousek

Insert DSRN to its own ExternalAPI directory.

上级 060e3d7d
......@@ -357,11 +357,16 @@ Public Module BuildDevDivInsertionFiles
' And now copy over all our core compiler binaries and related files
' Build tools setup authoring depends on these files being inserted.
For Each fileName In CompilerFiles
filesToInsert.Add(New NugetFileInfo(fileName))
AddXmlDocumentationFile(filesToInsert, fileName)
Dim dependency As DependencyInfo = Nothing
If Not dependencies.TryGetValue(fileName, dependency) Then
AddXmlDocumentationFile(filesToInsert, fileName)
filesToInsert.Add(New NugetFileInfo(fileName))
End If
If NeedsLocalization(fileName) Then
GenerateLocProject(fileName, Path.Combine(ExternalApisDirName, "Roslyn", fileName), locProjects)
Dim relativeOutputDir = GetExternalApiDirectory(dependency)
GenerateLocProject(fileName, Path.Combine(relativeOutputDir, fileName), locProjects)
End If
Next
......@@ -387,6 +392,12 @@ Public Module BuildDevDivInsertionFiles
GenerateTestFileDependencyList(NameOf(IntegrationTestFilesExtra), IntegrationTestFilesExtra, insertedFiles)
End Sub
Private Shared Function GetExternalApiDirectory(Optional dependency As DependencyInfo = Nothing) As String
Return If(dependency Is Nothing,
Path.Combine(ExternalApisDirName, "Roslyn"),
Path.Combine(ExternalApisDirName, dependency.PackageName, dependency.Target))
End Function
Private Class NugetFileInfo
Implements IEquatable(Of NugetFileInfo)
......@@ -448,7 +459,8 @@ Public Module BuildDevDivInsertionFiles
"netstandard1.2",
"netstandard1.3",
"netstandard1.4",
"netstandard1.5"
"netstandard1.5",
"native"
}
Private Shared Function GetPlatformId(target As String) As String
......@@ -583,11 +595,11 @@ Public Module BuildDevDivInsertionFiles
Dim relativeOutputDir As String
If IsLanguageServiceRegistrationFile(fileName) Then
relativeOutputDir = Path.Combine(ExternalApisDirName, "Roslyn", "LanguageServiceRegistration", vsixName)
relativeOutputDir = Path.Combine(GetExternalApiDirectory(), "LanguageServiceRegistration", vsixName)
ElseIf dependencies.TryGetValue(fileName, dependency) Then
relativeOutputDir = Path.Combine(ExternalApisDirName, dependency.PackageName, dependency.Target)
relativeOutputDir = GetExternalApiDirectory(dependency)
Else
relativeOutputDir = Path.Combine(ExternalApisDirName, "Roslyn")
relativeOutputDir = GetExternalApiDirectory()
End If
Dim relativeOutputFilePath = Path.Combine(relativeOutputDir, fileName)
......
......@@ -9,13 +9,13 @@
<ItemGroup>
<!--
We create new CoreXT packages here for two reasons:
1) Package exists on NuGet but has a different structure than what DevDiv projects expect (External=true)
1) Package exists on NuGet but has a different structure than what DevDiv projects expect (External=true)
2) Package doesn't exist on NuGet, the content is built from Roslyn repo (External=false)
TODO:
The goal is to remove all these packages. We need to update DevDiv projects that reference the binaries
and/or move the source for the packages to separate repos.
-->
-->
<NuSpec Include="Microsoft.VisualStudio.InteractiveWindow">
<Version>$(MicrosoftVisualStudioInteractiveWindowVersion)-beta-$(BuildNumberPart1.Trim())-$(BuildNumberPart2.Trim())</Version>
<External>false</External>
......@@ -37,13 +37,14 @@
<External>true</External>
</NuSpec>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<!--
Packages that exist on NuGet and already have structure compatible with DevDiv.
-->
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.DiaSymReader\$(MicrosoftDiaSymReaderVersion)\*.nupkg" />
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.CodeAnalysis.Elfie\$(MicrosoftCodeAnalysisElfieVersion)\*.nupkg" />
-->
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.DiaSymReader\$(MicrosoftDiaSymReaderVersion)\*.nupkg" />
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.DiaSymReader.PortablePdb\$(MicrosoftDiaSymReaderPortablePdbVersion)\*.nupkg" />
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.DiaSymReader.Native\$(MicrosoftDiaSymReaderNativeVersion)\*.nupkg" />
<NuPkg Include="$(NuGetPackageRoot)\Microsoft.CodeAnalysis.Elfie\$(MicrosoftCodeAnalysisElfieVersion)\*.nupkg" />
</ItemGroup>
<Target Name="Build" Inputs="@(NuSpec)" Outputs="@(NuSpec->$(PackagesOutDir)\VS.ExternalAPIs.%(NuSpec.Identity).%(Version).nupkg">
<MakeDir Directories="$(PackagesOutDir)" Condition="!Exists('$(PackagesOutDir)')" />
......@@ -55,7 +56,7 @@
<Exec Command='Pack.cmd "VS.ExternalAPIs.%(NuSpec.Identity).nuspec" %(NuSpec.Version) "$(BaseDir)" "$(PackagesOutDir)"'
CustomErrorRegularExpression="pack: invalid arguments"/>
</Target>
<Target Name="CopyFiles" Inputs="@(NuPkg)" Outputs="@(NuPkg->$(PackagesOutDir)\%(Filename)%(Extension))" AfterTargets="Build">
<Target Name="CopyFiles" Inputs="@(NuPkg)" Outputs="@(NuPkg->$(PackagesOutDir)\%(Filename)%(Extension))" AfterTargets="Build">
<Copy SourceFiles="%(NuPkg.Fullpath)" DestinationFolder="$(PackagesOutDir)"/>
</Target>
<Target Name="Clean">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册