public override bool Execute()
        {
            if (!File.Exists(CacheFile))
            {
                Log.LogDebugMessage("{0} does not exist. No Additional Resources found", CacheFile);
                return(!Log.HasLoggedErrors);
            }
            var doc = XDocument.Load(CacheFile);

            AdditionalAndroidResourcePaths = doc.GetPaths("AdditionalAndroidResourcePaths",
                                                          "AdditionalAndroidResourcePath");
            AdditionalJavaLibraryReferences = doc.GetPaths("AdditionalJavaLibraryReferences",
                                                           "AdditionalJavaLibraryReference");
            AdditionalNativeLibraryReferences = doc.GetPaths("AdditionalNativeLibraryReferences",
                                                             "AdditionalNativeLibraryReference");

            Log.LogDebugTaskItems("  AdditionalAndroidResourcePaths: ", AdditionalAndroidResourcePaths);
            Log.LogDebugTaskItems("  AdditionalJavaLibraryReferences: ", AdditionalJavaLibraryReferences);
            Log.LogDebugTaskItems("  AdditionalNativeLibraryReferences: ", AdditionalNativeLibraryReferences);

            IsResourceCacheValid = AdditionalAndroidResourcePaths.All(x => Directory.Exists(x)) &&
                                   AdditionalJavaLibraryReferences.All(x => File.Exists(x)) &&
                                   AdditionalNativeLibraryReferences.All(x => File.Exists(x));

            Log.LogDebugMessage("  IsValid: {0}", IsResourceCacheValid);

            return(!Log.HasLoggedErrors);
        }
示例#2
0
		private void AddAdditionalNativeLibraries (ArchiveFileList files, string [] supportedAbis)
		{
			if (AdditionalNativeLibraryReferences == null || !AdditionalNativeLibraryReferences.Any ())
				return;

			var libs = AdditionalNativeLibraryReferences
				.Select (l => new LibInfo { Path = l.ItemSpec, Abi = AndroidRidAbiHelper.GetNativeLibraryAbi (l) });

			AddNativeLibraries (files, supportedAbis, libs);
		}