public override bool Execute()
        {
            if (ProjectFiles.Length != 1)
            {
                Log.LogError("More than one Android Wear project is specified as the paired project. It can be at most one.");
            }

            var wearProj    = ProjectFiles.First();
            var manifestXml = XDocument.Load(wearProj.ItemSpec)
                              .Root.Elements(msbuildNS + "PropertyGroup").Elements(msbuildNS + "AndroidManifest").Select(e => e.Value).FirstOrDefault();

            if (string.IsNullOrEmpty(manifestXml))
            {
                Log.LogError("Target Wear application's project '{0}' does not specify required 'AndroidManifest' project property.", wearProj);
            }
            manifestXml = Path.Combine(Path.GetDirectoryName(wearProj.ItemSpec), manifestXml.Replace('\\', Path.DirectorySeparatorChar));

            ApplicationManifestFile = manifestXml;

            Log.LogDebugMessage("  [Output] ApplicationManifestFile: " + ApplicationManifestFile);

            ApplicationPackageName = AndroidAppManifest.CanonicalizePackageName(XDocument.Load(manifestXml).Root.Attributes("package").Select(a => a.Value).FirstOrDefault());
            if (string.IsNullOrEmpty(ApplicationPackageName))
            {
                Log.LogError("Target Wear application's AndroidManifest.xml does not specify required 'package' attribute.");
            }

            Log.LogDebugMessage("  [Output] ApplicationPackageName: " + ApplicationPackageName);
            return(true);
        }
Beispiel #2
0
        public override bool RunTask()
        {
            if (ProjectFiles.Length != 1)
            {
                Log.LogCodedError("XA1015", Properties.Resources.XA1015);
            }

            var wearProj    = ProjectFiles.First();
            var manifestXml = XDocument.Load(wearProj.ItemSpec)
                              .Root.Elements(msbuildNS + "PropertyGroup").Elements(msbuildNS + "AndroidManifest").Select(e => e.Value).FirstOrDefault();

            if (string.IsNullOrEmpty(manifestXml))
            {
                Log.LogCodedError("XA1016", Properties.Resources.XA1016, wearProj);
            }
            manifestXml = Path.Combine(Path.GetDirectoryName(wearProj.ItemSpec), manifestXml.Replace('\\', Path.DirectorySeparatorChar));

            ApplicationManifestFile = manifestXml;

            Log.LogDebugMessage("  [Output] ApplicationManifestFile: " + ApplicationManifestFile);

            ApplicationPackageName = AndroidAppManifest.CanonicalizePackageName(XDocument.Load(manifestXml).Root.Attributes("package").Select(a => a.Value).FirstOrDefault());
            if (string.IsNullOrEmpty(ApplicationPackageName))
            {
                Log.LogCodedError("XA1017", Properties.Resources.XA1017);
            }

            Log.LogDebugMessage("  [Output] ApplicationPackageName: " + ApplicationPackageName);
            return(true);
        }