Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2018-04-10 02:51:17 +0300
committerGitHub <noreply@github.com>2018-04-10 02:51:17 +0300
commite874d6c58adce75165e5c1bfe877ed1608778104 (patch)
treeaea911d0975d246b16308e9cd234dd85861cae6f
parent88c56dbf1da0b6d5a9d0c5ab70de812ce92c4ab6 (diff)
New ObjectWriter NuGet packaging scripts (#5667)
* Delete old ObjectWriter NuGet packaging scripts * New ObjectWriter NuGet packaging scripts
-rw-r--r--Packaging.props9
-rwxr-xr-xbuildscripts/buildvars-setup.sh1
-rw-r--r--pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.builds15
-rw-r--r--pkg/Microsoft.DotNet.ObjectWriter/Microsoft.DotNet.ObjectWriter.pkgproj32
-rw-r--r--pkg/Microsoft.DotNet.ObjectWriter/TargetSpecific/Microsoft.DotNet.ObjectWriter.pkgproj34
-rw-r--r--pkg/descriptions.json5
-rw-r--r--pkg/packageIndex.json4
-rw-r--r--pkg/packages.proj10
-rw-r--r--src/Native/CMakeLists.txt3
-rw-r--r--src/Native/ObjWriter/.nuget/Microsoft.DotNet.ObjectWriter.nuspec20
-rw-r--r--src/Native/ObjWriter/.nuget/runtime.json19
-rw-r--r--src/Native/ObjWriter/.nuget/toolchain.osx.10.10-x64.Microsoft.DotNet.ObjectWriter.nuspec20
-rw-r--r--src/Native/ObjWriter/.nuget/toolchain.ubuntu.14.04-x64.Microsoft.DotNet.ObjectWriter.nuspec20
-rw-r--r--src/Native/ObjWriter/.nuget/toolchain.win7-x64.Microsoft.DotNet.ObjectWriter.nuspec20
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 &#169; 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 &#169; 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 &#169; 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 &#169; Microsoft Corporation</copyright>
- </metadata>
- <files>
- <file src="..\objwriter.dll" target="runtimes\win7-x64\native\objwriter.dll" />
- </files>
-</package>