diff --git a/build.cake b/build.cake index 9a53b80..5489808 100644 --- a/build.cake +++ b/build.cake @@ -6,7 +6,7 @@ #addin nuget:?package=Cake.Json #addin nuget:?package=Cake.XCode #addin nuget:?package=Cake.Xamarin -#addin nuget:?package=Cake.Xamarin.Build&version=1.1.8 +#addin nuget:?package=Cake.Xamarin.Build&version=1.1.13 #addin nuget:?package=Cake.FileHelpers #addin nuget:?package=Cake.MonoApiTools @@ -15,14 +15,14 @@ LogSystemInfo (); var TARGET = Argument ("t", Argument ("target", "Default")); -var NUGET_VERSION = "25.1.0"; -var COMPONENT_VERSION = "25.1.0.0"; -var AAR_VERSION = "25.1.0"; +var NUGET_VERSION = "25.1.1"; +var COMPONENT_VERSION = "25.1.1.0"; +var AAR_VERSION = "25.1.1"; // FROM: https://dl.google.com/android/repository/addon.xml // FROM: https://dl.google.com/android/repository/addon2-1.xml -var M2_REPOSITORY_URL = "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip"; -var M2_REPOSITORY_SHA1 = "782e7233f18c890463e8602571d304e680ce354c"; +var M2_REPOSITORY_URL = "https://dl-ssl.google.com/android/repository/android_m2repository_r42.zip"; +var M2_REPOSITORY_SHA1 = "175c56e2e2aa6fec560430318f56ed98eaeaea04"; var BUILD_TOOLS_URL = "https://dl-ssl.google.com/android/repository/build-tools_r25-macosx.zip"; //var DOCS_URL = "https://dl-ssl.google.com/android/repository/docs-23_r01.zip"; var ANDROID_SDK_VERSION = IsRunningOnWindows () ? "v7.0" : "android-24"; @@ -329,14 +329,24 @@ Task ("component-setup").Does (() => } }); - -Task ("nuget-setup").IsDependentOn ("buildtasks").Does (() => { +Task ("nuget-setup").IsDependentOn ("buildtasks").IsDependentOn ("externals") + .WithCriteria (!FileExists ("./generated.targets")).Does (() => { var templateText = FileReadText ("./template.targets"); if (FileExists ("./generated.targets")) DeleteFile ("./generated.targets"); - var downloadParts = DeserializeJsonFromFile> ("./partial-download-info.json"); + // Get the zip file offsets for the relevant aar's + var downloadParts = FindZipEntries ("./externals/m2repository.zip") + .Where (e => e.EntryName.Contains (AAR_VERSION) + && (e.EntryName.Contains (".aar") || e.EntryName.Contains (".jar"))) + .Select (e => new PartialZipInfo { + RangeStart = e.RangeStart, + RangeEnd = e.RangeEnd, + Url = M2_REPOSITORY_URL, + LocalPath = e.EntryName, + Md5 = ReadZipEntryText ("./externals/m2repository.zip", e.EntryName + ".md5", readBinaryAsHex: false) + }).ToList (); foreach (var aar in AAR_INFOS) { diff --git a/design/samples/Cheesesquare.UITests/Tests.cs b/design/samples/Cheesesquare.UITests/Tests.cs index a7dbba8..052220e 100644 --- a/design/samples/Cheesesquare.UITests/Tests.cs +++ b/design/samples/Cheesesquare.UITests/Tests.cs @@ -26,7 +26,7 @@ namespace Cheesesquare.UITests public void ClickingHamburgerShouldRevealDrawer () { app.Screenshot ("Launch"); - app.Tap(t => t.Class("ImageButton")); + app.Tap(t => t.Marked("Navigate up")); app.WaitForElement(t => t.Text("Discussion")); app.Screenshot ("Tap Hamburger"); } @@ -36,8 +36,6 @@ namespace Cheesesquare.UITests { app.Screenshot ("Launch"); app.Tap (q => q.Id ("fab")); - app.Screenshot ("Tap Button"); - app.WaitForElement (q => q.Id ("snackbar_text")); app.Screenshot ("Snackbar"); } diff --git a/partial-download-info.json b/partial-download-info.json deleted file mode 100644 index 5e8080d..0000000 --- a/partial-download-info.json +++ /dev/null @@ -1,202 +0,0 @@ -[ - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 855210, - "LocalPath": "m2repository/com/android/support/support-core-ui/25.1.0/support-core-ui-25.1.0.aar", - "CompressedSize": 242129, - "Md5": "a1b9a5cdd0c4efb5244d745400c17e30", - "RangeEnd": 1097339 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 2909316, - "LocalPath": "m2repository/com/android/support/preference-leanback-v17/25.1.0/preference-leanback-v17-25.1.0.aar", - "CompressedSize": 58405, - "Md5": "33971de5c8e150c82258dccabace40eb", - "RangeEnd": 2967721 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 3668018, - "LocalPath": "m2repository/com/android/support/support-core-utils/25.1.0/support-core-utils-25.1.0.aar", - "CompressedSize": 93844, - "Md5": "86e5fe71d5b6dc0fa311576b7e106121", - "RangeEnd": 3761862 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 4599976, - "LocalPath": "m2repository/com/android/support/support-fragment/25.1.0/support-fragment-25.1.0.aar", - "CompressedSize": 155124, - "Md5": "f7943077aff98bd31011d3104e290897", - "RangeEnd": 4755100 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 5558090, - "LocalPath": "m2repository/com/android/support/animated-vector-drawable/25.1.0/animated-vector-drawable-25.1.0.aar", - "CompressedSize": 11650, - "Md5": "e18ba77020c032d02eae45c01277c5ea", - "RangeEnd": 5569740 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 5679585, - "LocalPath": "m2repository/com/android/support/exifinterface/25.1.0/exifinterface-25.1.0.aar", - "CompressedSize": 40953, - "Md5": "014c326f4bce818f34567aad71ce51d1", - "RangeEnd": 5720538 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 8358837, - "LocalPath": "m2repository/com/android/support/support-compat/25.1.0/support-compat-25.1.0.aar", - "CompressedSize": 635375, - "Md5": "7ebd02d23523e372f64ee297d806a027", - "RangeEnd": 8994212 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 11974031, - "LocalPath": "m2repository/com/android/support/preference-v14/25.1.0/preference-v14-25.1.0.aar", - "CompressedSize": 61098, - "Md5": "0dad4580e11b63df9c2365fa5eaba777", - "RangeEnd": 12035129 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 16715499, - "LocalPath": "m2repository/com/android/support/support-media-compat/25.1.0/support-media-compat-25.1.0.aar", - "CompressedSize": 261802, - "Md5": "1ff8b21f08dc763d4f50c942084ff389", - "RangeEnd": 16977301 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 18624647, - "LocalPath": "m2repository/com/android/support/palette-v7/25.1.0/palette-v7-25.1.0.aar", - "CompressedSize": 22106, - "Md5": "657c9421469f3ea625a0ca7a44a899f7", - "RangeEnd": 18646753 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 64189953, - "LocalPath": "m2repository/com/android/support/support-v4/25.1.0/support-v4-25.1.0.aar", - "CompressedSize": 1329, - "Md5": "89db2ca9457f7b41c4053ebf9d0cb918", - "RangeEnd": 64191282 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 70778986, - "LocalPath": "m2repository/com/android/support/customtabs/25.1.0/customtabs-25.1.0.aar", - "CompressedSize": 26058, - "Md5": "13bb68da08186b1030b7f98c6e0266f2", - "RangeEnd": 70805044 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 71452717, - "LocalPath": "m2repository/com/android/support/transition/25.1.0/transition-25.1.0.aar", - "CompressedSize": 89785, - "Md5": "7e12edf70eddd5f58ce41215a6aeed9d", - "RangeEnd": 71542502 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 82515005, - "LocalPath": "m2repository/com/android/support/mediarouter-v7/25.1.0/mediarouter-v7-25.1.0.aar", - "CompressedSize": 454978, - "Md5": "b540298a8f87a23b3a2d601f7e70976e", - "RangeEnd": 82969983 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 86382786, - "LocalPath": "m2repository/com/android/support/support-vector-drawable/25.1.0/support-vector-drawable-25.1.0.aar", - "CompressedSize": 38231, - "Md5": "1f708749cd482a7533f4d19ad0c1b489", - "RangeEnd": 86421017 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 87841894, - "LocalPath": "m2repository/com/android/support/support-v13/25.1.0/support-v13-25.1.0.aar", - "CompressedSize": 45882, - "Md5": "bd9b53a00cfad07a1643bd3457b9b438", - "RangeEnd": 87887776 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 115889077, - "LocalPath": "m2repository/com/android/support/leanback-v17/25.1.0/leanback-v17-25.1.0.aar", - "CompressedSize": 1220764, - "Md5": "dd8d0959b3cc98aef2e2172d5d240026", - "RangeEnd": 117109841 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 131077049, - "LocalPath": "m2repository/com/android/support/design/25.1.0/design-25.1.0.aar", - "CompressedSize": 367535, - "Md5": "181ec78f3b45ea885770d40e2e07384f", - "RangeEnd": 131444584 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 142967798, - "LocalPath": "m2repository/com/android/support/recyclerview-v7/25.1.0/recyclerview-v7-25.1.0.aar", - "CompressedSize": 324149, - "Md5": "1b14f9fca2e658be564b592af970dc14", - "RangeEnd": 143291947 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 147629418, - "LocalPath": "m2repository/com/android/support/preference-v7/25.1.0/preference-v7-25.1.0.aar", - "CompressedSize": 126338, - "Md5": "c05f61fba4dcc44d7278ffb37b6d74c0", - "RangeEnd": 147755756 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 272125219, - "LocalPath": "m2repository/com/android/support/gridlayout-v7/25.1.0/gridlayout-v7-25.1.0.aar", - "CompressedSize": 40539, - "Md5": "4aaefaa7f12e45a3e07c8d4e0f7ccf34", - "RangeEnd": 272165758 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 272826746, - "LocalPath": "m2repository/com/android/support/percent/25.1.0/percent-25.1.0.aar", - "CompressedSize": 12177, - "Md5": "5c708b3e266d1216b42d3f90b470e116", - "RangeEnd": 272838923 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 299722864, - "LocalPath": "m2repository/com/android/support/appcompat-v7/25.1.0/appcompat-v7-25.1.0.aar", - "CompressedSize": 938718, - "Md5": "39419baf3f6e74b1be7b5a0d36051665", - "RangeEnd": 300661582 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 307780716, - "LocalPath": "m2repository/com/android/support/cardview-v7/25.1.0/cardview-v7-25.1.0.aar", - "CompressedSize": 22469, - "Md5": "edbaf3b003285e244f56257ee49af3c8", - "RangeEnd": 307803185 - }, - { - "Url": "https://dl-ssl.google.com/android/repository/android_m2repository_r41.zip", - "RangeStart": 308236110, - "LocalPath": "m2repository/com/android/support/recommendation/25.1.0/recommendation-25.1.0.aar", - "CompressedSize": 13536, - "Md5": "b7ac11ed632c8980882344d5ffcaaa8a", - "RangeEnd": 308249646 - } -] \ No newline at end of file diff --git a/v7-appcompat/samples/AndroidSupportSample.UITests/Tests.cs b/v7-appcompat/samples/AndroidSupportSample.UITests/Tests.cs index f467f8f..9d5efe5 100644 --- a/v7-appcompat/samples/AndroidSupportSample.UITests/Tests.cs +++ b/v7-appcompat/samples/AndroidSupportSample.UITests/Tests.cs @@ -91,24 +91,20 @@ namespace AndroidSupportSample.UITests public void DisplayOptions () { app.Screenshot ("Launch"); - app.Tap(q => q.Text("Display Options")); - app.WaitForElement (q => q.Class ("Toolbar")); + app.Tap(q => q.Marked("Display Options")); + app.WaitForElement (q => q.Marked ("toggle_navigation")); app.Screenshot ("Display Options"); - app.Tap (q => q.Id ("toggle_home_as_up")); - app.WaitForElement (q => q.Class ("ImageButton")); + app.Tap (q => q.Marked ("toggle_home_as_up")); + app.WaitForElement (q => q.Marked ("Navigate up")); app.Screenshot ("Toggle Home as Up"); - app.Tap (q => q.Id ("toggle_show_title")); - app.WaitForNoElement (q => q.Text ("Display Options")); + app.Tap (q => q.Marked ("toggle_show_title")); + app.WaitForNoElement (q => q.Marked ("Display Options")); app.Screenshot ("Hide Title"); - app.Tap (q => q.Id ("toggle_show_title")); - app.WaitForElement (q => q.Text ("Display Options")); + app.Tap (q => q.Marked ("toggle_show_title")); + app.WaitForElement (q => q.Marked ("Display Options")); app.Screenshot ("Show Title"); - - app.Tap (q => q.Id ("toggle_visibility")); - app.WaitForNoElement (q => q.Class ("Toolbar")); - app.Screenshot ("Hide Toolbar"); } [Test] diff --git a/v7-gridlayout/samples/AndroidSupportSample.UITests/Tests.cs b/v7-gridlayout/samples/AndroidSupportSample.UITests/Tests.cs index 6336d80..7f69afe 100644 --- a/v7-gridlayout/samples/AndroidSupportSample.UITests/Tests.cs +++ b/v7-gridlayout/samples/AndroidSupportSample.UITests/Tests.cs @@ -22,7 +22,7 @@ namespace AndroidSupportSample.UITests .StartApp (); } -// [Test] + [Test] public void Repl () { app.Repl (); @@ -55,13 +55,13 @@ namespace AndroidSupportSample.UITests } [Test] - public void FormJava () + public void FormCSharp () { app.Screenshot ("Launch"); - app.Tap (q => q.Text ("3. Form (Java)")); - app.Screenshot ("Tap 3. Form (Java)"); + app.Tap (q => q.Text ("3. Form (C#)")); + app.Screenshot ("Tap 3. Form (C#)"); app.WaitForElement (q => q.Class ("GridLayout")); - app.Screenshot ("Form Java"); + app.Screenshot ("Form C#"); } } } diff --git a/v7-preference/samples/AndroidSupportSample.UITests/Tests.cs b/v7-preference/samples/AndroidSupportSample.UITests/Tests.cs index 46d7e13..5bbc38a 100644 --- a/v7-preference/samples/AndroidSupportSample.UITests/Tests.cs +++ b/v7-preference/samples/AndroidSupportSample.UITests/Tests.cs @@ -22,7 +22,7 @@ namespace AndroidSupportSample.UITests .StartApp (); } - //[Test] + [Test] public void Repl () { app.Repl (); @@ -32,8 +32,28 @@ namespace AndroidSupportSample.UITests public void AppLaunches () { app.Screenshot ("Launch"); - app.WaitForElement (q => q.Class ("PercentFrameLayout")); + app.WaitForElement (q => q.Marked ("List Preference")); } + + [Test] + public void ListPreference() + { + app.Screenshot("Launch"); + app.WaitForElement(q => q.Marked("List Preference")); + app.Tap(q => q.Marked("List Preference")); + app.WaitForElement(q => q.Marked("Three")); + app.Screenshot("List Preference"); + } + + [Test] + public void EditTextPreference() + { + app.Screenshot("Launch"); + app.WaitForElement(q => q.Marked("Edit Text Preference")); + app.Tap(q => q.Marked("Edit Text Preference")); + app.WaitForElement(q => q.Marked("Dialog Title Edit Text Preference")); + app.Screenshot("Edit Text Preference"); + } } }