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"));
        }
Exemplo n.º 4
0
 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);
        }