Skip to content

Commit 0f37bdb

Browse files
committed
Update file(s) "Packages/unity-builder/." from "unity-korea-community/unity-builder"
1 parent 0df7339 commit 0f37bdb

File tree

8 files changed

+201
-50
lines changed

8 files changed

+201
-50
lines changed

Editor/AssetBundleBrowserWrapper/obj.meta

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Editor/BuildConfig/AndroidBuildConfig.cs

+27-2
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,25 @@
66

77
namespace UNKO.Unity_Builder
88
{
9+
/// <summary>
10+
/// 안드로이드 빌드 설정
11+
/// </summary>
912
[CreateAssetMenu(fileName = "AndroidBuildConfig", menuName = GlobalConst.CreateAssetMenu_Prefix + "/AndroidBuildConfig")]
1013
[StructLayout(LayoutKind.Auto)] // ignore codacy
11-
public class AndroidBuildConfig : BuildConfig
14+
public class AndroidBuildConfig : BuildConfigBase
1215
{
16+
///<inheritdoc cref="IBuildConfig.buildTarget"/>
1317
public override BuildTarget buildTarget => BuildTarget.Android;
1418

19+
/// <summary>
20+
/// 안드로이드 빌드에 사용할 keyaliasName
21+
/// </summary>
1522
[SerializeField]
1623
protected string keyaliasName;
24+
25+
/// <summary>
26+
/// 안드로이드 빌드에 사용할 keyaliasPassword
27+
/// </summary>
1728
[SerializeField]
1829
protected string keyaliasPassword;
1930

@@ -24,6 +35,10 @@ public class AndroidBuildConfig : BuildConfig
2435
/// </summary>
2536
[SerializeField]
2637
protected string keystorePath;
38+
39+
/// <summary>
40+
/// 안드로이드 keystore password
41+
/// </summary>
2742
[SerializeField]
2843
protected string keystorePassword;
2944

@@ -33,10 +48,14 @@ public class AndroidBuildConfig : BuildConfig
3348
[SerializeField]
3449
protected ScriptingImplementation scriptingBackEnd;
3550

51+
/// <summary>
52+
/// 안드로이드 빌드에 사용할 bundleVersionCode
53+
/// </summary>
3654
[SerializeField]
3755
protected int bundleVersionCode;
3856

39-
public override void ResetSetting(BuildConfig config)
57+
///<inheritdoc cref="IBuildConfig.ResetSetting"/>
58+
public override void ResetSetting(BuildConfigBase config)
4059
{
4160
base.ResetSetting(config);
4261

@@ -48,6 +67,7 @@ public override void ResetSetting(BuildConfig config)
4867
"\n_{scriptingBackEnd}");
4968
}
5069

70+
///<inheritdoc cref="IBuildConfig.OnPreBuild"/>
5171
public override void OnPreBuild(IDictionary<string, string> commandLine, ref BuildPlayerOptions buildPlayerOptions)
5272
{
5373
base.OnPreBuild(commandLine, ref buildPlayerOptions);
@@ -67,6 +87,7 @@ public override void OnPreBuild(IDictionary<string, string> commandLine, ref Bui
6787
$"keystoreName : {PlayerSettings.Android.keystoreName}, keystorePass : {PlayerSettings.Android.keystorePass}\n");
6888
}
6989

90+
///<inheritdoc cref="IBuildConfig.GetBuildPath"/>
7091
public override string GetBuildPath()
7192
{
7293
return base.GetBuildPath()
@@ -76,11 +97,15 @@ public override string GetBuildPath()
7697
}
7798
}
7899

100+
/// <summary>
101+
/// <see cref="AndroidBuildConfig"/> 인스펙터
102+
/// </summary>
79103
[CustomEditor(typeof(AndroidBuildConfig))]
80104
public class AndroidBuildConfig_Inspector : Editor
81105
{
82106
string _commandLine;
83107

108+
///<inheritdoc cref="Editor.OnInspectorGUI"/>
84109
public override void OnInspectorGUI()
85110
{
86111
base.OnInspectorGUI();

Editor/BuildConfig/BuildConfig.cs

+54-9
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99

1010
namespace UNKO.Unity_Builder
1111
{
12+
/// <summary>
13+
/// 플랫폼 별 빌드 설정 부모 클래스
14+
/// </summary>
1215
[StructLayout(LayoutKind.Auto)] // ignore codacy
13-
public abstract class BuildConfig : BuildConfigBase
16+
public abstract class BuildConfigBase : BuildConfigSO
1417
{
1518
/// <summary>
1619
/// 예시) com.CompanyName.ProductName
@@ -23,10 +26,21 @@ public abstract class BuildConfig : BuildConfigBase
2326
/// </summary>
2427
[SerializeField]
2528
protected string productName;
29+
/// <summary>
30+
/// productName를 얻습니다.
31+
/// </summary>
32+
/// <returns>productName</returns>
2633
public string GetProductName() => productName;
2734

35+
/// <summary>
36+
/// script define symbol입니다.
37+
/// </summary>
2838
[SerializeField]
2939
protected string defineSymbol;
40+
/// <summary>
41+
/// script define을 얻습니다.
42+
/// </summary>
43+
/// <returns></returns>
3044
public string GetDefineSymbol() => defineSymbol;
3145

3246
/// <summary>
@@ -35,23 +49,45 @@ public abstract class BuildConfig : BuildConfigBase
3549
/// </summary>
3650
[SerializeField]
3751
protected string[] buildSceneNames;
52+
/// <summary>
53+
/// 빌드에 포함할 씬 이름들을 얻습니다.
54+
/// </summary>
55+
/// <returns>buildSceneNames</returns>
3856
public string[] GetBuildSceneNames() => buildSceneNames;
3957

58+
/// <summary>
59+
/// 번들 버젼을 얻습니다.
60+
/// </summary>
4061
[SerializeField]
4162
protected string bundleVersion;
4263

43-
// 출력할 폴더 및 파일은 Jenkins에서 처리할 예정이였으나,
44-
// IL2CPP의 경우 같은 장소에 빌드해놓으면 더 빠르다는 메뉴얼로 인해 일단 보류
45-
// https://docs.unity3d.com/kr/2020.2/Manual/IL2CPP-OptimizingBuildTimes.html
64+
65+
/// <summary>
66+
/// 출력할 빌드 경로, UnityProject/Assets/의 상대 경로입니다.
67+
/// NOTE IL2CPP의 경우 같은 장소에 빌드해놓으면 더 빠르다는 메뉴얼
68+
/// https://docs.unity3d.com/kr/2020.2/Manual/IL2CPP-OptimizingBuildTimes.html
69+
/// </summary>
4670
[Tooltip("relative Path - UnityProject/Assets/")]
4771
[Multiline]
4872
[SerializeField]
4973
protected string buildPath;
5074

75+
/// <summary>
76+
/// buildsetting - developmentBuild 옵션
77+
/// </summary>
5178
[SerializeField]
5279
protected bool developmentBuild;
80+
81+
/// <summary>
82+
/// buildsetting - autoRunPlayer 옵션
83+
/// TODO 아직 테스트가 제대로 안되있습니다.
84+
/// </summary>
5385
[SerializeField]
5486
protected bool autoRunPlayer;
87+
88+
/// <summary>
89+
/// buildsetting - autoRunPlayer 옵션, 아직 테스트가 제대로 안되있습니다.
90+
/// </summary>
5591
[SerializeField]
5692
protected bool openBuildFolder;
5793

@@ -62,13 +98,16 @@ void Reset()
6298
ResetSetting(this);
6399
}
64100

101+
/// <summary>
102+
/// 빌드 경로에 라인을 추가합니다.
103+
/// </summary>
104+
/// <param name="addLine">빌드 경로에 추가할 라인</param>
65105
public void AddBuildPath(string addLine)
66106
{
67107
buildPath += addLine;
68108
}
69109

70-
71-
110+
///<inheritdoc cref="IBuildConfig.GetBuildPath"/>
72111
public override string GetBuildPath()
73112
{
74113
DateTime now = DateTime.Now;
@@ -84,13 +123,13 @@ public override string GetBuildPath()
84123
.Replace("{MM}", now.ToString("MM"))
85124
.Replace("{dd}", now.ToString("dd"))
86125
.Replace("{hh}", now.ToString("HH"))
87-
.Replace("{mm}", now.ToString("mm"))
88-
;
126+
.Replace("{mm}", now.ToString("mm"));
89127

90128
return newBuildPath;
91129
}
92130

93-
public override void ResetSetting(BuildConfig config)
131+
///<inheritdoc cref="IBuildConfig.ResetSetting"/>
132+
public override void ResetSetting(BuildConfigBase config)
94133
{
95134
BuildTargetGroup buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget);
96135

@@ -102,6 +141,7 @@ public override void ResetSetting(BuildConfig config)
102141
buildPath = "Builds/{productName}\n_{MM}{dd}_{hh}{mm}";
103142
}
104143

144+
///<inheritdoc cref="IBuildConfig.OnPreBuild"/>
105145
public override void OnPreBuild(IDictionary<string, string> commandLine, ref BuildPlayerOptions buildPlayerOptions)
106146
{
107147
if (string.IsNullOrEmpty(applicationIdentifier) == false)
@@ -124,6 +164,7 @@ public override void OnPreBuild(IDictionary<string, string> commandLine, ref Bui
124164
buildPlayerOptions.options = options;
125165
}
126166

167+
///<inheritdoc cref="IBuildConfig.OnPostBuild"/>
127168
public override void OnPostBuild(IDictionary<string, string> commandLine)
128169
{
129170
if (openBuildFolder)
@@ -134,6 +175,10 @@ public override void OnPostBuild(IDictionary<string, string> commandLine)
134175
}
135176
}
136177

178+
/// <summary>
179+
/// 현재 Editor BuildSetting에서 빌드에 포함되는 씬 중에 활성화된 씬을 얻습니다.
180+
/// </summary>
181+
/// <returns>빌드에 포함되고 활성화 되있는 씬들</returns>
137182
public static string[] GetEnabled_EditorScenes()
138183
{
139184
return EditorBuildSettings.scenes

Editor/BuildConfig/BuildConfigBase.cs

+34-6
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,59 @@
88

99
namespace UNKO.Unity_Builder
1010
{
11+
/// <summary>
12+
/// Unity를 빌드하기 위해 세팅할 interface
13+
/// </summary>
1114
public interface IBuildConfig
1215
{
16+
/// <summary>
17+
/// 실행될 빌드 타겟
18+
/// </summary>
19+
/// <inheritdoc/>
1320
BuildTarget buildTarget { get; }
1421

15-
void ResetSetting(BuildConfig config);
22+
/// <summary>
23+
/// 빌드 세팅을 리셋할 때
24+
/// </summary>
25+
/// <param name="config">리셋할 대상 config</param>
26+
void ResetSetting(BuildConfigBase config);
27+
28+
/// <summary>
29+
/// 빌드 출력 경로를 얻고자 할 때
30+
/// </summary>
31+
/// <returns>빌드 출력 경로</returns>
1632
string GetBuildPath();
1733

34+
/// <summary>
35+
/// 빌드를 하기 전 이벤트 함수
36+
/// </summary>
37+
/// <param name="commandLine">빌드에 실행한 commandline</param>
38+
/// <param name="buildPlayerOptions">빌드에 사용한 option</param>
1839
void OnPreBuild(IDictionary<string, string> commandLine, ref BuildPlayerOptions buildPlayerOptions);
40+
41+
/// <summary>
42+
/// 빌드를 한 뒤 이벤트 함수
43+
/// </summary>
44+
/// <param name="commandLine">빌드에 실행한 commandline</param>
1945
void OnPostBuild(IDictionary<string, string> commandLine);
2046
}
2147

2248
/// <summary>
2349
/// Unity Inspector에 등록하기 위해 ScriptableObject를 상속
2450
/// </summary>
25-
public abstract class BuildConfigBase : ScriptableObject, IBuildConfig
51+
public abstract class BuildConfigSO : ScriptableObject, IBuildConfig
2652
{
27-
/// <summary>
28-
/// 실행될 빌드 타겟
29-
/// </summary>
53+
///<inheritdoc cref="IBuildConfig.buildTarget"/>
3054
public abstract BuildTarget buildTarget { get; }
3155

32-
public abstract void ResetSetting(BuildConfig config);
56+
///<inheritdoc cref="IBuildConfig.ResetSetting"/>
57+
public abstract void ResetSetting(BuildConfigBase config);
58+
///<inheritdoc cref="IBuildConfig.GetBuildPath"/>
3359
public abstract string GetBuildPath();
3460

61+
///<inheritdoc cref="IBuildConfig.OnPostBuild"/>
3562
public abstract void OnPostBuild(IDictionary<string, string> commandLine);
63+
///<inheritdoc cref="IBuildConfig.OnPreBuild"/>
3664
public abstract void OnPreBuild(IDictionary<string, string> commandLine, ref BuildPlayerOptions buildPlayerOptions);
3765
}
3866
}

Editor/BuildConfig/BuildConfigGroup.cs

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
namespace UNKO.Unity_Builder
44
{
5+
/// <summary>
6+
/// 현재 작업중입니다.
7+
/// </summary>
58
[CreateAssetMenu(fileName = "BuildConfigGroup", menuName = GlobalConst.CreateAssetMenu_Prefix + "/BuildConfigGroup")]
69
public class BuildConfigGroup : ScriptableObject
710
{

Editor/BuildConfig/WindowBuildConfig.cs

+13-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@
66

77
namespace UNKO.Unity_Builder
88
{
9+
/// <summary>
10+
/// Window 빌드 설정
11+
/// </summary>
912
[CreateAssetMenu(fileName = "WindowBuildConfig", menuName = GlobalConst.CreateAssetMenu_Prefix + "/WindowBuildConfig")]
1013
[StructLayout(LayoutKind.Auto)] // ignore codacy
11-
public class WindowBuildConfig : BuildConfig
14+
public class WindowBuildConfig : BuildConfigBase
1215
{
16+
///<inheritdoc cref="IBuildConfig.buildTarget"/>
1317
public override BuildTarget buildTarget => BuildTarget.StandaloneWindows64;
1418

1519
/// <summary>
@@ -18,7 +22,8 @@ public class WindowBuildConfig : BuildConfig
1822
[SerializeField]
1923
protected ScriptingImplementation scriptingBackEnd;
2024

21-
public override void ResetSetting(BuildConfig config)
25+
///<inheritdoc cref="IBuildConfig.ResetSetting"/>
26+
public override void ResetSetting(BuildConfigBase config)
2227
{
2328
base.ResetSetting(config);
2429

@@ -29,13 +34,15 @@ public override void ResetSetting(BuildConfig config)
2934
"\n_{scriptingBackEnd}");
3035
}
3136

37+
///<inheritdoc cref="IBuildConfig.OnPreBuild"/>
3238
public override void OnPreBuild(IDictionary<string, string> commandLine, ref BuildPlayerOptions buildPlayerOptions)
3339
{
3440
base.OnPreBuild(commandLine, ref buildPlayerOptions);
3541

3642
PlayerSettings.SetScriptingBackend(BuildTargetGroup.Standalone, scriptingBackEnd);
3743
}
3844

45+
///<inheritdoc cref="IBuildConfig.GetBuildPath"/>
3946
public override string GetBuildPath()
4047
{
4148
return base.GetBuildPath()
@@ -44,11 +51,15 @@ public override string GetBuildPath()
4451
}
4552
}
4653

54+
/// <summary>
55+
/// <see cref="WindowBuildConfig"/> 인스펙터
56+
/// </summary>
4757
[CustomEditor(typeof(WindowBuildConfig))]
4858
public class WindowBuildConfig_Inspector : Editor
4959
{
5060
string _commandLine;
5161

62+
///<inheritdoc cref="Editor.OnInspectorGUI"/>
5263
public override void OnInspectorGUI()
5364
{
5465
base.OnInspectorGUI();

0 commit comments

Comments
 (0)