Skip to content

Commit 089fb75

Browse files
Clarify the use of Solutions vs Solution Filters in the repository (#3037)
* Update CONTRIBUTING.md * Renamed Sentry.NoMobile.sln to .generated.NoMobile.sln
1 parent 24df60d commit 089fb75

File tree

8 files changed

+17
-11
lines changed

8 files changed

+17
-11
lines changed
File renamed without changes.

CONTRIBUTING.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,16 @@ Also note `/Directory.Build.targets` contains some [convention based rules](http
5757

5858
## Solution Filters
5959

60-
Most contributors will rarely need to load Sentry.sln. The repository contains various solution filters that will be more practical for day to day tasks.
60+
_TLDR;_ when working with the the Sentry codebase, you should use the solution filters (not the solutions).
61+
62+
_Full explanation:_
63+
64+
The `Sentry.sln` solution contains all of the projects required to build Sentry, it's integrations and samples for every platform. However the repository contains various solution filters that will be more practical for day to day tasks.
6165

6266
These solution filters get generated automatically by `/scripts/generate-solution-filters.ps1` so, although you can certainly create your own solution filters and manage these how you wish, don't try to modify any of the `*.slnf` files that are committed to source control. Instead, changes to these can be made by modifying `/scripts/generate-solution-filters-config.yml` and re-running the script that generates these.
6367

68+
Also note that script generates a `.generated.NoMobile.sln` solution, which is an identical copy of `Sentry.sln`. Again, we don't recommend opening this directly. It exists as a round about way to conditionally set build properties in certain solution filters. You should instead use those solution filters (e.g. `SentryNoMobile.slnf`) when working in the Sentry codebase.
69+
6470
## API changes approval process
6571

6672
This repository uses [Verify](https://github.com/VerifyTests/Verify) to store the public API diffs in snapshot files.

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<NoWarn>$(NoWarn);CS8002</NoWarn>
1616
</PropertyGroup>
1717

18-
<PropertyGroup Condition="'$(SolutionName)' == 'Sentry.NoMobile'">
18+
<PropertyGroup Condition="'$(SolutionName)' == '.generated.NoMobile'">
1919
<NO_MOBILE>true</NO_MOBILE>
2020
</PropertyGroup>
2121

SentryAspNetCore.slnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"solution": {
3-
"path": "Sentry.NoMobile.sln",
3+
"path": ".generated.NoMobile.sln",
44
"projects": [
55
"samples\\Sentry.Samples.AspNetCore.Basic\\Sentry.Samples.AspNetCore.Basic.csproj",
66
"samples\\Sentry.Samples.AspNetCore.Blazor.Server\\Sentry.Samples.AspNetCore.Blazor.Server.csproj",

SentryCore.slnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"solution": {
3-
"path": "Sentry.NoMobile.sln",
3+
"path": ".generated.NoMobile.sln",
44
"projects": [
55
"benchmarks\\Sentry.Benchmarks\\Sentry.Benchmarks.csproj",
66
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",

SentryDiagnosticSource.slnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"solution": {
3-
"path": "Sentry.NoMobile.sln",
3+
"path": ".generated.NoMobile.sln",
44
"projects": [
55
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
66
"src\\Sentry.Extensions.Logging\\Sentry.Extensions.Logging.csproj",

SentryNoMobile.slnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"solution": {
3-
"path": "Sentry.NoMobile.sln",
3+
"path": ".generated.NoMobile.sln",
44
"projects": [
55
"benchmarks\\Sentry.Benchmarks\\Sentry.Benchmarks.csproj",
66
"samples\\Sentry.Samples.AspNetCore.Basic\\Sentry.Samples.AspNetCore.Basic.csproj",

scripts/generate-solution-filters-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ coreSolution: Sentry.sln
88
# copies of Sentry.sln that are used to set certain build
99
# properties when using solution filters that are based on these
1010
buildSolutions:
11-
- Sentry.NoMobile.sln
11+
- .generated.NoMobile.sln
1212

1313
groupConfigs:
1414
allProjects:
@@ -83,7 +83,7 @@ filterConfigs:
8383
- "test/**/*.csproj"
8484

8585
- outputPath: SentryAspNetCore.slnf
86-
solution: Sentry.NoMobile.sln
86+
solution: .generated.NoMobile.sln
8787
include:
8888
patterns:
8989
- "**/*AspNetCore*.csproj"
@@ -109,7 +109,7 @@ filterConfigs:
109109
- "**/Sentry.Tests.csproj"
110110

111111
- outputPath: SentryCore.slnf
112-
solution: Sentry.NoMobile.sln
112+
solution: .generated.NoMobile.sln
113113
include:
114114
patterns:
115115
- "**/Sentry.Benchmarks.csproj"
@@ -123,7 +123,7 @@ filterConfigs:
123123
- "**/Sentry.Tests.csproj"
124124

125125
- outputPath: SentryDiagnosticSource.slnf
126-
solution: Sentry.NoMobile.sln
126+
solution: .generated.NoMobile.sln
127127
include:
128128
patterns:
129129
- "**/*DiagnosticSource*.csproj"
@@ -155,7 +155,7 @@ filterConfigs:
155155
- "test/MauiTestUtils/**/*.csproj"
156156

157157
- outputPath: SentryNoMobile.slnf
158-
solution: Sentry.NoMobile.sln
158+
solution: .generated.NoMobile.sln
159159
include:
160160
groups:
161161
- "allProjects"

0 commit comments

Comments
 (0)