diff options
author | Jan Kotas <jkotas@microsoft.com> | 2018-04-10 02:51:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-10 02:51:17 +0300 |
commit | e874d6c58adce75165e5c1bfe877ed1608778104 (patch) | |
tree | aea911d0975d246b16308e9cd234dd85861cae6f | |
parent | 88c56dbf1da0b6d5a9d0c5ab70de812ce92c4ab6 (diff) |
New ObjectWriter NuGet packaging scripts (#5667)
* Delete old ObjectWriter NuGet packaging scripts
* New ObjectWriter NuGet packaging scripts
14 files changed, 100 insertions, 112 deletions
diff --git a/Packaging.props b/Packaging.props index 339171f66..af9e5689e 100644 --- a/Packaging.props +++ b/Packaging.props @@ -29,15 +29,6 @@ <PackageIndex Include="$(PackageProjectDirectory)packageIndex.json" /> </ItemGroup> - <!-- - Building packages fails for two reasons. - First, nuget doesn't like the paths in the nuspec having backslashes as directory separators. - Second, we aren't yet building pdbs, which the nuspecs specify. - <PropertyGroup Condition="'$(OsEnvironment)'=='Unix'"> - <SkipBuildPackages>true</SkipBuildPackages> - </PropertyGroup> - --> - <ItemGroup Condition="'$(MSBuildProjectExtension)' == '.pkgproj'"> <!-- Add required legal files to packages --> <File Condition="'$(PackageIsEmpty)' != 'true' AND Exists('$(PackageLicenseFile)')" diff --git a/buildscripts/buildvars-setup.sh b/buildscripts/buildvars-setup.sh index f41d79efc..67aae67f2 100755 --- a/buildscripts/buildvars-setup.sh +++ b/buildscripts/buildvars-setup.sh @@ -162,6 +162,7 @@ while [ "$1" != "" ]; do ;; objwriter) export __ObjWriterBuild=1 + export __ExtraMsBuildArgs="$__ExtraMsBuildArgs /p:ObjWriterBuild=true" ;; clang3.6) export __ClangMajorVersion=3 diff --git a/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.builds b/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.builds new file mode 100644 index 000000000..e10dd8874 --- /dev/null +++ b/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.builds @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + + <ItemGroup> + + <!-- Only build the metapackage in Windows - in CoreCLR this logic is included in a dir.props file. This is a workaround until CoreRT supports multiple packages --> + <Project Include="Microsoft.DotNet.ObjectWriter.pkgproj" Condition="'$(BuildIdentityPackage)' != 'false'"/> + + <!-- Include this to force a build of platform-specific packages --> + <Project Include="$(MSBuildThisFileDirectory)\TargetSpecific\Microsoft.DotNet.ObjectWriter.pkgproj"/> + + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" /> +</Project> diff --git a/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.pkgproj b/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.pkgproj new file mode 100644 index 000000000..47a111408 --- /dev/null +++ b/pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.pkgproj @@ -0,0 +1,32 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <SkipPackageFileCheck>true</SkipPackageFileCheck> + <BaseLinePackageDependencies>false</BaseLinePackageDependencies> + <PackagePlatforms>x64;</PackagePlatforms> + <PreventImplementationReference>true</PreventImplementationReference> + <RestorePackages>true</RestorePackages> + <SkipValidatePackage>true</SkipValidatePackage> + <IncludeSymbolsInPackage Condition="'$(IncludeSymbolsInPackage)' == ''">true</IncludeSymbolsInPackage> + <!-- Mark this package as a lineup (meta-) package --> + <IsLineupPackage Condition="'$(IsLineupPackage)' == ''">true</IsLineupPackage> + <!-- Override this property so that the package name won't look like runtime.[RID].[TFM].[ID] --> + <PackageTargetRuntime></PackageTargetRuntime> + </PropertyGroup> + + <!-- The package references are used to generate a runtimes.json for the meta-package--> + <ItemGroup> + <ProjectReference Include="TargetSpecific\Microsoft.DotNet.ObjectWriter.pkgproj"> + <AdditionalProperties>%(ProjectReference.AdditionalProperties);PackageTargetRuntime=win-x64</AdditionalProperties> + </ProjectReference> + <ProjectReference Include="TargetSpecific\Microsoft.DotNet.ObjectWriter.pkgproj"> + <AdditionalProperties>%(ProjectReference.AdditionalProperties);PackageTargetRuntime=linux-x64</AdditionalProperties> + </ProjectReference> + <ProjectReference Include="TargetSpecific\Microsoft.DotNet.ObjectWriter.pkgproj"> + <AdditionalProperties>%(ProjectReference.AdditionalProperties);PackageTargetRuntime=osx-x64</AdditionalProperties> + </ProjectReference> + </ItemGroup> + + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\src\dir.targets" /> + <Target Name="GetPackageDependencies"/> +</Project> diff --git a/pkg/Microsoft.DotNet.ObjectWriter/TargetSpecific/Microsoft.DotNet.ObjectWriter.pkgproj b/pkg/Microsoft.DotNet.ObjectWriter/TargetSpecific/Microsoft.DotNet.ObjectWriter.pkgproj new file mode 100644 index 000000000..6f48e056d --- /dev/null +++ b/pkg/Microsoft.DotNet.ObjectWriter/TargetSpecific/Microsoft.DotNet.ObjectWriter.pkgproj @@ -0,0 +1,34 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + + <PropertyGroup> + <PackageTargetRuntime Condition="'$(OSGroup)' == 'Windows_NT'">win-x64</PackageTargetRuntime> + <PackageTargetRuntime Condition="'$(OSGroup)' == 'Linux'">linux-x64</PackageTargetRuntime> + <PackageTargetRuntime Condition="'$(OSGroup)' == 'OSX'">osx-x64</PackageTargetRuntime> + </PropertyGroup> + + <!-- This target defines files and properties that need to be included in the package regardless of platform --> + <PropertyGroup> + <SkipPackageFileCheck>true</SkipPackageFileCheck> + <BaseLinePackageDependencies>false</BaseLinePackageDependencies> + <PackagePlatforms>x64;</PackagePlatforms> + <PreventImplementationReference>true</PreventImplementationReference> + <SkipValidatePackage>true</SkipValidatePackage> + <IncludeSymbolsInPackage Condition="'$(IncludeSymbolsInPackage)' == ''">true</IncludeSymbolsInPackage> + </PropertyGroup> + + <PropertyGroup> + <ObjWriterLibrary Condition="'$(OSGroup)' == 'Windows_NT'">objwriter.dll</ObjWriterLibrary> + <ObjWriterLibrary Condition="'$(OSGroup)' == 'Linux'">libobjwriter.so</ObjWriterLibrary> + <ObjWriterLibrary Condition="'$(OSGroup)' == 'OSX'">libobjwriter.dylib</ObjWriterLibrary> + </PropertyGroup> + + <ItemGroup> + <File Include="$(ObjDir)Native\$(OSPlatformConfig)\ObjWriter\llvmCap\LLVM-prefix\src\LLVM-build\lib\$(ObjWriterLibrary)"> + <TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath> + </File> + </ItemGroup> + <Target Name="GetPackageDependencies"/> + + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\src\dir.targets" /> +</Project> diff --git a/pkg/descriptions.json b/pkg/descriptions.json index dcd30e17f..37d5295b3 100644 --- a/pkg/descriptions.json +++ b/pkg/descriptions.json @@ -29,4 +29,9 @@ "Description":"Provides a library, containing a cross platform, open-source tool that is capable of verifying MSIL code based on ECMA-335", "CommonTypes": [], }, + { + "Name": "Microsoft.DotNet.ObjectWriter", + "Description":"Provides object writer to the managed to native code-generator", + "CommonTypes": [], + }, ] diff --git a/pkg/packageIndex.json b/pkg/packageIndex.json index f1839ab66..2a31230b2 100644 --- a/pkg/packageIndex.json +++ b/pkg/packageIndex.json @@ -12,5 +12,9 @@ "StableVersions": [], "BaselineVersion": "1.0.0", }, + "Microsoft.DotNet.ObjectWriter" : { + "StableVersions": [], + "BaselineVersion": "1.0.0", + }, } } diff --git a/pkg/packages.proj b/pkg/packages.proj index 2f68ce56f..2234384cb 100644 --- a/pkg/packages.proj +++ b/pkg/packages.proj @@ -28,7 +28,13 @@ <AdditionalProperties>$(AdditionalProperties);BuildIdentityPackage=$(BuildIdentityPackage)</AdditionalProperties> </Project> </ItemGroup> - + + <ItemGroup Condition="'$(SkipManagedPackageBuild)' != 'true' AND '$(ObjWriterBuild)' == 'true'"> + <Project Include="$(MSBuildThisFileDirectory)Microsoft.DotNet.ObjectWriter\Microsoft.DotNet.ObjectWriter.builds"> + <OSGroup>AnyOS</OSGroup> + <AdditionalProperties>$(AdditionalProperties);BuildIdentityPackage=$(BuildIdentityPackage)</AdditionalProperties> + </Project> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" /> </Project> - diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt index 219d68936..2aad804ff 100644 --- a/src/Native/CMakeLists.txt +++ b/src/Native/CMakeLists.txt @@ -228,7 +228,6 @@ if(NOT WIN32) add_subdirectory(System.Private.CoreLib.Native) endif(NOT WIN32) -# Build ObjWriter on Linux only -if(CMAKE_SYSTEM_NAME STREQUAL Linux AND OBJWRITER_BUILD) +if(OBJWRITER_BUILD) add_subdirectory(ObjWriter/llvmCap) endif() diff --git a/src/Native/ObjWriter/.nuget/Microsoft.DotNet.ObjectWriter.nuspec b/src/Native/ObjWriter/.nuget/Microsoft.DotNet.ObjectWriter.nuspec deleted file mode 100644 index f3421bb32..000000000 --- a/src/Native/ObjWriter/.nuget/Microsoft.DotNet.ObjectWriter.nuspec +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<package > - <metadata> - <id>Microsoft.DotNet.ObjectWriter</id> - <version>1.0.19-prerelease-00001</version> - <title>Microsoft .NET Object File Generator</title> - <authors>Microsoft</authors> - <owners>Microsoft</owners> - <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl> - <projectUrl>https://github.com/dotnet/corert</projectUrl> - <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl> - <requireLicenseAcceptance>true</requireLicenseAcceptance> - <description>Provides object writer to the managed to native code-generator.</description> - <releaseNotes>Initial release</releaseNotes> - <copyright>Copyright © Microsoft Corporation</copyright> - </metadata> - <files> - <file src="runtime.json" /> - </files> -</package> diff --git a/src/Native/ObjWriter/.nuget/runtime.json b/src/Native/ObjWriter/.nuget/runtime.json deleted file mode 100644 index c9c5b8e6b..000000000 --- a/src/Native/ObjWriter/.nuget/runtime.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "runtimes": { - "win7-x64": { - "Microsoft.DotNet.ObjectWriter": { - "toolchain.win7-x64.Microsoft.DotNet.ObjectWriter": "1.0.19-prerelease-00001" - } - }, - "ubuntu.14.04-x64": { - "Microsoft.DotNet.ObjectWriter": { - "toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter": "1.0.19-prerelease-00001" - } - }, - "osx.10.10-x64": { - "Microsoft.DotNet.ObjectWriter": { - "toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter": "1.0.19-prerelease-00001" - } - } - } -} diff --git a/src/Native/ObjWriter/.nuget/toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter.nuspec b/src/Native/ObjWriter/.nuget/toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter.nuspec deleted file mode 100644 index 7a571beaf..000000000 --- a/src/Native/ObjWriter/.nuget/toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter.nuspec +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<package > - <metadata> - <id>toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter</id> - <version>1.0.19-prerelease-00001</version> - <title>Microsoft .NET Object File Generator</title> - <authors>Microsoft</authors> - <owners>Microsoft</owners> - <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl> - <projectUrl>https://github.com/dotnet/corert</projectUrl> - <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl> - <requireLicenseAcceptance>true</requireLicenseAcceptance> - <description>Provides object writer to the managed to native code-generator.</description> - <releaseNotes>Initial release</releaseNotes> - <copyright>Copyright © Microsoft Corporation</copyright> - </metadata> - <files> - <file src="../libobjwriter.dylib" target="runtimes/osx.10.10-x64/native/libobjwriter.dylib" /> - </files> -</package> diff --git a/src/Native/ObjWriter/.nuget/toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter.nuspec b/src/Native/ObjWriter/.nuget/toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter.nuspec deleted file mode 100644 index fd9c514c6..000000000 --- a/src/Native/ObjWriter/.nuget/toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter.nuspec +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<package > - <metadata> - <id>toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter</id> - <version>1.0.19-prerelease-00001</version> - <title>Microsoft .NET Object File Generator</title> - <authors>Microsoft</authors> - <owners>Microsoft</owners> - <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl> - <projectUrl>https://github.com/dotnet/corert</projectUrl> - <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl> - <requireLicenseAcceptance>true</requireLicenseAcceptance> - <description>Provides object writer to the managed to native code-generator.</description> - <releaseNotes>Initial release</releaseNotes> - <copyright>Copyright © Microsoft Corporation</copyright> - </metadata> - <files> - <file src="../libobjwriter.so" target="runtimes/ubuntu.14.04-x64/native/libobjwriter.so" /> - </files> -</package> diff --git a/src/Native/ObjWriter/.nuget/toolchain.win7-x64.Microsoft.DotNet.ObjectWriter.nuspec b/src/Native/ObjWriter/.nuget/toolchain.win7-x64.Microsoft.DotNet.ObjectWriter.nuspec deleted file mode 100644 index a54cdc230..000000000 --- a/src/Native/ObjWriter/.nuget/toolchain.win7-x64.Microsoft.DotNet.ObjectWriter.nuspec +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<package > - <metadata> - <id>toolchain.win7-x64.Microsoft.DotNet.ObjectWriter</id> - <version>1.0.19-prerelease-00001</version> - <title>Microsoft .NET Object File Generator</title> - <authors>Microsoft</authors> - <owners>Microsoft</owners> - <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl> - <projectUrl>https://github.com/dotnet/corert</projectUrl> - <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl> - <requireLicenseAcceptance>true</requireLicenseAcceptance> - <description>Provides object writer to the managed to native code-generator.</description> - <releaseNotes>Initial release</releaseNotes> - <copyright>Copyright © Microsoft Corporation</copyright> - </metadata> - <files> - <file src="..\objwriter.dll" target="runtimes\win7-x64\native\objwriter.dll" /> - </files> -</package> |