diff --git a/Datadog.Trace.proj b/Datadog.Trace.proj
index b6d789599558..469d9b61771d 100644
--- a/Datadog.Trace.proj
+++ b/Datadog.Trace.proj
@@ -15,7 +15,6 @@
-
@@ -37,14 +36,14 @@
-
+
-
+
diff --git a/Datadog.Trace.sln b/Datadog.Trace.sln
index b3f2431d0954..4f1451128a21 100644
--- a/Datadog.Trace.sln
+++ b/Datadog.Trace.sln
@@ -131,12 +131,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Elasticsearch", "te
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.AspNetMvc4", "test\test-applications\aspnet\Samples.AspNetMvc4\Samples.AspNetMvc4.csproj", "{6D86109F-B7C9-477D-86D7-45735A3A0818}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{5D8E1F81-B820-4736-B797-271B0FE787EE}"
- ProjectSection(SolutionItems) = preProject
- tools\Directory.Build.props = tools\Directory.Build.props
- tools\GlobalSuppressions.cs = tools\GlobalSuppressions.cs
- EndProjectSection
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.ClrProfiler.Managed.Tests", "test\Datadog.Trace.ClrProfiler.Managed.Tests\Datadog.Trace.ClrProfiler.Managed.Tests.csproj", "{5B52C0C0-A554-4E53-9D17-B121E78FF919}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.MongoDB", "test\test-applications\integrations\Samples.MongoDB\Samples.MongoDB.csproj", "{3493346B-44F6-4F50-8FB4-51D0090DF544}"
@@ -168,8 +162,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpMessageHandler.StackOve
{C0C8D381-D6B9-4C76-9428-F40F2FA93A9A} = {C0C8D381-D6B9-4C76-9428-F40F2FA93A9A}
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeneratePackageVersions", "build\tools\GeneratePackageVersions\GeneratePackageVersions.csproj", "{24B0357D-B0C8-46C7-96F6-006E3F66662A}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.ServiceStack.Redis", "test\test-applications\integrations\Samples.ServiceStack.Redis\Samples.ServiceStack.Redis.csproj", "{8E1555D1-13D5-4DBF-9631-117D840C3158}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.StackExchange.Redis", "test\test-applications\integrations\Samples.StackExchange.Redis\Samples.StackExchange.Redis.csproj", "{DC7D131A-AF99-46AB-9AA6-463443E3B992}"
@@ -207,14 +199,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EntityFramework6x.MdTokenLo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.DatabaseHelper", "test\test-applications\integrations\dependency-libs\Samples.DatabaseHelper\Samples.DatabaseHelper.csproj", "{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UpdateVendors", "tools\UpdateVendors\UpdateVendors.csproj", "{72FB583A-A1B0-4B5F-8658-617B100DCD8E}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Log4Net.SerializationException", "test\test-applications\regression\Log4Net.SerializationException\Log4Net.SerializationException.csproj", "{35F581E9-3D7C-4E80-8DFF-D437B0D86710}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationWithLog4Net", "test\test-applications\regression\dependency-libs\ApplicationWithLog4Net\ApplicationWithLog4Net.csproj", "{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Core.Tools", "tools\Datadog.Core.Tools\Datadog.Core.Tools.csproj", "{3BEACB10-89FE-4F74-8022-1A52F223CE82}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AssemblyResolveMscorlibResources.InfiniteRecursionCrash", "test\test-applications\regression\AssemblyResolveMscorlibResources.InfiniteRecursionCrash\AssemblyResolveMscorlibResources.InfiniteRecursionCrash.csproj", "{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.AspNet", "src\Datadog.Trace.AspNet\Datadog.Trace.AspNet.csproj", "{B34EDBC7-C5FB-409D-8472-BC7469D6F2BD}"
@@ -231,8 +219,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.AspNetCoreMvc21", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NLog10LogsInjection.NullReferenceException", "test\test-applications\regression\NLog10LogsInjection.NullReferenceException\NLog10LogsInjection.NullReferenceException.csproj", "{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PrepareRelease", "build\tools\PrepareRelease\PrepareRelease.csproj", "{DAA6B000-5BED-4081-B5E0-B698BFB89415}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.StackExchange.Redis.Abstractions", "test\test-applications\regression\dependency-libs\Datadog.StackExchange.Redis.Abstractions\Datadog.StackExchange.Redis.Abstractions.csproj", "{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.StackExchange.Redis", "test\test-applications\regression\dependency-libs\Datadog.StackExchange.Redis\Datadog.StackExchange.Redis.csproj", "{EB0B88E2-589A-4F65-8F98-D5B958D8104F}"
@@ -264,8 +250,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.MultiDomainHost.App
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.DatabaseHelper.netstandard", "test\test-applications\integrations\dependency-libs\Samples.DatabaseHelper.netstandard\Samples.DatabaseHelper.netstandard.csproj", "{8D949A40-5F4B-4EB0-B8FD-301B472C96AE}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StartDistributedTrace", "tools\StartDistributedTrace\StartDistributedTrace.csproj", "{7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}"
-EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Datadog.Trace.Ci.Shared", "src\Datadog.Trace.Ci.Shared\Datadog.Trace.Ci.Shared.shproj", "{A1D7653A-C409-414A-B9B0-7879953EBCDD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.MSBuild", "src\Datadog.Trace.MSBuild\Datadog.Trace.MSBuild.csproj", "{E02B141F-E7C0-46CF-B9F6-39427218E714}"
@@ -304,13 +288,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.DuckTyping.Te
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{A0C5FBBB-CFB2-4FB9-B8F0-55676E9DCF06}"
ProjectSection(SolutionItems) = preProject
- build\PackageVersionsComprehensive.g.props = build\PackageVersionsComprehensive.g.props
build\PackageVersionsGeneratorDefinitions.json = build\PackageVersionsGeneratorDefinitions.json
- build\PackageVersionsLatestMinors.g.props = build\PackageVersionsLatestMinors.g.props
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{C70D6696-23F0-4C3D-9C2A-94C4868D5249}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "artifacts", "artifacts", "{CC53E5C5-9D3E-4AD9-A9CA-D2190463EB5B}"
ProjectSection(SolutionItems) = preProject
build\artifacts\createLogPath.sh = build\artifacts\createLogPath.sh
@@ -390,8 +370,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.AspNetCoreRazorPage
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.AWS.SQS", "test\test-applications\integrations\Samples.AWS.SQS\Samples.AWS.SQS.csproj", "{3538EF5E-377E-430A-AFB8-F2DB5FAEDE95}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FeatureTracking", "tools\FeatureTracking\FeatureTracking.csproj", "{2829C811-66EE-4B81-96CA-2ACB00B8E813}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.XUnitTests", "test\test-applications\integrations\Samples.XUnitTests\Samples.XUnitTests.csproj", "{4AD438D9-D4E3-4EB5-8851-89DB4D1CFB9C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.NUnitTests", "test\test-applications\integrations\Samples.NUnitTests\Samples.NUnitTests.csproj", "{BC998ACD-353B-4A56-8A56-DF6200E141B6}"
@@ -726,18 +704,6 @@ Global
{F47F206E-4CCA-4AD0-AEBA-FD9F491E05EC}.Release|x64.Build.0 = Release|x64
{F47F206E-4CCA-4AD0-AEBA-FD9F491E05EC}.Release|x86.ActiveCfg = Release|x86
{F47F206E-4CCA-4AD0-AEBA-FD9F491E05EC}.Release|x86.Build.0 = Release|x86
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|x64.Build.0 = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Debug|x86.Build.0 = Debug|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|Any CPU.Build.0 = Release|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|x64.ActiveCfg = Release|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|x64.Build.0 = Release|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|x86.ActiveCfg = Release|Any CPU
- {24B0357D-B0C8-46C7-96F6-006E3F66662A}.Release|x86.Build.0 = Release|Any CPU
{8E1555D1-13D5-4DBF-9631-117D840C3158}.Debug|Any CPU.ActiveCfg = Debug|x86
{8E1555D1-13D5-4DBF-9631-117D840C3158}.Debug|x64.ActiveCfg = Debug|x64
{8E1555D1-13D5-4DBF-9631-117D840C3158}.Debug|x64.Build.0 = Debug|x64
@@ -884,18 +850,6 @@ Global
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x64.Build.0 = Release|Any CPU
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x86.ActiveCfg = Release|Any CPU
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x86.Build.0 = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|x64.Build.0 = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Debug|x86.Build.0 = Debug|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|Any CPU.Build.0 = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|x64.ActiveCfg = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|x64.Build.0 = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|x86.ActiveCfg = Release|Any CPU
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E}.Release|x86.Build.0 = Release|Any CPU
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|Any CPU.ActiveCfg = Debug|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x64.ActiveCfg = Debug|x64
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x64.Build.0 = Debug|x64
@@ -916,18 +870,6 @@ Global
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x64.Build.0 = Release|x64
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x86.ActiveCfg = Release|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x86.Build.0 = Release|x86
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|x64.ActiveCfg = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|x64.Build.0 = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|x86.ActiveCfg = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Debug|x86.Build.0 = Debug|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|Any CPU.Build.0 = Release|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|x64.ActiveCfg = Release|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|x64.Build.0 = Release|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|x86.ActiveCfg = Release|Any CPU
- {3BEACB10-89FE-4F74-8022-1A52F223CE82}.Release|x86.Build.0 = Release|Any CPU
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|Any CPU.ActiveCfg = Debug|x86
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|x64.ActiveCfg = Debug|x64
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|x64.Build.0 = Debug|x64
@@ -1010,18 +952,6 @@ Global
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x64.Build.0 = Release|x64
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x86.ActiveCfg = Release|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x86.Build.0 = Release|x86
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|x64.Build.0 = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Debug|x86.Build.0 = Debug|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|Any CPU.Build.0 = Release|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|x64.ActiveCfg = Release|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|x64.Build.0 = Release|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|x86.ActiveCfg = Release|Any CPU
- {DAA6B000-5BED-4081-B5E0-B698BFB89415}.Release|x86.Build.0 = Release|Any CPU
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1182,18 +1112,6 @@ Global
{8D949A40-5F4B-4EB0-B8FD-301B472C96AE}.Release|x64.Build.0 = Release|Any CPU
{8D949A40-5F4B-4EB0-B8FD-301B472C96AE}.Release|x86.ActiveCfg = Release|Any CPU
{8D949A40-5F4B-4EB0-B8FD-301B472C96AE}.Release|x86.Build.0 = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|x64.Build.0 = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|x86.ActiveCfg = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Debug|x86.Build.0 = Debug|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|Any CPU.Build.0 = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|x64.ActiveCfg = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|x64.Build.0 = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|x86.ActiveCfg = Release|Any CPU
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1}.Release|x86.Build.0 = Release|Any CPU
{E02B141F-E7C0-46CF-B9F6-39427218E714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E02B141F-E7C0-46CF-B9F6-39427218E714}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E02B141F-E7C0-46CF-B9F6-39427218E714}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1537,18 +1455,6 @@ Global
{3538EF5E-377E-430A-AFB8-F2DB5FAEDE95}.Release|x64.Build.0 = Release|x64
{3538EF5E-377E-430A-AFB8-F2DB5FAEDE95}.Release|x86.ActiveCfg = Release|x86
{3538EF5E-377E-430A-AFB8-F2DB5FAEDE95}.Release|x86.Build.0 = Release|x86
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|x64.Build.0 = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Debug|x86.Build.0 = Debug|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|Any CPU.Build.0 = Release|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|x64.ActiveCfg = Release|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|x64.Build.0 = Release|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|x86.ActiveCfg = Release|Any CPU
- {2829C811-66EE-4B81-96CA-2ACB00B8E813}.Release|x86.Build.0 = Release|Any CPU
{4AD438D9-D4E3-4EB5-8851-89DB4D1CFB9C}.Debug|Any CPU.ActiveCfg = Debug|x86
{4AD438D9-D4E3-4EB5-8851-89DB4D1CFB9C}.Debug|x64.ActiveCfg = Debug|x64
{4AD438D9-D4E3-4EB5-8851-89DB4D1CFB9C}.Debug|x64.Build.0 = Debug|x64
@@ -1689,7 +1595,6 @@ Global
{AD119B05-A092-41AD-B68E-4AE2DB5A96D9} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{2AD18622-9A02-41B4-915E-798BD64044D5} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{F47F206E-4CCA-4AD0-AEBA-FD9F491E05EC} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
- {24B0357D-B0C8-46C7-96F6-006E3F66662A} = {C70D6696-23F0-4C3D-9C2A-94C4868D5249}
{8E1555D1-13D5-4DBF-9631-117D840C3158} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{DC7D131A-AF99-46AB-9AA6-463443E3B992} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{DA0A44FB-D562-4776-AAFB-8266E78AA1A6} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
@@ -1704,10 +1609,8 @@ Global
{DF923186-5397-4E15-A95B-F15C8327ED53} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{E1706893-D3A5-43B9-9036-AEF49DB9600B} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
- {72FB583A-A1B0-4B5F-8658-617B100DCD8E} = {5D8E1F81-B820-4736-B797-271B0FE787EE}
{35F581E9-3D7C-4E80-8DFF-D437B0D86710} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
- {3BEACB10-89FE-4F74-8022-1A52F223CE82} = {5D8E1F81-B820-4736-B797-271B0FE787EE}
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{B34EDBC7-C5FB-409D-8472-BC7469D6F2BD} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
{8BDF1DE0-E6DE-48AD-AAA3-CE09CB544E2C} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
@@ -1716,7 +1619,6 @@ Global
{303F8E41-691F-4453-AB7D-88A0036C0465} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{D141BD06-DD95-4CAF-85CD-657116E0DAD4} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
- {DAA6B000-5BED-4081-B5E0-B698BFB89415} = {C70D6696-23F0-4C3D-9C2A-94C4868D5249}
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
{EB0B88E2-589A-4F65-8F98-D5B958D8104F} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
{4E83BFB5-F225-4C3B-B96E-0AD1951A5630} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
@@ -1731,7 +1633,6 @@ Global
{77EAF70B-4C16-499D-8096-91AC84E12EC4} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
{AED23FC5-46D9-4990-B5AB-9D287A0A7BD6} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
{8D949A40-5F4B-4EB0-B8FD-301B472C96AE} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
- {7DF988E6-4F60-44A4-B3E7-89BC6EB4D3D1} = {5D8E1F81-B820-4736-B797-271B0FE787EE}
{A1D7653A-C409-414A-B9B0-7879953EBCDD} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
{E02B141F-E7C0-46CF-B9F6-39427218E714} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
{C00D8070-A38A-4267-9730-E9985CAE77DF} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
@@ -1744,7 +1645,6 @@ Global
{AFA0AB23-64F0-4AC1-9050-6CE8FE06F580} = {9518425A-36A5-4B8F-B0B8-6137DB88441D}
{8683D82A-2BBE-4199-9C36-C59F48804F90} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{91E50134-0E55-4D22-B180-6967174FCE0B} = {8CEC2042-F11C-49F5-A674-2355793B600A}
- {C70D6696-23F0-4C3D-9C2A-94C4868D5249} = {A0C5FBBB-CFB2-4FB9-B8F0-55676E9DCF06}
{CC53E5C5-9D3E-4AD9-A9CA-D2190463EB5B} = {A0C5FBBB-CFB2-4FB9-B8F0-55676E9DCF06}
{E5439139-6F94-44FA-9590-C32FCC1C7A93} = {8CEC2042-F11C-49F5-A674-2355793B600A}
{1F146D40-8B21-4630-8049-14FA4BBBB217} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
@@ -1776,7 +1676,6 @@ Global
{34B67004-7249-4EF1-8E12-6E6DA37EA6BE} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{1B9E6BF4-9D48-4988-9945-248096119E46} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{3538EF5E-377E-430A-AFB8-F2DB5FAEDE95} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
- {2829C811-66EE-4B81-96CA-2ACB00B8E813} = {5D8E1F81-B820-4736-B797-271B0FE787EE}
{4AD438D9-D4E3-4EB5-8851-89DB4D1CFB9C} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{BC998ACD-353B-4A56-8A56-DF6200E141B6} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{8EAABFB9-8A47-4B11-AD7F-AC8B373CDE49} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
diff --git a/build/_build/.editorconfig b/build/_build/.editorconfig
index 31e43dcd8e5b..447f7d82a971 100644
--- a/build/_build/.editorconfig
+++ b/build/_build/.editorconfig
@@ -1,4 +1,4 @@
-[*.cs]
+[{Build.cs, Build.*.cs}]
dotnet_style_qualification_for_field = false:warning
dotnet_style_qualification_for_property = false:warning
dotnet_style_qualification_for_method = false:warning
diff --git a/build/_build/Build.Utilities.cs b/build/_build/Build.Utilities.cs
index d8868e2e5b01..862cbb1f9a99 100644
--- a/build/_build/Build.Utilities.cs
+++ b/build/_build/Build.Utilities.cs
@@ -2,13 +2,18 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Reflection;
+using GeneratePackageVersions;
using Nuke.Common;
using Nuke.Common.IO;
using Nuke.Common.Tooling;
using Nuke.Common.Tools.Docker;
using Nuke.Common.Tools.DotNet;
using Nuke.Common.Tools.MSBuild;
+using PrepareRelease;
+using UpdateVendors;
using static Nuke.Common.EnvironmentInfo;
+using static Nuke.Common.IO.FileSystemTasks;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
using static Nuke.Common.Tools.MSBuild.MSBuildTasks;
@@ -168,4 +173,91 @@ partial class Build
.SetProcessEnvironmentVariables(envVars));
});
+
+ Target GeneratePackageVersions => _ => _
+ .Description("Regenerate the PackageVersions props and .cs files")
+ .Executes(async () =>
+ {
+ var testDir = Solution.GetProject(Projects.ClrProfilerIntegrationTests).Directory;
+
+ var versionGenerator = new PackageVersionGenerator(RootDirectory, testDir);
+ await versionGenerator.GenerateVersions();
+ });
+
+ Target UpdateVendoredCode => _ => _
+ .Description("Updates the vendored dependency code and dependabot template")
+ .Executes(() =>
+ {
+ var honeypotProject = RootDirectory / "honeypot" / "Datadog.Dependabot.Honeypot.csproj";
+ UpdateVendorsTool.UpdateHoneypotProject(honeypotProject);
+
+ var vendorDirectory = Solution.GetProject(Projects.DatadogTrace).Directory / "Vendors";
+ var downloadDirectory = TemporaryDirectory / "Downloads";
+ EnsureCleanDirectory(downloadDirectory);
+ UpdateVendorsTool.UpdateVendors(downloadDirectory, vendorDirectory);
+ });
+
+ Target UpdateIntegrationsJson => _ => _
+ .Description("Update the integrations.json file")
+ .DependsOn(Clean, Restore, CreateRequiredDirectories, CompileManagedSrc, PublishManagedProfiler) // We load the dlls from the output, so need to do a clean build
+ .Before(CopyIntegrationsJson)
+ .Executes(() =>
+ {
+ var assemblies = TracerHomeDirectory
+ .GlobFiles("**/Datadog.Trace.ClrProfiler.Managed.dll")
+ .Select(x => x.ToString())
+ .ToList();
+
+ GenerateIntegrationDefinitions.Run(assemblies, RootDirectory);
+ });
+
+ Target UpdateVersion => _ => _
+ .Description("Update the version number for the tracer")
+ .Before(Clean, BuildTracerHome)
+ .Requires(() => Version)
+ .Executes(() =>
+ {
+ new SetAllVersions(RootDirectory, Version, IsPrerelease).Run();
+ });
+
+ Target UpdateMsiContents => _ => _
+ .Description("Update the contents of the MSI")
+ .DependsOn(Clean, BuildTracerHome)
+ .Executes(() =>
+ {
+ SyncMsiContent.Run(RootDirectory, TracerHomeDirectory);
+ });
+
+ Target CiAppFeatureTracking => _ => _
+ .Description("Generate the CIApp FeatureTracking JSON")
+ .DependsOn(Clean, Restore, CreateRequiredDirectories, CompileManagedSrc, PublishManagedProfiler) // We load the dlls from the output, so need to do a clean build
+ .Executes(() =>
+ {
+ // Just grab the first one for now
+ var assemblyPath = TracerHomeDirectory
+ .GlobFiles("**/netcoreapp*/Datadog.Trace.ClrProfiler.Managed.dll")
+ .Select(x => x.ToString())
+ .First();
+
+ var assembly = Assembly.LoadFrom(assemblyPath);
+ var featureTrackingAttribute = assembly.GetType("Datadog.Trace.Ci.FeatureTrackingAttribute");
+ var types = new[] { "Datadog.Trace.Ci.CommonTags", "Datadog.Trace.Ci.TestTags" }
+ .Select(type => assembly.GetType(type))
+ .ToArray();
+
+ var values = GetFeatureTrackingValueFromType(types);
+
+ var json = Newtonsoft.Json.JsonConvert.SerializeObject(values);
+ Console.WriteLine(json);
+
+ IEnumerable GetFeatureTrackingValueFromType(params Type[] types)
+ {
+ return types
+ .SelectMany(type => type.GetFields())
+ .Where(f => f.GetCustomAttributes(featureTrackingAttribute, true).Length > 0)
+ .Select(f => f.GetValue(null).ToString())
+ .OrderBy(v => v);
+ }
+ });
+
}
diff --git a/build/_build/Build.cs b/build/_build/Build.cs
index 1807aa1922c5..2a7a973f9eb3 100644
--- a/build/_build/Build.cs
+++ b/build/_build/Build.cs
@@ -50,9 +50,12 @@ partial class Build : NukeBuild
[Parameter("Is the build running on Alpine linux? Default is 'false'")]
readonly bool IsAlpine = false;
- [Parameter("The build version (for packaging purposes). Default is latest")]
+ [Parameter("The build version. Default is latest")]
readonly string Version = "1.28.1";
+ [Parameter("Whether the build version is a prerelease(for packaging purposes). Default is latest")]
+ readonly bool IsPrerelease = true;
+
[Parameter("Prints the available drive space before executing each target. Defaults to false")]
readonly bool PrintDriveSpace = false;
diff --git a/build/tools/GeneratePackageVersions/FileGenerator.cs b/build/_build/GeneratePackageVersions/FileGenerator.cs
similarity index 100%
rename from build/tools/GeneratePackageVersions/FileGenerator.cs
rename to build/_build/GeneratePackageVersions/FileGenerator.cs
diff --git a/build/tools/GeneratePackageVersions/MSBuildPropsFileGenerator.cs b/build/_build/GeneratePackageVersions/MSBuildPropsFileGenerator.cs
similarity index 100%
rename from build/tools/GeneratePackageVersions/MSBuildPropsFileGenerator.cs
rename to build/_build/GeneratePackageVersions/MSBuildPropsFileGenerator.cs
diff --git a/build/tools/GeneratePackageVersions/NuGetPackageHelper.cs b/build/_build/GeneratePackageVersions/NuGetPackageHelper.cs
similarity index 100%
rename from build/tools/GeneratePackageVersions/NuGetPackageHelper.cs
rename to build/_build/GeneratePackageVersions/NuGetPackageHelper.cs
diff --git a/build/tools/GeneratePackageVersions/PackageVersionEntry.cs b/build/_build/GeneratePackageVersions/PackageVersionEntry.cs
similarity index 100%
rename from build/tools/GeneratePackageVersions/PackageVersionEntry.cs
rename to build/_build/GeneratePackageVersions/PackageVersionEntry.cs
diff --git a/build/tools/GeneratePackageVersions/Program.cs b/build/_build/GeneratePackageVersions/Program.cs
similarity index 71%
rename from build/tools/GeneratePackageVersions/Program.cs
rename to build/_build/GeneratePackageVersions/Program.cs
index bb0b78530d84..a313d2fc239b 100644
--- a/build/tools/GeneratePackageVersions/Program.cs
+++ b/build/_build/GeneratePackageVersions/Program.cs
@@ -9,53 +9,41 @@
using System.Linq;
using System.Threading.Tasks;
using Newtonsoft.Json;
+using Nuke.Common.IO;
namespace GeneratePackageVersions
{
- public class Program
+ public class PackageVersionGenerator
{
- private static string _solutionDirectory;
- private static string _baseXunitPath;
- private static PackageGroup _latestMinors;
- private static PackageGroup _comprehensive;
- private static XunitStrategyFileGenerator _strategyGenerator;
-
- public static async Task Main(string[] args)
+ private readonly AbsolutePath _definitionsFilePath;
+ private readonly PackageGroup _latestMinors;
+ private readonly PackageGroup _comprehensive;
+ private readonly XunitStrategyFileGenerator _strategyGenerator;
+
+ public PackageVersionGenerator(
+ AbsolutePath solutionDirectory,
+ AbsolutePath testProjectDirectory)
{
- if (args.Length < 1 || string.IsNullOrWhiteSpace(args[0]))
- {
- Console.Error.WriteLine("error: You must specify the solution directory. Exiting.");
- return;
- }
-
- _solutionDirectory = args[0];
-
- _baseXunitPath = Path.Combine(
- _solutionDirectory,
- "test",
- "Datadog.Trace.ClrProfiler.IntegrationTests");
-
- _latestMinors = new PackageGroup("LatestMinors");
- _comprehensive = new PackageGroup("Comprehensive");
+ var propsDirectory = solutionDirectory / "build";
+ _definitionsFilePath = solutionDirectory / "build" / "PackageVersionsGeneratorDefinitions.json";
+ _latestMinors = new PackageGroup(propsDirectory, testProjectDirectory, "LatestMinors");
+ _comprehensive = new PackageGroup(propsDirectory, testProjectDirectory, "Comprehensive");
+ _strategyGenerator = new XunitStrategyFileGenerator(testProjectDirectory / "PackageVersions.g.cs");
- _strategyGenerator = new XunitStrategyFileGenerator(
- Path.Combine(
- _baseXunitPath,
- "PackageVersions.g.cs"));
-
- var definitionsFilename = Path.Combine(args[0], "build", "PackageVersionsGeneratorDefinitions.json");
-
- if (!File.Exists(definitionsFilename))
+ if (!File.Exists(_definitionsFilePath))
{
- Console.Error.WriteLine($"error: Definitions file {definitionsFilename} does not exist. Exiting.");
- return;
+ throw new Exception($"Definitions file {_definitionsFilePath} does not exist. Exiting.");
}
+ }
- var entries = JsonConvert.DeserializeObject(File.ReadAllText(definitionsFilename));
+ public async Task GenerateVersions()
+ {
+ var definitions = File.ReadAllText(_definitionsFilePath);
+ var entries = JsonConvert.DeserializeObject(definitions);
await RunFileGeneratorWithPackageEntries(entries);
}
- private static async Task RunFileGeneratorWithPackageEntries(IEnumerable entries)
+ private async Task RunFileGeneratorWithPackageEntries(IEnumerable entries)
{
_latestMinors.Start();
_comprehensive.Start();
@@ -114,18 +102,15 @@ private static async Task RunFileGeneratorWithPackageEntries(IEnumerable
+// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License.
+// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc.
+//
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Reflection.Emit;
+using System.Runtime.Loader;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+
+namespace PrepareRelease
+{
+ public static class GenerateIntegrationDefinitions
+ {
+ const string InstrumentMethodAttributeName = "Datadog.Trace.ClrProfiler.InstrumentMethodAttribute";
+ const string InterceptMethodAttributeName = "Datadog.Trace.ClrProfiler.InterceptMethodAttribute";
+
+ public static void Run(ICollection assemblyPaths, params string[] outputDirectories)
+ {
+ Console.WriteLine("Updating the integrations definitions");
+
+ var callTargetIntegrations = Enumerable.Empty();
+ var callSiteIntegrations = Enumerable.Empty();
+
+ foreach (var path in assemblyPaths)
+ {
+ Console.WriteLine($"Reading integrations for {path}...");
+ var assemblyLoadContext = new CustomAssemblyLoadContext(Path.GetDirectoryName(path));
+ var assembly = assemblyLoadContext.LoadFromAssemblyPath(path);
+
+ callTargetIntegrations = callTargetIntegrations.Concat(GetCallTargetIntegrations(new[] { assembly }));
+ callSiteIntegrations = callSiteIntegrations.Concat(GetCallSiteIntegrations(new[] { assembly }));
+
+ assemblyLoadContext.Unload();
+ }
+
+ var serializerSettings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore,
+ Formatting = Formatting.Indented,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new SnakeCaseNamingStrategy()
+ }
+ };
+
+ // remove duplicates
+ callTargetIntegrations = callTargetIntegrations
+ .GroupBy(x => x.Name)
+ .Select(x => new Integration()
+ {
+ Name = x.Key,
+ MethodReplacements = x
+ .SelectMany(y => y.MethodReplacements)
+ .Distinct()
+ .ToArray(),
+ });
+
+ callSiteIntegrations = callSiteIntegrations
+ .GroupBy(x => x.Name)
+ .Select(x => new Integration()
+ {
+ Name = x.Key,
+ MethodReplacements = x
+ .SelectMany(y => y.MethodReplacements)
+ .Distinct()
+ .ToArray(),
+ });
+
+ var json = JsonConvert.SerializeObject(callTargetIntegrations.Concat(callSiteIntegrations), serializerSettings);
+ Console.WriteLine($"Writing integration.json...");
+
+ foreach (var outputDirectory in outputDirectories)
+ {
+ var filename = Path.Combine(outputDirectory, "integrations.json");
+ var utf8NoBom = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);
+ File.WriteAllText(filename, json, utf8NoBom);
+ }
+ }
+
+ static IEnumerable GetCallTargetIntegrations(ICollection assemblies)
+ {
+ var assemblyInstrumentMethodAttributes = from assembly in assemblies
+ let attributes = assembly.GetCustomAttributes(inherit: false)
+ .Where(a => InheritsFrom(a.GetType(), InstrumentMethodAttributeName))
+ .ToList()
+ from attribute in attributes
+ let callTargetType = GetPropertyValue(attribute, "CallTargetType")
+ ?? throw new NullReferenceException($"The usage of InstrumentMethodAttribute[Type={GetPropertyValue(attribute, "TypeName")}, Method={GetPropertyValue(attribute, "MethodName")}] in assembly scope must define the CallTargetType property.")
+ select (callTargetType, attribute);
+
+ // Extract all InstrumentMethodAttribute from the classes
+ var classesInstrumentMethodAttributes = from assembly in assemblies
+ from wrapperType in assembly.GetTypes()
+ let attributes = wrapperType.GetCustomAttributes(inherit: false)
+ .Where(a => InheritsFrom(a.GetType(), InstrumentMethodAttributeName))
+ .Select(a => (wrapperType, a))
+ .ToList()
+ from attribute in attributes
+ select attribute;
+
+ // combine all InstrumentMethodAttributes
+ // and create objects that will generate correct JSON schema
+ var callTargetIntegrations = from attributePair in assemblyInstrumentMethodAttributes.Concat(classesInstrumentMethodAttributes)
+ let callTargetType = attributePair.Item1
+ let attribute = attributePair.Item2
+ let integrationName = GetPropertyValue(attribute, "IntegrationName")
+ let assembly = callTargetType.Assembly
+ let wrapperType = callTargetType
+ orderby integrationName
+ group new
+ {
+ assembly,
+ wrapperType,
+ attribute
+ }
+ by integrationName into g
+ select new Integration
+ {
+ Name = g.Key,
+ MethodReplacements = (from item in g
+ from assembly in GetPropertyValue(item.attribute, "AssemblyNames")
+ let version = GetPropertyValue