Skip to content

Commit a6da945

Browse files
authored
chore: Remove deprecated runtime/build time configuration (#2337)
1 parent be4332b commit a6da945

24 files changed

+49
-197
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
### Breaking Changes
6+
7+
- The deprecated Runtime- and BuildTime-Configuration have been removed in favor of the single `OptionsConfiguration` script. When migrating you can make use of preprocessor directives to set specific options for specific platforms. Check out the ([Migration Guide](https://docs.sentry.io/platforms/unity/migration/#changes-to-the-programmatic-configuration)). ([#2337](https://github.com/getsentry/sentry-unity/pull/2337))
8+
59
### Features
610

711
- Added Xbox Native Support ([#2314](https://github.com/getsentry/sentry-unity/pull/2314), [#2329](https://github.com/getsentry/sentry-unity/pull/2329))

samples/unity-of-bugs/Assets/Resources/Sentry/SentryOptions.asset

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,8 @@ MonoBehaviour:
6666
<WindowsNativeSupportEnabled>k__BackingField: 1
6767
<MacosNativeSupportEnabled>k__BackingField: 1
6868
<LinuxNativeSupportEnabled>k__BackingField: 1
69+
<XboxNativeSupportEnabled>k__BackingField: 1
6970
<Il2CppLineNumberSupportEnabled>k__BackingField: 1
70-
<RuntimeOptionsConfiguration>k__BackingField: {fileID: 0}
71-
<BuildTimeOptionsConfiguration>k__BackingField: {fileID: 0}
7271
<OptionsConfiguration>k__BackingField: {fileID: 11400000, guid: cea63afb7c75f429799422326f926abe, type: 2}
7372
<Debug>k__BackingField: 1
7473
<DebugOnlyInEditor>k__BackingField: 0

samples/unity-of-bugs/Assets/Scripts/AutoInputModuleManager.cs.meta

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Sentry.Unity.Editor.iOS/BuildPostProcess.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ public static void OnPostProcessBuild(BuildTarget target, string pathToProject)
1919
return;
2020
}
2121

22-
var (options, cliOptions) = SentryScriptableObject.ConfiguredBuildTimeOptions();
22+
var cliOptions = SentryScriptableObject.LoadCliOptions();
23+
var options = SentryScriptableObject.LoadOptions(isBuilding: true);
2324
var logger = options?.DiagnosticLogger ?? new UnityLogger(new SentryUnityOptions());
2425

2526
AddSentryToXcodeProject(options, cliOptions, logger, pathToProject);

src/Sentry.Unity.Editor/Android/AndroidManifestConfiguration.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ public class AndroidManifestConfiguration
4949

5050
public AndroidManifestConfiguration()
5151
: this(
52-
SentryScriptableObject.ConfiguredBuildTimeOptions,
52+
SentryScriptableObject.LoadOptions,
53+
SentryScriptableObject.LoadCliOptions,
5354
isDevelopmentBuild: EditorUserBuildSettings.development,
5455
#pragma warning disable CS0618
5556
scriptingImplementation: PlayerSettings.GetScriptingBackend(BuildTargetGroup.Android))
@@ -58,12 +59,14 @@ public AndroidManifestConfiguration()
5859

5960
// Testing
6061
internal AndroidManifestConfiguration(
61-
Func<(SentryUnityOptions?, SentryCliOptions?)> getOptions,
62+
Func<bool, SentryUnityOptions?> getOptions,
63+
Func<SentryCliOptions?> getCliOptions,
6264
bool isDevelopmentBuild,
6365
ScriptingImplementation scriptingImplementation,
6466
ILogger? logger = null)
6567
{
66-
(_options, _sentryCliOptions) = getOptions();
68+
_options = getOptions(true);
69+
_sentryCliOptions = getCliOptions();
6770
_logger = _options?.DiagnosticLogger ?? new UnityLogger(_options ?? new SentryUnityOptions(), logger);
6871

6972
_isDevelopmentBuild = isDevelopmentBuild;

src/Sentry.Unity.Editor/AutoInstrumentation/SentryPerformanceAutoInstrumentation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class SentryPerformanceAutoInstrumentation : IPostBuildPlayerScriptDLLs
1515
public int callbackOrder { get; }
1616
public void OnPostBuildPlayerScriptDLLs(BuildReport report)
1717
{
18-
var (options, cliOptions) = SentryScriptableObject.ConfiguredBuildTimeOptions();
18+
var options = SentryScriptableObject.LoadOptions(isBuilding: true);
1919
if (options == null)
2020
{
2121
return;

src/Sentry.Unity.Editor/ConfigurationWindow/ConfigurationCreator.cs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,7 @@ internal static class OptionsConfigurationItem
2525
if (GUILayout.Button("New", GUILayout.ExpandWidth(false)))
2626
{
2727
var t = typeof(T);
28-
if (t == typeof(SentryRuntimeOptionsConfiguration) || t == typeof(SentryBuildTimeOptionsConfiguration))
29-
{
30-
Debug.LogWarning("Runtime/BuildTime scriptable objects have been deprecated and will be removed in a future version." +
31-
"Please use the 'Option Config Script' below.");
32-
}
33-
else if (t == typeof(SentryOptionsConfiguration))
28+
if (t == typeof(SentryOptionsConfiguration))
3429
{
3530
CreateConfigurationScript(fieldName, SentryOptionsConfiguration.Template, scriptName);
3631
}
@@ -109,16 +104,6 @@ internal static void SetScript(string scriptNameWithoutExtension)
109104

110105
switch (optionsConfigurationObject)
111106
{
112-
case SentryRuntimeOptionsConfiguration runtimeConfiguration:
113-
AssetDatabase.CreateAsset(optionsConfigurationObject, SentryAssetPath(scriptNameWithoutExtension));
114-
AssetDatabase.Refresh();
115-
options.RuntimeOptionsConfiguration ??= runtimeConfiguration; // Don't overwrite if already set
116-
break;
117-
case SentryBuildTimeOptionsConfiguration buildTimeConfiguration:
118-
AssetDatabase.CreateAsset(optionsConfigurationObject, SentryAssetPath(scriptNameWithoutExtension));
119-
AssetDatabase.Refresh();
120-
options.BuildTimeOptionsConfiguration ??= buildTimeConfiguration; // Don't overwrite if already set
121-
break;
122107
case SentryOptionsConfiguration configuration:
123108
AssetDatabase.CreateAsset(optionsConfigurationObject, SentryOptionsConfiguration.GetAssetPath(scriptNameWithoutExtension));
124109
AssetDatabase.Refresh();

src/Sentry.Unity.Editor/ConfigurationWindow/OptionsConfigurationTab.cs

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,6 @@ public static void Display(ScriptableSentryUnityOptions options)
1515

1616
EditorGUILayout.Space();
1717

18-
if (options.RuntimeOptionsConfiguration != null || options.BuildTimeOptionsConfiguration != null)
19-
{
20-
EditorGUILayout.BeginVertical("box");
21-
22-
EditorGUILayout.HelpBox(
23-
"The Runtime/BuildTime scriptable objects have been deprecated and will be removed in a future version." +
24-
"\nPlease use the 'Option Config Script' below." +
25-
"\nInstead of implementing your configuration in two places you can control the options via precompile directives.",
26-
MessageType.Warning);
27-
28-
if (options.RuntimeOptionsConfiguration != null)
29-
{
30-
options.RuntimeOptionsConfiguration = OptionsConfigurationItem.Display(
31-
options.RuntimeOptionsConfiguration,
32-
"Runtime Config Script",
33-
"SentryRuntimeConfiguration",
34-
"DEPRECATED: A scriptable object that inherits from 'ScriptableOptionsConfiguration' " +
35-
"and allows you to programmatically modify Sentry options.");
36-
}
37-
38-
if (options.BuildTimeOptionsConfiguration != null)
39-
{
40-
options.BuildTimeOptionsConfiguration = OptionsConfigurationItem.Display(
41-
options.BuildTimeOptionsConfiguration,
42-
"Build Time Config Script",
43-
"SentryBuildTimeConfiguration",
44-
"DEPRECATED: A scriptable object that inherits from 'ScriptableOptionsConfiguration' " +
45-
"and allows you to programmatically modify Sentry options.");
46-
}
47-
48-
EditorGUILayout.EndVertical();
49-
50-
EditorGUILayout.Space();
51-
}
52-
5318
EditorGUILayout.BeginVertical("box");
5419

5520
EditorGUILayout.HelpBox("The 'Option Config Script' allows you to programmatically configure and " +

src/Sentry.Unity.Editor/ConfigurationWindow/SentryEditorWindowInstrumentation.cs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,7 @@ private static void ConfigureOptions(Dictionary<string, string> args, [CallerMem
3232
}
3333
Debug.LogFormat("{0}: Found SentryOptions", functionName);
3434

35-
var value = "";
36-
if (args.TryGetValue("deprecatedRuntimeOptionsScript", out value))
37-
{
38-
Debug.LogFormat("{0}: Configuring Runtime Options Script to {1}", functionName, value);
39-
OptionsConfigurationItem.SetScript(value);
40-
}
41-
42-
if (args.TryGetValue("deprecatedBuildTimeOptionsScript", out value))
43-
{
44-
Debug.LogFormat("{0}: Configuring Build Time Options Script to {1}", functionName, value);
45-
OptionsConfigurationItem.SetScript(value);
46-
}
47-
48-
if (args.TryGetValue("optionsScript", out value))
35+
if (args.TryGetValue("optionsScript", out var value))
4936
{
5037
Debug.LogFormat("{0}: Configuring Build Time Options Script to {1}", functionName, value);
5138
OptionsConfigurationItem.SetScript(value);

src/Sentry.Unity.Editor/Il2CppBuildPreProcess.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void OnPreprocessBuild(BuildReport report)
2222
}
2323

2424

25-
var (options, cliOptions) = SentryScriptableObject.ConfiguredBuildTimeOptions();
25+
var options = SentryScriptableObject.LoadOptions(isBuilding: true);
2626

2727
if (options is null)
2828
{

0 commit comments

Comments
 (0)