You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by da...@apache.org on 2020/09/30 06:50:59 UTC
[logging-log4net] 02/02: :construction: let's get this building a
subset x-platform so we can test x-platform
This is an automated email from the ASF dual-hosted git repository.
davydm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git
commit fa0cd5b7005edde6e6e1932c9d5c3b7955dbd27f
Author: Davyd McColl <da...@gmail.com>
AuthorDate: Wed Sep 30 08:50:43 2020 +0200
:construction: let's get this building a subset x-platform so we can test x-platform
---
package.json | 1 +
src/Directory.Build.props | 5 +++++
src/MonoForFramework.targets | 28 ++++++++++++++++++++++++++++
src/log4net.Tests/log4net.Tests.csproj | 6 ++++++
src/log4net.sln | 5 +++++
src/log4net/log4net.csproj | 16 ++++++++++++++--
6 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 09ab351..2a41426 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "Log4Net is a logging framework for .NET",
"scripts": {
"test": "cross-env NUNIT_PROCESS=Single MAX_CONCURRENCY=1 run-s clean-build \"zarro test-dotnet\" run-dotnet-core-tests",
+ "test-xplatform": "cross-env DOTNET_CORE=1 BUILD_CONFIGURATION=CrossPlatform run-s build run-dotnet-core-tests",
"run-dotnet-core-tests": "cross-env DOTNET_CORE=1 run-s \"zarro quick-test-dotnet\"",
"clean-build": "rimraf build",
"build": "run-s clean-build \"zarro build\"",
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
new file mode 100644
index 0000000..41fa9c9
--- /dev/null
+++ b/src/Directory.Build.props
@@ -0,0 +1,5 @@
+<Project>
+ <PropertyGroup>
+ <UseSharedCompilation>true</UseSharedCompilation>
+ </PropertyGroup>
+</Project>
diff --git a/src/MonoForFramework.targets b/src/MonoForFramework.targets
new file mode 100644
index 0000000..4209d58
--- /dev/null
+++ b/src/MonoForFramework.targets
@@ -0,0 +1,28 @@
+<Project>
+ <PropertyGroup Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">
+ <!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you -->
+ <!-- have to teach MSBuild where the Mono copy of the reference asssemblies is -->
+ <!-- Look in the standard install locations -->
+ <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono</BaseFrameworkPathOverrideForMono>
+ <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/lib/mono')">/usr/lib/mono</BaseFrameworkPathOverrideForMono>
+ <BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/local/lib/mono')">/usr/local/lib/mono</BaseFrameworkPathOverrideForMono>
+ <!-- If we found Mono reference assemblies, then use them -->
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net20'">$(BaseFrameworkPathOverrideForMono)/2.0-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net35'">$(BaseFrameworkPathOverrideForMono)/3.5-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net40'">$(BaseFrameworkPathOverrideForMono)/4.0-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'">$(BaseFrameworkPathOverrideForMono)/4.5-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'">$(BaseFrameworkPathOverrideForMono)/4.5.1-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'">$(BaseFrameworkPathOverrideForMono)/4.5.2-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'">$(BaseFrameworkPathOverrideForMono)/4.6-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'">$(BaseFrameworkPathOverrideForMono)/4.6.1-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net472'">$(BaseFrameworkPathOverrideForMono)/4.7.2-api</FrameworkPathOverride>
+ <FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net48'">$(BaseFrameworkPathOverrideForMono)/4.8-api</FrameworkPathOverride>
+ <EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>
+ <!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->
+ <AssemblySearchPaths Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)</AssemblySearchPaths>
+ </PropertyGroup>
+</Project>
+
diff --git a/src/log4net.Tests/log4net.Tests.csproj b/src/log4net.Tests/log4net.Tests.csproj
index 6af4bf9..a15acca 100644
--- a/src/log4net.Tests/log4net.Tests.csproj
+++ b/src/log4net.Tests/log4net.Tests.csproj
@@ -27,6 +27,8 @@
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\log4net.snk</AssemblyOriginatorKeyFile>
<OutputPath>bin\$(Configuration)</OutputPath>
+ <Configurations>Debug;Release;CrossPlatform</Configurations>
+ <Platforms>AnyCPU</Platforms>
</PropertyGroup>
<PropertyGroup>
<BaseAddress>285212672</BaseAddress>
@@ -60,6 +62,10 @@
<ProjectReference Include="..\log4net\log4net.csproj" />
</ItemGroup>
<ItemGroup>
+ <PackageReference Include="Microsoft.Net.Compilers" Version="3.7.0">
+ <PrivateAssets>all</PrivateAssets>
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+ </PackageReference>
<PackageReference Include="NUnit" Version="3.12.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net462'">
diff --git a/src/log4net.sln b/src/log4net.sln
index e6e7928..c08c55c 100644
--- a/src/log4net.sln
+++ b/src/log4net.sln
@@ -28,16 +28,21 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
+ CrossPlatform|Any CPU = CrossPlatform|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{181FE707-E161-4722-9F38-6AAAB6FAA106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{181FE707-E161-4722-9F38-6AAAB6FAA106}.Debug|Any CPU.Build.0 = Debug|Any CPU
{181FE707-E161-4722-9F38-6AAAB6FAA106}.Release|Any CPU.ActiveCfg = Release|Any CPU
{181FE707-E161-4722-9F38-6AAAB6FAA106}.Release|Any CPU.Build.0 = Release|Any CPU
+ {181FE707-E161-4722-9F38-6AAAB6FAA106}.CrossPlatform|Any CPU.ActiveCfg = CrossPlatform|Any CPU
+ {181FE707-E161-4722-9F38-6AAAB6FAA106}.CrossPlatform|Any CPU.Build.0 = CrossPlatform|Any CPU
{B0530F10-0238-49A9-93B0-8EF412E90BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B0530F10-0238-49A9-93B0-8EF412E90BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0530F10-0238-49A9-93B0-8EF412E90BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0530F10-0238-49A9-93B0-8EF412E90BCF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B0530F10-0238-49A9-93B0-8EF412E90BCF}.CrossPlatform|Any CPU.ActiveCfg = CrossPlatform|Any CPU
+ {B0530F10-0238-49A9-93B0-8EF412E90BCF}.CrossPlatform|Any CPU.Build.0 = CrossPlatform|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/log4net/log4net.csproj b/src/log4net/log4net.csproj
index 5b89991..65a9828 100644
--- a/src/log4net/log4net.csproj
+++ b/src/log4net/log4net.csproj
@@ -21,10 +21,16 @@
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/apache/logging-log4net</RepositoryUrl>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
+ <Platforms>AnyCPU</Platforms>
</PropertyGroup>
- <PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)' != 'CrossPlatform'">
<TargetFrameworks>net20;net35;net35-client;net40;net40-client;net45;netstandard1.3;netstandard2.0</TargetFrameworks>
- <Configurations>Debug;Release</Configurations>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)' == 'CrossPlatform'">
+ <TargetFrameworks>net20;net35;net40;net45;netstandard1.3;netstandard2.0</TargetFrameworks>
+ </PropertyGroup>
+ <PropertyGroup>
+ <Configurations>Debug;Release;CrossPlatform</Configurations>
<LangVersion>latest</LangVersion>
<RootNamespace>log4net</RootNamespace>
<AssemblyName>log4net</AssemblyName>
@@ -184,5 +190,11 @@
<Link>package-icon.png</Link>
</Content>
</ItemGroup>
+ <ItemGroup>
+ <PackageReference Include="Microsoft.Net.Compilers" Version="3.7.0">
+ <PrivateAssets>all</PrivateAssets>
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+ </PackageReference>
+ </ItemGroup>
<PropertyGroup />
</Project>