From 1ecc60d55e3a8a06a60618124dfbaf04e11817bc Mon Sep 17 00:00:00 2001 From: sgr Date: Wed, 8 Nov 2023 23:51:29 +0900 Subject: [PATCH] =?UTF-8?q?Custom=20Build=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Assets/Scripts/Editor.meta | 8 ++++ Assets/Scripts/Editor/ProjectBuilder.cs | 49 ++++++++++++++++++++ Assets/Scripts/Editor/ProjectBuilder.cs.meta | 11 +++++ 4 files changed, 69 insertions(+) create mode 100644 Assets/Scripts/Editor.meta create mode 100644 Assets/Scripts/Editor/ProjectBuilder.cs create mode 100644 Assets/Scripts/Editor/ProjectBuilder.cs.meta diff --git a/.gitignore b/.gitignore index 70774d5..9793de1 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ .vs/ .vscode/ .idea/ +.vsconfig # Gradle cache directory .gradle/ diff --git a/Assets/Scripts/Editor.meta b/Assets/Scripts/Editor.meta new file mode 100644 index 0000000..b9f157f --- /dev/null +++ b/Assets/Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad980f75b6a36d64fa86b13881be442c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/ProjectBuilder.cs b/Assets/Scripts/Editor/ProjectBuilder.cs new file mode 100644 index 0000000..a33b603 --- /dev/null +++ b/Assets/Scripts/Editor/ProjectBuilder.cs @@ -0,0 +1,49 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UnityEditor.Build.Reporting; + +/// +/// コマンドラインビルドを行う際に実行するためのエディタ拡張(GitHub Actionsでのビルド時など) +/// + +public class ProjectBuilder +{ + + [MenuItem("CustomBuild/ReleaseBuild")] + public static void ReleaseBuild() + { + Build(BuildOptions.None, BuildTarget.WebGL); + } + + [MenuItem("CustomBuild/DevelopBuild")] + public static void DevelopBuild() + { + Build(BuildOptions.Development, BuildTarget.WebGL); + } + + private static void Build(BuildOptions buildOptions, BuildTarget buildTarget) + { + BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); + // ビルド出力先 + buildPlayerOptions.locationPathName = "Build"; + // ビルドの種類 + buildPlayerOptions.options = buildOptions; + // ビルドするプラットフォームの指定 + buildPlayerOptions.target = buildTarget; + + // ビルドの実行と結果通知 + BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions); + BuildSummary summary = report.summary; + + if (summary.result == BuildResult.Succeeded) + { + Debug.Log("Build succeeded"); + } + else if (summary.result == BuildResult.Failed) + { + Debug.LogError("Build Failed"); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Editor/ProjectBuilder.cs.meta b/Assets/Scripts/Editor/ProjectBuilder.cs.meta new file mode 100644 index 0000000..d3f9d72 --- /dev/null +++ b/Assets/Scripts/Editor/ProjectBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93fe9aba4b4422842bc8c3743deb3165 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: