예제 #1
0
        public void IncrementalDesignTimeBuild()
        {
            var proj = new XamarinFormsAndroidApplicationProject();

            using (var b = CreateApkBuilder(Path.Combine("temp", TestName))) {
                b.Target = "SetupDependenciesForDesigner";
                Assert.IsTrue(b.Build(proj, parameters: DesignerParameters), $"{b.Target} should have succeeded.");

                // Change a layout, DTB
                proj.LayoutMain = proj.LayoutMain.Replace("@string/hello", "hello");
                proj.Touch("Resources\\layout\\Main.axml");
                Assert.IsTrue(b.DesignTimeBuild(proj, target: "UpdateGeneratedFiles"), "DTB should have succeeded.");

                var resourcepathscache = Path.Combine(Root, b.ProjectDirectory, proj.IntermediateOutputPath, "designtime", "libraryprojectimports.cache");
                FileAssert.Exists(resourcepathscache);
                var doc = XDocument.Load(resourcepathscache);
                Assert.AreEqual(40, doc.Root.Element("Jars").Elements("Jar").Count(), "libraryprojectimports.cache did not contain expected jar files");
            }
        }