示例#1
0
        private static void ResolveBinaryLibs(AN_AndroidBuildRequirements requirements)
        {
            if (AN_Settings.Instance.UseUnityJarResolver)
            {
                AN_Dependencies.Resolve(requirements.BinaryDependencies);
                SA_AssetDatabase.DeleteAsset(AN_Settings.ANDROID_MAVEN_FOLDER);
            }
            else
            {
                AN_Dependencies.Resolve(new List <AN_BinaryDependency>());


                List <string> repositorysToAdd    = new List <string>();
                List <string> repositorysToRemove = new List <string>();

                List <string> mavenLibs = SA_AssetDatabase.FindAssetsWithExtentions(AN_Settings.ANDROID_MAVEN_FOLDER);
                foreach (var lib in mavenLibs)
                {
                    //we are only interested in folder, we also assume all folders are located inside a root folder
                    if (!SA_AssetDatabase.IsValidFolder(lib))
                    {
                        continue;
                    }

                    string libName = SA_AssetDatabase.GetFileName(lib);
                    if (!requirements.HasBinaryDependency(libName))
                    {
                        repositorysToRemove.Add(libName);
                    }
                }

                foreach (var dep in requirements.BinaryDependencies)
                {
                    string libPath = AN_Settings.ANDROID_MAVEN_FOLDER + dep.GetLocalRepositoryName();
                    if (!SA_AssetDatabase.IsDirectoryExists(libPath))
                    {
                        string localRepositoryName = dep.GetLocalRepositoryName();
                        if (!repositorysToAdd.Contains(localRepositoryName))
                        {
                            repositorysToAdd.Add(localRepositoryName);
                        }
                    }
                }

                SA_PluginsEditor.UninstallLibs(AN_Settings.ANDROID_MAVEN_FOLDER, repositorysToRemove);

                foreach (var lib in repositorysToAdd)
                {
                    string source      = AN_Settings.ANDROID_MAVEN_FOLDER_DISABLED + lib;
                    string destination = AN_Settings.ANDROID_MAVEN_FOLDER + lib;
                    SA_PluginsEditor.InstallLibFolder(source, destination);
                }
            }
        }
示例#2
0
        //--------------------------------------
        // Private Methods
        //--------------------------------------

        private void Enable()
        {
            //There is no additional lib dependensies for this API
            if (string.IsNullOrEmpty(LibFolder))
            {
                return;
            }

            string source      = ISN_Settings.IOS_NATIVE_XCODE_SOURCE + LibFolder;
            string destination = LibFolderPath;

            SA_PluginsEditor.InstallLibFolder(source, destination);
        }