public static void CopyFromTempToMain() { DirectoryInfo tempUnityLibraryInfo = new DirectoryInfo(Path.Combine(EditorDataObject.GetAbsolutePathFromProjectRelative(EditorDataObject.GetInstanceInEditor().buildTempPathRelativeToProj), "unityLibrary")); DirectoryInfo mainUnityLibraryInfo = new DirectoryInfo(Path.Combine(EditorDataObject.GetAbsolutePathFromProjectRelative(EditorDataObject.GetInstanceInEditor().buildOutPathRelativeToProj), "unityLibrary")); FileUtil.DeleteFileOrDirectory(mainUnityLibraryInfo.FullName); CopyAll(tempUnityLibraryInfo, mainUnityLibraryInfo); }
public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) { Debug.Log(pathToBuiltProject); if (pathToBuiltProject.Equals(EditorDataObject.GetAbsolutePathFromProjectRelative(EditorDataObject.GetInstanceInEditor().buildTempPathRelativeToProj))) { CopyFromTempToMain(); ModifyGradleFile(); } }
public static void ModifyGradleFile() { string gradlePath = Path.Combine( EditorDataObject.GetAbsolutePathFromProjectRelative(EditorDataObject.GetInstanceInEditor() .buildOutPathRelativeToProj), "unityLibrary", "build.gradle"); File.WriteAllText(gradlePath, File.ReadAllText(gradlePath).Replace("implementation(name", "api(name")); }
public static EditorDataObject GetInstanceInEditor() { if (!File.Exists(GetAbsolutePathFromProjectRelative(DefaultObjectPath))) { EditorDataObject asset = ScriptableObject.CreateInstance <EditorDataObject>(); AssetDatabase.CreateAsset(asset, DefaultObjectPath); AssetDatabase.SaveAssets(); } return(AssetDatabase.LoadAssetAtPath <EditorDataObject>(EditorDataObject.DefaultObjectPath)); }
public static void Build() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { EditorDataObject.GetInstanceInEditor().buildMainScenePathRelativeToProj }; buildPlayerOptions.locationPathName = EditorDataObject.GetAbsolutePathFromProjectRelative(EditorDataObject.GetInstanceInEditor() .buildTempPathRelativeToProj); buildPlayerOptions.target = BuildTarget.Android; buildPlayerOptions.targetGroup = BuildTargetGroup.Android; buildPlayerOptions.options = BuildOptions.None; BuildPipeline.BuildPlayer(buildPlayerOptions); }