public static void ValidModuleScriptingDefine(bool isDevelop, BuildConfig.CustomBuildTarget buildTarget, BuildConfig buildConfig, BuildTargetGroup buildTargetGroup) { if (buildConfig != null) { var defines = GetBuildDefines(isDevelop, buildTarget, buildConfig, buildTargetGroup); ScriptingDefine.SaveScriptingDefineSymbolsForGroup(buildTargetGroup, defines.ToArray()); } else { Logs.LogError("buildConfig is null please check"); } }
public static List <string> GetBuildDefines(bool isDevelop, BuildConfig.CustomBuildTarget buildTarget, BuildConfig buildConfig, BuildTargetGroup buildTargetGroup) { string defineBuild = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup); var defines = ExtractDefineNames(defineBuild); #if ADS_ENABLE var adsConfig = AdsEditor.LoadAdsConfigResouce(); if (adsConfig == null) { throw new BuildException("Please Set up ads api before build production version"); } else { AdsEditor.ValidUnityAdsScriptingDefine(adsConfig, buildTargetGroup); } #endif ScriptingDefine.EnableScriptingDefineFlag(isDevelop, Logs.EnableLogsString, defines); ScriptingDefine.EnableScriptingDefineFlag(!isDevelop, ProductionBuildString, defines); ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableAds, AdsEnableString, defines); ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableFirebase, FirebaseEnableString, defines); ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableIap, IapEnableString, defines); if (buildConfig.scriptingDefines != null) { foreach (var variable in buildConfig.scriptingDefines) { var enableTargetBuild = (variable.target & buildTarget) == buildTarget; if (isDevelop) { ScriptingDefine.EnableScriptingDefineFlag(enableTargetBuild && variable.develop, variable.key, defines); } else { ScriptingDefine.EnableScriptingDefineFlag(enableTargetBuild && variable.release, variable.key, defines); } } } return(defines); }
private void PrintDefines(BuildConfig.CustomBuildTarget buildTarget, bool isDevelop) { EditorGUILayout.BeginVertical("Box"); var label = buildTarget + (isDevelop ? " [Develop]" : " [Release]"); EditorGUILayout.LabelField(label + (isDevelop == Build.IsDebug ? " [CURRENT]" : "")); var buildDefines = BuildTool.GetBuildDefines(isDevelop, buildTarget, buildConfig, ScriptingDefine.GetBuildTargetGroup()); if (buildDefines != null) { using (new EditorGUI.DisabledGroupScope(true)) { foreach (var buildDefine in buildDefines) { EditorGUILayout.LabelField(buildDefine); } } } EditorGUILayout.EndVertical(); }