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
The following commit(s) were added to refs/heads/master by this push:
new fe6bf055 :memo: update build docs
fe6bf055 is described below
commit fe6bf0559c0fb06545a28a5ea974b9fd48786894
Author: Davyd McColl <[email protected]>
AuthorDate: Mon Mar 4 11:27:38 2024 +0200
:memo: update build docs
---
doc/BUILDING.md | 33 +++++++++++++++++++++++++++++++--
src/log4net/log4net.csproj | 9 +--------
2 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/doc/BUILDING.md b/doc/BUILDING.md
index 597aafaf..87d04916 100644
--- a/doc/BUILDING.md
+++ b/doc/BUILDING.md
@@ -1,11 +1,36 @@
## Building log4net
Log4net provides support for a wide array of targets, including
-- older .net 2 and 3.5 (including client profiles)
+- older .net 2 and 3.5 (including client profile for net-40)
- more modern net40/net45
- netstandard1.3/2.0
As such, it does require a relatively full .net environment on Windows to
build.
+I have recently found a fairly freshly-installed win11 machine to work
adequately,
+after adding the "windows feature" for ".NET Framework 3.5 (includes .NET 2.0
and 3.0)"
+
+TL;DR (Windows):
+- install Visual Studio Build Tools (at least VS2019)
+- install nodejs (at least v16)
+- install dotnet (v7+) and the .NET SDK (current latest)
+- install dotnet 2, 3, 3.5 via "add windows features"
+- in the project folder:
+ - `npm i`
+ - `npm run build`
+
+TL;DR (!Windows):
+- install the dotnet SDK - v7 or better (at time of writing, v8 is current but
+ I've had some issues elsewhere, so I'm waiting a bit before recommending it
+ everywhere
+- install Mono (you're going to need it to target certain versions of .NET)
+- install nodejs 16+
+ - in the project folder:
+ - `npm i`
+ - `export DOTNET_CORE=1 npm run build`
+ - we force using `dotnet` on non-windows targets for now. At some point,
+ this should become automatic
+
+## The full story
Options:
- build locally. Suggested environment:
@@ -35,6 +60,10 @@ Options:
- `npm run build`
- optionally `npm test` to run all tests
- optionally `npm run release` to generate release artifacts
+- build locally (CLI edition)
+ - install nodejs (at least v16)
+ - `npm i`
+ - `npm run build`
- build via docker for windows, using the `build-with-docker-for-windows.bat`
script
- build via the vs2019 Windows AppVeyer image. There is an appveyer.yml file
included which (should) build if you set up AppVeyer to track
@@ -54,4 +83,4 @@ The site will be generated in `target/site`, and can be
viewed locally. Updates
be pushed to the `asf-staging` branch of
[https://github.com/apache/logging-log4net-site](https://github.com/apache/logging-log4net-site])
Once the site has been pushed to the `asf-staging` branch, it can be viewed at
-[http://logging.staged.apache.org/log4net](http://logging.staged.apache.org/log4net)
\ No newline at end of file
+[http://logging.staged.apache.org/log4net](http://logging.staged.apache.org/log4net)
diff --git a/src/log4net/log4net.csproj b/src/log4net/log4net.csproj
index be9355b4..2c9e4a4e 100644
--- a/src/log4net/log4net.csproj
+++ b/src/log4net/log4net.csproj
@@ -72,13 +72,6 @@
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetFramework)'=='net35-client'">
- <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <TargetFrameworkProfile>Client</TargetFrameworkProfile>
- <OutDir>..\..\build\$(Configuration)\net35-client</OutDir>
-
<DefineConstants>$(DefineConstants);NET_2_0;NET_3_5;CLIENT_PROFILE</DefineConstants>
- </PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net40-client'">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
@@ -212,4 +205,4 @@
<ReferenceCopyLocalPaths
Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)%(Filename).xml')"
Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)' != '' and
Exists('%(RootDir)%(Directory)%(Filename).xml')"/>
</ItemGroup>
</Target>
-</Project>
\ No newline at end of file
+</Project>