Skip to content

Commit

Permalink
add ios build config
Browse files Browse the repository at this point in the history
  • Loading branch information
KorStrix committed Dec 20, 2021
1 parent f244e91 commit 10b7ba5
Show file tree
Hide file tree
Showing 26 changed files with 934 additions and 318 deletions.
55 changes: 29 additions & 26 deletions Editor/BuildConfig/AndroidBuildConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public class AndroidBuildConfig : BuildConfigBase
/// <para>예를들어 UnityProject/Asset 폴더 밑에 example.keystore가 있으면 "/example.keystore" 입니다.</para>
/// </summary>
[SerializeField]
[Tooltip("Keystore 파일의 경로입니다. `파일경로/파일명.keystore` 까지 쓰셔야 합니다.")]
protected string keystorePath;

/// <summary>
Expand All @@ -54,6 +55,12 @@ public class AndroidBuildConfig : BuildConfigBase
[SerializeField]
protected int bundleVersionCode;

/// <summary>
/// 안드로이드 앱번들(.aab)로 빌드할 지, false면 apk로 빌드
/// </summary>
[SerializeField]
protected bool aabBuild;

///<inheritdoc cref="IBuildConfig.ResetSetting"/>
public override void ResetSetting(BuildConfigBase config)
{
Expand All @@ -75,25 +82,33 @@ public override void OnPreBuild(IDictionary<string, string> commandLine, ref Bui
PlayerSettings.Android.keyaliasName = keyaliasName;
PlayerSettings.Android.keyaliasPass = keyaliasPassword;

PlayerSettings.Android.keystoreName = Application.dataPath + keystorePath;
PlayerSettings.Android.keystoreName = keystorePath;
PlayerSettings.Android.keystorePass = keystorePassword;
PlayerSettings.Android.bundleVersionCode = bundleVersionCode;

EditorUserBuildSettings.buildAppBundle = aabBuild;

PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, scriptingBackEnd);

Debug.LogFormat($"OnPreBuild [Android]\n" +
$"PackageName : {PlayerSettings.applicationIdentifier}\n" +
$"keyaliasName : {PlayerSettings.Android.keyaliasName}, keyaliasPass : {PlayerSettings.Android.keyaliasPass}\n" +
$"keystoreName : {PlayerSettings.Android.keystoreName}, keystorePass : {PlayerSettings.Android.keystorePass}\n");
$"PackageName:{PlayerSettings.applicationIdentifier}\n" +
$"keyaliasName:{PlayerSettings.Android.keyaliasName}, keyaliasPass:{PlayerSettings.Android.keyaliasPass}\n" +
$"keystoreName:{PlayerSettings.Android.keystoreName}, keystorePass:{PlayerSettings.Android.keystorePass}\n" +
$"aabBuild:{aabBuild}");
}

///<inheritdoc cref="IBuildConfig.GetBuildPath"/>
public override string GetBuildPath()
{
return base.GetBuildPath()
string extensionName = EditorUserBuildSettings.buildAppBundle ? ".aab" : ".apk";
return base.GetBuildPath() + extensionName;
}

public override string ReplaceStrings(string replaceTarget)
{
return base.ReplaceStrings(replaceTarget)
.Replace("{scriptingBackEnd}", scriptingBackEnd.ToString())
.Replace("{bundleVersionCode}", bundleVersionCode.ToString())
+ ".apk";
.Replace("{bundleVersionCode}", bundleVersionCode.ToString());
}
}

Expand All @@ -117,34 +132,22 @@ public override void OnInspectorGUI()
if (GUILayout.Button("Reset to Current EditorSetting"))
{
config.ResetSetting(config);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
EditorUtility.SetDirty(config);
}

if (GUILayout.Button("Build!"))
{
UnityBuilder.Build(config);
}

_commandLine = EditorGUILayout.TextField("commandLine", _commandLine);
EditorGUILayout.Space();
EditorGUILayout.LabelField("or with command line");
_commandLine = EditorGUILayout.TextArea(_commandLine);
if (GUILayout.Button($"Build with \'{_commandLine}\'"))
{
string[] commands = _commandLine.Split(' ');
for (int i = 0; i < commands.Length; i++)
{
string command = commands[i];
bool hasNextCommand = i + 1 < commands.Length;
if (command.StartsWith("-"))
{
if (hasNextCommand)
{
Environment.SetEnvironmentVariable(command, commands[i + 1]);
}
else
{
Environment.SetEnvironmentVariable(command, "");
}
}
}

UnityBuilder.AddCommandLine(_commandLine);
UnityBuilder.Build();
}
}
Expand Down
190 changes: 0 additions & 190 deletions Editor/BuildConfig/BuildConfig.cs

This file was deleted.

Loading

0 comments on commit 10b7ba5

Please sign in to comment.