예제 #1
0
        private static void WritePackageDependency(XmlWriter _xmlWriter, AndroidDependency _dependency)
        {
            _xmlWriter.WriteStartElement("androidPackage");
            {
                _xmlWriter.WriteAttributeString("spec", String.Format("{0}:{1}:{2}", _dependency.Group, _dependency.Artifact, _dependency.Version));

                List <string> packageIDs = _dependency.PackageIDs;

                if (packageIDs != null)
                {
                    _xmlWriter.WriteStartElement("androidSdkPackageIds");
                    {
                        foreach (string _each in packageIDs)
                        {
                            _xmlWriter.WriteStartElement("androidSdkPackageId");
                            {
                                _xmlWriter.WriteString(_each);
                            }
                            _xmlWriter.WriteEndElement();
                        }
                    }
                    _xmlWriter.WriteEndElement();
                }
            }
            _xmlWriter.WriteEndElement();
        }
예제 #2
0
        private static void CreateDependencyXML(string _path)
        {
            // Settings
            XmlWriterSettings _settings = new XmlWriterSettings();

            _settings.Encoding            = new System.Text.UTF8Encoding(true);
            _settings.ConformanceLevel    = ConformanceLevel.Document;
            _settings.Indent              = true;
            _settings.NewLineOnAttributes = true;
            _settings.IndentChars         = "\t";

            // Generate and write dependecies
            using (XmlWriter _xmlWriter = XmlWriter.Create(_path, _settings))
            {
                _xmlWriter.WriteStartDocument();
                {
                    _xmlWriter.WriteComment("DONT MODIFY HERE. AUTO GENERATED DEPENDENCIES FROM NPAndroidLibraryDependencies.cs.");

                    _xmlWriter.WriteStartElement("dependencies");
                    {
                        _xmlWriter.WriteStartElement("androidPackages");
                        {
                            if (NPSettings.Application.SupportedFeatures.UsesGameServices)
                            {
                                _xmlWriter.WriteComment("Dependency added for using Google Play Services");

                                AndroidDependency _playServicesGamesDependency = new AndroidDependency("com.google.android.gms", "play-services-games", PlayServicesVersionString);
                                _playServicesGamesDependency.AddPackageID("extra-google-m2repository");
                                _playServicesGamesDependency.AddPackageID("extra-android-m2repository");

                                WritePackageDependency(_xmlWriter, _playServicesGamesDependency);


                                AndroidDependency _playServicesNearbyDependency = new AndroidDependency("com.google.android.gms", "play-services-nearby", PlayServicesVersionString);
                                WritePackageDependency(_xmlWriter, _playServicesNearbyDependency);
                            }

                            if (NPSettings.Application.SupportedFeatures.UsesNotificationService)
                            {
                                _xmlWriter.WriteComment("Dependency added for using Notifications");

                                AndroidDependency _playServicesGCMDependency = new AndroidDependency("com.google.android.gms", "play-services-gcm", PlayServicesVersionString);
                                WritePackageDependency(_xmlWriter, _playServicesGCMDependency);
                            }

                            //https://developer.android.com/topic/libraries/support-library/packages.html
                            // Marshmallow permissions requires app-compat. Also used by some old API's for compatibility.

                            _xmlWriter.WriteComment("Dependency added for using Support Libraries");

                            AndroidDependency _supportLibraryV4Dependency = new AndroidDependency("com.android.support", "support-v4", SupportLibsVersionString);
                            WritePackageDependency(_xmlWriter, _supportLibraryV4Dependency);

                            AndroidDependency _supportLibraryExifDependency = new AndroidDependency("com.android.support", "exifinterface", SupportLibsVersionString);
                            WritePackageDependency(_xmlWriter, _supportLibraryExifDependency);
                        }
                        _xmlWriter.WriteEndElement();
                    }
                    _xmlWriter.WriteEndElement();
                }
                _xmlWriter.WriteEndDocument();
            }

            /*Google.VersionHandler.InvokeInstanceMethod(
             *      svcSupport, "DependOn",
             *      new object[] {  "com.android.support",
             *              "appcompat-v7",
             *              SupportLibsVersionString },
             *      namedArgs: null
             * );*/
        }