You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2016/11/14 09:26:19 UTC
[07/33] ignite git commit: IGNITE-4151 .NET: Fix project build
settings consistency
IGNITE-4151 .NET: Fix project build settings consistency
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a801f01c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a801f01c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a801f01c
Branch: refs/heads/master
Commit: a801f01c3933b992ae8b5282f438f06059c22523
Parents: 44db38f
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Fri Oct 28 18:24:48 2016 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Fri Oct 28 18:24:48 2016 +0300
----------------------------------------------------------------------
.../Apache.Ignite.AspNet.csproj | 3 +-
.../ProjectFilesTest.cs | 62 ++++++++++++++++++++
.../Apache.Ignite.Core.csproj | 1 +
.../Apache.Ignite.Linq.csproj | 2 +-
.../Apache.Ignite.Log4Net.csproj | 4 +-
.../Apache.Ignite.NLog.csproj | 4 +-
6 files changed, 69 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.AspNet/Apache.Ignite.AspNet.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.AspNet/Apache.Ignite.AspNet.csproj b/modules/platforms/dotnet/Apache.Ignite.AspNet/Apache.Ignite.AspNet.csproj
index 1ac452f..2e501c1 100644
--- a/modules/platforms/dotnet/Apache.Ignite.AspNet/Apache.Ignite.AspNet.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.AspNet/Apache.Ignite.AspNet.csproj
@@ -31,9 +31,8 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
+ <DebugType>none</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>Apache.Ignite.AspNet.ruleset</CodeAnalysisRuleSet>
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.Core.Tests/ProjectFilesTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/ProjectFilesTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/ProjectFilesTest.cs
index 2f37505..b95fead 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/ProjectFilesTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/ProjectFilesTest.cs
@@ -22,6 +22,7 @@ namespace Apache.Ignite.Core.Tests
using System.IO;
using System.Linq;
using System.Reflection;
+ using System.Text.RegularExpressions;
using NUnit.Framework;
/// <summary>
@@ -42,6 +43,67 @@ namespace Apache.Ignite.Core.Tests
}
/// <summary>
+ /// Tests that release build settings are correct: XML docs are generated.
+ /// </summary>
+ [Test]
+ public void TestCsprojReleaseDocs()
+ {
+ CheckFiles(GetReleaseCsprojFiles(), x => !GetReleaseSection(x).Contains("DocumentationFile"),
+ "Missing XML doc in release mode: ");
+ }
+
+ /// <summary>
+ /// Tests that release build settings are correct: there are no DEBUG/TRACE constants.
+ /// </summary>
+ [Test]
+ public void TestCsprojBuildSettings()
+ {
+ CheckFiles(GetReleaseCsprojFiles(), x => GetReleaseSection(x).Contains("DefineConstants"),
+ "Invalid constants in release mode: ");
+ }
+
+ /// <summary>
+ /// Tests that release build settings are correct: debug information is disabled.
+ /// </summary>
+ [Test]
+ public void TestCsprojPdbSettings()
+ {
+ CheckFiles(GetReleaseCsprojFiles(), x => !GetReleaseSection(x).Contains("<DebugType>none</DebugType>"),
+ "Invalid DebugType in release mode: ");
+ }
+
+ /// <summary>
+ /// Tests that release build settings are correct: debug information is disabled.
+ /// </summary>
+ [Test]
+ public void TestCsprojOptimizeCode()
+ {
+ CheckFiles(GetReleaseCsprojFiles(), x => !GetReleaseSection(x).Contains("<Optimize>true</Optimize>"),
+ "Invalid optimize setting in release mode: ");
+ }
+
+ /// <summary>
+ /// Gets the csproj files that go to the release binary package.
+ /// </summary>
+ private static IEnumerable<FileInfo> GetReleaseCsprojFiles()
+ {
+ return GetDotNetSourceDir().GetFiles("*.csproj", SearchOption.AllDirectories)
+ .Where(x => x.Name != "Apache.Ignite.csproj" &&
+ !x.Name.Contains("Test") &&
+ !x.Name.Contains("Example") &&
+ !x.Name.Contains("Benchmark"));
+ }
+
+ /// <summary>
+ /// Gets the release section.
+ /// </summary>
+ private static string GetReleaseSection(string csproj)
+ {
+ return Regex.Match(csproj, @"<PropertyGroup[^>]*Release\|AnyCPU(.*?)<\/PropertyGroup>",
+ RegexOptions.Singleline).Value;
+ }
+
+ /// <summary>
/// Tests that tools version is compatible with VS2010.
/// </summary>
[Test]
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
index 08d742a..6fa1378 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
@@ -75,6 +75,7 @@
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisRuleSet>Apache.Ignite.Core.ruleset</CodeAnalysisRuleSet>
+ <DebugType>none</DebugType>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.Linq/Apache.Ignite.Linq.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Linq/Apache.Ignite.Linq.csproj b/modules/platforms/dotnet/Apache.Ignite.Linq/Apache.Ignite.Linq.csproj
index 79b52bd..e935f3f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Linq/Apache.Ignite.Linq.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Linq/Apache.Ignite.Linq.csproj
@@ -24,12 +24,12 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>none</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ <DocumentationFile>bin\Release\Apache.Ignite.Linq.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.Log4Net/Apache.Ignite.Log4Net.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Log4Net/Apache.Ignite.Log4Net.csproj b/modules/platforms/dotnet/Apache.Ignite.Log4Net/Apache.Ignite.Log4Net.csproj
index 0fdd611..af5b7e4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Log4Net/Apache.Ignite.Log4Net.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Log4Net/Apache.Ignite.Log4Net.csproj
@@ -24,12 +24,12 @@
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
+ <DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <DocumentationFile>bin\Release\Apache.Ignite.Log4Net.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
http://git-wip-us.apache.org/repos/asf/ignite/blob/a801f01c/modules/platforms/dotnet/Apache.Ignite.NLog/Apache.Ignite.NLog.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.NLog/Apache.Ignite.NLog.csproj b/modules/platforms/dotnet/Apache.Ignite.NLog/Apache.Ignite.NLog.csproj
index c8d8705..147dc37 100644
--- a/modules/platforms/dotnet/Apache.Ignite.NLog/Apache.Ignite.NLog.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.NLog/Apache.Ignite.NLog.csproj
@@ -22,12 +22,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
+ <DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <DocumentationFile>bin\Release\Apache.Ignite.NLog.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>