Skip to content

Commit 40ae5a6

Browse files
committed
* Update build script
1 parent 1c2d1e5 commit 40ae5a6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2579
-1
lines changed

.gitignore

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[Ll]ibrary/
2+
[Tt]emp/
3+
[Oo]bj/
4+
[Bb]uild/
5+
[Bb]uilds/
6+
.gradle/
7+
Logs/*
8+
9+
# Visual Studio cache directory
10+
.vs/
11+
12+
# Autogenerated VS/MD/Consulo solution and project files
13+
ExportedObj/
14+
.consulo/
15+
*.csproj
16+
*.unityproj
17+
*.sln
18+
*.suo
19+
*.tmp
20+
*.user
21+
*.userprefs
22+
*.pidb
23+
*.booproj
24+
*.svd
25+
*.pdb
26+
*.opendb
27+
28+
# Unity3D generated meta files
29+
*.pidb.meta
30+
*.pdb.meta
31+
32+
# Unity3D Generated File On Crash Reports
33+
sysinfo.txt
34+
35+
# Builds
36+
*.apk
37+
*.unitypackage
38+
.DS_Store

Assets/Scenes.meta

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

Assets/Scenes/SampleScene.unity

+188
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!29 &1
4+
OcclusionCullingSettings:
5+
m_ObjectHideFlags: 0
6+
serializedVersion: 2
7+
m_OcclusionBakeSettings:
8+
smallestOccluder: 5
9+
smallestHole: 0.25
10+
backfaceThreshold: 100
11+
m_SceneGUID: 00000000000000000000000000000000
12+
m_OcclusionCullingData: {fileID: 0}
13+
--- !u!104 &2
14+
RenderSettings:
15+
m_ObjectHideFlags: 0
16+
serializedVersion: 9
17+
m_Fog: 0
18+
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19+
m_FogMode: 3
20+
m_FogDensity: 0.01
21+
m_LinearFogStart: 0
22+
m_LinearFogEnd: 300
23+
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24+
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25+
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26+
m_AmbientIntensity: 1
27+
m_AmbientMode: 3
28+
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29+
m_SkyboxMaterial: {fileID: 0}
30+
m_HaloStrength: 0.5
31+
m_FlareStrength: 1
32+
m_FlareFadeSpeed: 3
33+
m_HaloTexture: {fileID: 0}
34+
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35+
m_DefaultReflectionMode: 0
36+
m_DefaultReflectionResolution: 128
37+
m_ReflectionBounces: 1
38+
m_ReflectionIntensity: 1
39+
m_CustomReflection: {fileID: 0}
40+
m_Sun: {fileID: 0}
41+
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42+
m_UseRadianceAmbientProbe: 0
43+
--- !u!157 &3
44+
LightmapSettings:
45+
m_ObjectHideFlags: 0
46+
serializedVersion: 11
47+
m_GIWorkflowMode: 1
48+
m_GISettings:
49+
serializedVersion: 2
50+
m_BounceScale: 1
51+
m_IndirectOutputScale: 1
52+
m_AlbedoBoost: 1
53+
m_TemporalCoherenceThreshold: 1
54+
m_EnvironmentLightingMode: 0
55+
m_EnableBakedLightmaps: 0
56+
m_EnableRealtimeLightmaps: 0
57+
m_LightmapEditorSettings:
58+
serializedVersion: 10
59+
m_Resolution: 2
60+
m_BakeResolution: 40
61+
m_AtlasSize: 1024
62+
m_AO: 0
63+
m_AOMaxDistance: 1
64+
m_CompAOExponent: 1
65+
m_CompAOExponentDirect: 0
66+
m_Padding: 2
67+
m_LightmapParameters: {fileID: 0}
68+
m_LightmapsBakeMode: 1
69+
m_TextureCompression: 1
70+
m_FinalGather: 0
71+
m_FinalGatherFiltering: 1
72+
m_FinalGatherRayCount: 256
73+
m_ReflectionCompression: 2
74+
m_MixedBakeMode: 2
75+
m_BakeBackend: 0
76+
m_PVRSampling: 1
77+
m_PVRDirectSampleCount: 32
78+
m_PVRSampleCount: 500
79+
m_PVRBounces: 2
80+
m_PVRFilterTypeDirect: 0
81+
m_PVRFilterTypeIndirect: 0
82+
m_PVRFilterTypeAO: 0
83+
m_PVRFilteringMode: 1
84+
m_PVRCulling: 1
85+
m_PVRFilteringGaussRadiusDirect: 1
86+
m_PVRFilteringGaussRadiusIndirect: 5
87+
m_PVRFilteringGaussRadiusAO: 2
88+
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
89+
m_PVRFilteringAtrousPositionSigmaIndirect: 2
90+
m_PVRFilteringAtrousPositionSigmaAO: 1
91+
m_ShowResolutionOverlay: 1
92+
m_LightingDataAsset: {fileID: 0}
93+
m_UseShadowmask: 1
94+
--- !u!196 &4
95+
NavMeshSettings:
96+
serializedVersion: 2
97+
m_ObjectHideFlags: 0
98+
m_BuildSettings:
99+
serializedVersion: 2
100+
agentTypeID: 0
101+
agentRadius: 0.5
102+
agentHeight: 2
103+
agentSlope: 45
104+
agentClimb: 0.4
105+
ledgeDropHeight: 0
106+
maxJumpAcrossDistance: 0
107+
minRegionArea: 2
108+
manualCellSize: 0
109+
cellSize: 0.16666667
110+
manualTileSize: 0
111+
tileSize: 256
112+
accuratePlacement: 0
113+
debug:
114+
m_Flags: 0
115+
m_NavMeshData: {fileID: 0}
116+
--- !u!1 &519420028
117+
GameObject:
118+
m_ObjectHideFlags: 0
119+
m_PrefabParentObject: {fileID: 0}
120+
m_PrefabInternal: {fileID: 0}
121+
serializedVersion: 5
122+
m_Component:
123+
- component: {fileID: 519420032}
124+
- component: {fileID: 519420031}
125+
- component: {fileID: 519420029}
126+
m_Layer: 0
127+
m_Name: Main Camera
128+
m_TagString: MainCamera
129+
m_Icon: {fileID: 0}
130+
m_NavMeshLayer: 0
131+
m_StaticEditorFlags: 0
132+
m_IsActive: 1
133+
--- !u!81 &519420029
134+
AudioListener:
135+
m_ObjectHideFlags: 0
136+
m_PrefabParentObject: {fileID: 0}
137+
m_PrefabInternal: {fileID: 0}
138+
m_GameObject: {fileID: 519420028}
139+
m_Enabled: 1
140+
--- !u!20 &519420031
141+
Camera:
142+
m_ObjectHideFlags: 0
143+
m_PrefabParentObject: {fileID: 0}
144+
m_PrefabInternal: {fileID: 0}
145+
m_GameObject: {fileID: 519420028}
146+
m_Enabled: 1
147+
serializedVersion: 2
148+
m_ClearFlags: 2
149+
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
150+
m_NormalizedViewPortRect:
151+
serializedVersion: 2
152+
x: 0
153+
y: 0
154+
width: 1
155+
height: 1
156+
near clip plane: 0.3
157+
far clip plane: 1000
158+
field of view: 60
159+
orthographic: 1
160+
orthographic size: 5
161+
m_Depth: -1
162+
m_CullingMask:
163+
serializedVersion: 2
164+
m_Bits: 4294967295
165+
m_RenderingPath: -1
166+
m_TargetTexture: {fileID: 0}
167+
m_TargetDisplay: 0
168+
m_TargetEye: 0
169+
m_HDR: 1
170+
m_AllowMSAA: 0
171+
m_AllowDynamicResolution: 0
172+
m_ForceIntoRT: 0
173+
m_OcclusionCulling: 0
174+
m_StereoConvergence: 10
175+
m_StereoSeparation: 0.022
176+
--- !u!4 &519420032
177+
Transform:
178+
m_ObjectHideFlags: 0
179+
m_PrefabParentObject: {fileID: 0}
180+
m_PrefabInternal: {fileID: 0}
181+
m_GameObject: {fileID: 519420028}
182+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
183+
m_LocalPosition: {x: 0, y: 0, z: -10}
184+
m_LocalScale: {x: 1, y: 1, z: 1}
185+
m_Children: []
186+
m_Father: {fileID: 0}
187+
m_RootOrder: 0
188+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

Assets/Scenes/SampleScene.unity.meta

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

Assets/Scipts.meta

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

Assets/Scipts/Editor.meta

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

Assets/Scipts/Editor/BuildActions.cs

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
using System.Collections.Generic;
2+
using System.IO;
3+
using UnityEditor;
4+
using UnityEditor.Build.Reporting;
5+
using UnityEngine;
6+
7+
namespace Game {
8+
9+
/// <summary>
10+
/// Actions for command line build
11+
/// </summary>
12+
public class BuildActions {
13+
14+
/// <summary>
15+
/// Get name from here or Config
16+
/// </summary>
17+
static string GAME_NAME = "my_game";
18+
19+
/// <summary>
20+
/// App version
21+
/// </summary>
22+
static string VERSION = Application.version;
23+
24+
/// <summary>
25+
/// Current project source path
26+
/// </summary>
27+
public static string APP_FOLDER = Directory.GetCurrentDirectory ();
28+
29+
/// <summary>
30+
/// Android files path
31+
/// </summary>
32+
public static string ANDROID_FOLDER = string.Format ("{0}/Builds/Android/", APP_FOLDER);
33+
34+
/// <summary>
35+
/// Android dev filename
36+
/// </summary>
37+
public static string ANDROID_DEVELOPMENT_FILE = string.Format ("{0}/Builds/Android/{1}.{2}.development.apk", APP_FOLDER, GAME_NAME, VERSION);
38+
39+
/// <summary>
40+
/// Android release filename
41+
/// </summary>
42+
public static string ANDROID_RELEASE_FILE = string.Format ("{0}/Builds/Android/{1}.{2}.release.apk", APP_FOLDER, GAME_NAME, VERSION);
43+
44+
/// <summary>
45+
/// iOS files path
46+
/// </summary>
47+
public static string IOS_FOLDER = string.Format ("{0}/Builds/iOS/", APP_FOLDER);
48+
49+
/// <summary>
50+
/// iOS dev path
51+
/// </summary>
52+
public static string IOS_DEVELOPMENT_FOLDER = string.Format ("{0}/Builds/iOS/build/development", APP_FOLDER);
53+
54+
/// <summary>
55+
/// iOS release path
56+
/// </summary>
57+
public static string IOS_RELEASE_FOLDER = string.Format ("{0}/Builds/iOS/build/release", APP_FOLDER);
58+
59+
/// <summary>
60+
/// Get active scene list
61+
/// </summary>
62+
static string[] GetScenes () {
63+
List<string> scenes = new List<string> ();
64+
for (int i = 0; i < EditorBuildSettings.scenes.Length; i++) {
65+
if (EditorBuildSettings.scenes[i].enabled) {
66+
scenes.Add (EditorBuildSettings.scenes[i].path);
67+
}
68+
}
69+
return scenes.ToArray ();
70+
}
71+
72+
/// <summary>
73+
/// Run iOS development build
74+
/// </summary>
75+
static void iOSDevelopment () {
76+
PlayerSettings.SetScriptingBackend (BuildTargetGroup.iOS, ScriptingImplementation.IL2CPP);
77+
PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.iOS, "DEV");
78+
EditorUserBuildSettings.SwitchActiveBuildTarget (BuildTargetGroup.iOS, BuildTarget.iOS);
79+
EditorUserBuildSettings.development = true;
80+
BuildReport report = BuildPipeline.BuildPlayer (GetScenes(), IOS_FOLDER, BuildTarget.iOS, BuildOptions.None);
81+
int code = (report.summary.result == BuildResult.Succeeded) ? 0 : 1;
82+
EditorApplication.Exit (code);
83+
}
84+
85+
/// <summary>
86+
/// Run iOS release build
87+
/// </summary>
88+
static void iOSRelease () {
89+
PlayerSettings.SetScriptingBackend (BuildTargetGroup.iOS, ScriptingImplementation.IL2CPP);
90+
PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.iOS, null);
91+
EditorUserBuildSettings.SwitchActiveBuildTarget (BuildTargetGroup.iOS, BuildTarget.iOS);
92+
BuildReport report = BuildPipeline.BuildPlayer (GetScenes(), IOS_FOLDER, BuildTarget.iOS, BuildOptions.None);
93+
int code = (report.summary.result == BuildResult.Succeeded) ? 0 : 1;
94+
EditorApplication.Exit (code);
95+
}
96+
97+
/// <summary>
98+
/// Run android development build
99+
/// </summary>
100+
static void AndroidDevelopment () {
101+
PlayerSettings.SetScriptingBackend (BuildTargetGroup.Android, ScriptingImplementation.IL2CPP);
102+
PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.Android, "DEV");
103+
EditorUserBuildSettings.SwitchActiveBuildTarget (BuildTargetGroup.Android, BuildTarget.Android);
104+
EditorUserBuildSettings.development = true;
105+
EditorUserBuildSettings.androidETC2Fallback = AndroidETC2Fallback.Quality32Bit;
106+
BuildReport report = BuildPipeline.BuildPlayer (GetScenes(), ANDROID_DEVELOPMENT_FILE, BuildTarget.Android, BuildOptions.None);
107+
int code = (report.summary.result == BuildResult.Succeeded) ? 0 : 1;
108+
EditorApplication.Exit (code);
109+
}
110+
111+
/// <summary>
112+
/// Run android release build
113+
/// </summary>
114+
static void AndroidRelease () {
115+
PlayerSettings.SetScriptingBackend (BuildTargetGroup.Android, ScriptingImplementation.IL2CPP);
116+
PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.Android, null);
117+
EditorUserBuildSettings.SwitchActiveBuildTarget (BuildTargetGroup.Android, BuildTarget.Android);
118+
EditorUserBuildSettings.androidETC2Fallback = AndroidETC2Fallback.Quality32Bit;
119+
BuildReport report = BuildPipeline.BuildPlayer (GetScenes(), ANDROID_RELEASE_FILE, BuildTarget.Android, BuildOptions.None);
120+
int code = (report.summary.result == BuildResult.Succeeded) ? 0 : 1;
121+
EditorApplication.Exit (code);
122+
}
123+
}
124+
125+
}

0 commit comments

Comments
 (0)