diff --git a/.gitignore b/.gitignore index 5a6a48d14..e430acb47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -tools/ +tools/** +!tools/packages.config bin/ obj/ packages/ @@ -18,6 +19,7 @@ output/ *.nuspec !*.template.nuspec */nuget/*.targets +!obsolete.targets Resource.designer.cs component.yaml @@ -25,3 +27,5 @@ GettingStarted.md Details.md generated.targets .droidres +cake.sh +cake.sh.commit \ No newline at end of file diff --git a/GooglePlayServices.sln b/GooglePlayServices.sln index 1fcba6dfe..8311118eb 100644 --- a/GooglePlayServices.sln +++ b/GooglePlayServices.sln @@ -21,8 +21,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast", "cast\source\Cast.cs EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drive", "drive\source\Drive.csproj", "{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fitness", "fitness\source\Fitness.csproj", "{8900C5EF-1182-4E8B-88FE-596EC2DB379D}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Location", "location\source\Location.csproj", "{F666DC89-9CE4-491C-8450-6FBC70298FA3}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}" @@ -37,8 +35,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plus", "plus\source\Plus.cs EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafetyNet", "safetynet\source\SafetyNet.csproj", "{7A015585-036A-4BD1-8D46-A669EFA89743}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SupportWearable", "support-wearable\source\SupportWearable.csproj", "{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vision", "vision\source\Vision.csproj", "{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wallet", "wallet\source\Wallet.csproj", "{7AF74235-AEE2-4F3A-AEDB-7504ED93DDC0}" @@ -95,8 +91,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement.BuildTasks.Tests", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast.Framework", "cast-framework\source\Cast.Framework.csproj", "{159A8C21-0A5B-4D99-9E07-6466F8E98AF7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Places", "places\source\Places.csproj", "{D42D621B-0370-44F6-A58E-0749629F9F4D}" @@ -109,6 +103,22 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagManager.V4.Impl", "tagma EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-AppIndexing", "firebase-appindexing\source\Firebase-AppIndexing.csproj", "{8D01CC30-64F5-4AD3-B9C8-0970B0F1D562}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Dynamic-Links", "firebase-dynamic-links\source\Firebase-Dynamic-Links.csproj", "{9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Perf", "firebase-perf\source\Firebase-Perf.csproj", "{2233FF89-3CDD-4FA5-844E-A43EDAE8463F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Auth-Api-Phone", "auth-api-phone\source\Auth-Api-Phone.csproj", "{B797EA6B-9566-4980-9665-F808C953B24D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Oss-Licenses", "oss-licenses\source\Oss-Licenses.csproj", "{DCCFBAD3-A366-4C61-B56F-DBD46D68980F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vision-Common", "vision-common\source\Vision-Common.csproj", "{148E13D5-9D81-4937-801D-A8DF043B2A4F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fitness", "fitness\source\Fitness.csproj", "{8900C5EF-1182-4E8B-88FE-596EC2DB379D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fido", "fido\source\Fido.csproj", "{B78600C5-A46A-4BEA-A060-D8074FA31469}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Firestore", "firebase-firestore\source\Firebase-Firestore.csproj", "{7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -191,18 +201,10 @@ Global {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU - {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Release|Any CPU.Build.0 = Release|Any CPU {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.Build.0 = Debug|Any CPU {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.ActiveCfg = Release|Any CPU {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.Build.0 = Release|Any CPU - {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.Build.0 = Release|Any CPU {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.Build.0 = Debug|Any CPU {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -291,10 +293,6 @@ Global {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Release|Any CPU.Build.0 = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -319,6 +317,38 @@ Global {8D01CC30-64F5-4AD3-B9C8-0970B0F1D562}.Debug|Any CPU.Build.0 = Debug|Any CPU {8D01CC30-64F5-4AD3-B9C8-0970B0F1D562}.Release|Any CPU.ActiveCfg = Release|Any CPU {8D01CC30-64F5-4AD3-B9C8-0970B0F1D562}.Release|Any CPU.Build.0 = Release|Any CPU + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE}.Release|Any CPU.Build.0 = Release|Any CPU + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F}.Release|Any CPU.Build.0 = Release|Any CPU + {B797EA6B-9566-4980-9665-F808C953B24D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B797EA6B-9566-4980-9665-F808C953B24D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B797EA6B-9566-4980-9665-F808C953B24D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B797EA6B-9566-4980-9665-F808C953B24D}.Release|Any CPU.Build.0 = Release|Any CPU + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F}.Release|Any CPU.Build.0 = Release|Any CPU + {148E13D5-9D81-4937-801D-A8DF043B2A4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {148E13D5-9D81-4937-801D-A8DF043B2A4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {148E13D5-9D81-4937-801D-A8DF043B2A4F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {148E13D5-9D81-4937-801D-A8DF043B2A4F}.Release|Any CPU.Build.0 = Release|Any CPU + {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.Build.0 = Release|Any CPU + {B78600C5-A46A-4BEA-A060-D8074FA31469}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B78600C5-A46A-4BEA-A060-D8074FA31469}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B78600C5-A46A-4BEA-A060-D8074FA31469}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B78600C5-A46A-4BEA-A060-D8074FA31469}.Release|Any CPU.Build.0 = Release|Any CPU + {7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} @@ -330,7 +360,6 @@ Global {A0CDF507-32B7-4994-8248-94FAB8646E35} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {C1A9C587-B744-44D2-AD42-14386D424667} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} - {8900C5EF-1182-4E8B-88FE-596EC2DB379D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {F666DC89-9CE4-491C-8450-6FBC70298FA3} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {5DF42846-151E-40CD-A349-C0A0C6216F7B} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} @@ -338,7 +367,6 @@ Global {9E3CD219-C950-4AA9-88E5-818F42C12566} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {A2B43C02-A237-4222-999E-3354CBB6DB8D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {7A015585-036A-4BD1-8D46-A669EFA89743} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} - {7DD8E926-9F75-4F25-95A3-920A5FF48EF8} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {72CC5E29-5EA5-40E3-98E4-87ED8AB75589} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {7AF74235-AEE2-4F3A-AEDB-7504ED93DDC0} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {92BDA198-6A78-4408-844C-CAAF4C04EAFD} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} @@ -365,12 +393,19 @@ Global {21D99A15-AB98-4691-A45B-D236B2A91DEB} = {3330092C-6EB0-4AB6-9901-2F4070E2FD81} {76CDBE93-0177-4980-8514-C4D785E1DC78} = {3330092C-6EB0-4AB6-9901-2F4070E2FD81} {159A8C21-0A5B-4D99-9E07-6466F8E98AF7} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {D705BF83-81FD-4CD9-AF3B-09C50FF42C83} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {D42D621B-0370-44F6-A58E-0749629F9F4D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {541FC839-6065-4681-B6A4-C3BF358F78E9} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {ED50788D-0553-48A2-A47A-6AD1C9DF41BE} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} {8D01CC30-64F5-4AD3-B9C8-0970B0F1D562} = {1EC5651F-83A6-4862-AED2-6BE5103652D0} + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE} = {1EC5651F-83A6-4862-AED2-6BE5103652D0} + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F} = {1EC5651F-83A6-4862-AED2-6BE5103652D0} + {B797EA6B-9566-4980-9665-F808C953B24D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} + {148E13D5-9D81-4937-801D-A8DF043B2A4F} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} + {8900C5EF-1182-4E8B-88FE-596EC2DB379D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} + {B78600C5-A46A-4BEA-A060-D8074FA31469} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E} + {7A3C38F7-AD6A-4BF4-9F63-3C0B0A82FB5A} = {1EC5651F-83A6-4862-AED2-6BE5103652D0} EndGlobalSection EndGlobal diff --git a/Metadata.Common.xml b/Metadata.Common.xml new file mode 100644 index 000000000..69f0138e1 --- /dev/null +++ b/Metadata.Common.xml @@ -0,0 +1,41 @@ + + + + Java.Lang.Object + Java.Lang.Object[] + + + + + + java.lang.Object + java.lang.Object + + + + + + + + + + + java.lang.Object + + + + + + + + + + + + + + java.lang.Object + java.lang.Object + + + \ No newline at end of file diff --git a/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec b/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec index 3666d1b74..c84004327 100644 --- a/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec +++ b/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec @@ -14,18 +14,18 @@ The Google Mobile Ads SDK is the latest generation in Google mobile advertising, featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables mobile app developers to maximize their monetization in native mobile apps. Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-ads-lite_128x128.png - + - + - + diff --git a/ads-lite/source/Ads.Lite.csproj b/ads-lite/source/Ads.Lite.csproj index 40b8d824e..ca627fad2 100644 --- a/ads-lite/source/Ads.Lite.csproj +++ b/ads-lite/source/Ads.Lite.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Ads.Lite - v7.0 + v8.0 class-parse ..\..\externals\docs\reference @@ -50,16 +49,15 @@ - - + + Transforms\Metadata.Common.xml + - - {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} @@ -72,7 +70,8 @@ - + - + + diff --git a/ads-lite/source/Properties/AssemblyInfo.cs b/ads-lite/source/Properties/AssemblyInfo.cs index c4f9577dc..465f9abcf 100644 --- a/ads-lite/source/Properties/AssemblyInfo.cs +++ b/ads-lite/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/ads-lite/source/Transforms/Metadata.generated.xml b/ads-lite/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/ads-lite/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/ads-lite/source/Transforms/Metadata.xml b/ads-lite/source/Transforms/Metadata.xml index a01213ba0..1162fb995 100644 --- a/ads-lite/source/Transforms/Metadata.xml +++ b/ads-lite/source/Transforms/Metadata.xml @@ -34,7 +34,7 @@ - + @@ -68,6 +68,9 @@ MediationBannerAdLoadedEventArgs MediationBannerAdOpenedEventArgs + false + false + ad ad @@ -97,4 +100,36 @@ + + + + + + + false + false + + + + + + + + + + diff --git a/ads-lite/source/packages.config b/ads-lite/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/ads-lite/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/ads/component/component.template.yaml b/ads/component/component.template.yaml index 008730490..ed2fb1e4f 100644 --- a/ads/component/component.template.yaml +++ b/ads/component/component.template.yaml @@ -18,7 +18,6 @@ samples: removeProjects: - Base - Basement - - Clearcut - Gass - Tasks - Ads @@ -28,7 +27,6 @@ samples: packages: - Xamarin.GooglePlayServices.Base - Xamarin.GooglePlayServices.Basement - - Xamarin.GooglePlayServices.Clearcut - Xamarin.GooglePlayServices.Gass - Xamarin.GooglePlayServices.Tasks - Xamarin.GooglePlayServices.Ads diff --git a/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec b/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec index 56558c74b..f8adfeb94 100644 --- a/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec +++ b/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec @@ -14,22 +14,20 @@ The Google Mobile Ads SDK is the latest generation in Google mobile advertising, featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables mobile app developers to maximize their monetization in native mobile apps. Copyright © Microsoft Corporation - http://components.xamarin.com/view/googleplayservices-ads/ - http://components.xamarin.com/license/googleplayservices-ads/ + https://github.com/xamarin/googleplayservicescomponents + https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-ads_128x128.png - + - - - + - + diff --git a/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj b/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj index 4ddb4d852..575deabe9 100644 --- a/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj +++ b/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj @@ -31,20 +31,15 @@ - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - - + + - - + + {BCFE5769-5799-42B3-925D-0302CF08F30C} diff --git a/ads/samples/AdMobSample.UITests/packages.config b/ads/samples/AdMobSample.UITests/packages.config deleted file mode 100644 index f55a18725..000000000 --- a/ads/samples/AdMobSample.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ads/samples/AdMobSample.sln b/ads/samples/AdMobSample.sln index f1d541997..a058964a6 100644 --- a/ads/samples/AdMobSample.sln +++ b/ads/samples/AdMobSample.sln @@ -17,8 +17,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads.Lite", "..\..\ads-lite\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "..\..\gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "..\..\clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -57,9 +55,5 @@ Global {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.Build.0 = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/ads/samples/AdMobSample/AdMobSample.csproj b/ads/samples/AdMobSample/AdMobSample.csproj index 2c2428402..6fe368381 100644 --- a/ads/samples/AdMobSample/AdMobSample.csproj +++ b/ads/samples/AdMobSample/AdMobSample.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -15,11 +14,12 @@ Resource Resources\Resource.designer.cs True - False + true AdMob Properties\AndroidManifest.xml - v7.0 + v8.0 armeabi;armeabi-v7a;x86;arm64-v8a;x86_64 + None true @@ -29,7 +29,6 @@ DEBUG; prompt 4 - None false @@ -47,24 +46,6 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - @@ -79,7 +60,6 @@ - @@ -123,21 +103,18 @@ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83} Gass - - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} - Clearcut - {53F87D88-8871-41A2-9F81-B79AB02FEC24} Tasks + + + + + + + + - - - - - - - \ No newline at end of file diff --git a/ads/samples/AdMobSample/Properties/AndroidManifest.xml b/ads/samples/AdMobSample/Properties/AndroidManifest.xml index e6fe4e8dd..4fcf30899 100644 --- a/ads/samples/AdMobSample/Properties/AndroidManifest.xml +++ b/ads/samples/AdMobSample/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@  - + diff --git a/ads/samples/AdMobSample/packages.config b/ads/samples/AdMobSample/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/ads/samples/AdMobSample/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/ads/source/Ads.csproj b/ads/source/Ads.csproj index 768099b19..04e755b3b 100644 --- a/ads/source/Ads.csproj +++ b/ads/source/Ads.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Ads - v7.0 + v8.0 class-parse ..\..\externals\docs\reference @@ -50,45 +49,37 @@ - - + + Transforms\Metadata.Common.xml + Jars\play-services-ads.jar - - {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} Basement - - {3F6BAE25-ADEB-468C-8384-AD655623C341} - Base - {ECB1F68B-B588-4F3B-9A86-510CF4AAA784} Ads.Lite - - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} - Clearcut - {D705BF83-81FD-4CD9-AF3B-09C50FF42C83} Gass - + - + + diff --git a/ads/source/Properties/AssemblyInfo.cs b/ads/source/Properties/AssemblyInfo.cs index 32788e3bc..67efdc51d 100644 --- a/ads/source/Properties/AssemblyInfo.cs +++ b/ads/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,9 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] + +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/ads/source/Transforms/Metadata.generated.xml b/ads/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/ads/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/ads/source/packages.config b/ads/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/ads/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/all/nuget/Xamarin.GooglePlayServices.nuspec b/all/nuget/Xamarin.GooglePlayServices.nuspec index 6bba3d7f6..32c827c2f 100644 --- a/all/nuget/Xamarin.GooglePlayServices.nuspec +++ b/all/nuget/Xamarin.GooglePlayServices.nuspec @@ -12,38 +12,8 @@ https://github.com/xamarin/GooglePlayServicesComponents/ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.png - - - - diff --git a/all/samples/GpsBuildAll/GpsBuildAll.csproj b/all/samples/GpsBuildAll/GpsBuildAll.csproj index b71f191ae..943ec54a6 100644 --- a/all/samples/GpsBuildAll/GpsBuildAll.csproj +++ b/all/samples/GpsBuildAll/GpsBuildAll.csproj @@ -17,7 +17,7 @@ False GpsBuildAll Properties\AndroidManifest.xml - v7.0 + v8.0 true 2G @@ -48,33 +48,9 @@ - - ..\..\..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\..\..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\..\..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\..\..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\..\..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\..\..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - - - ..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll - - - ..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll - - - ..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll - + + + @@ -85,7 +61,6 @@ - @@ -173,10 +148,6 @@ {A069B942-EE12-4283-9C4C-F46549D3978A} AppInvite - - {A069B942-EE12-4283-8C4C-F46549D3978A} - AppIndexing - {EA04524D-2A97-4ED0-AD74-21F8C30DF4A5} Analytics @@ -289,7 +260,38 @@ {D42D621B-0370-44F6-A58E-0749629F9F4D} Places + + {B797EA6B-9566-4980-9665-F808C953B24D} + Auth-Api-Phone + + + {8D01CC30-64F5-4AD3-B9C8-0970B0F1D562} + Firebase-AppIndexing + + + {9FB742FE-1645-4A5B-B41B-2F0BBBE7F2BE} + Firebase-Dynamic-Links + + + {2233FF89-3CDD-4FA5-844E-A43EDAE8463F} + Firebase-Perf + + + {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7} + InstantApps + + + {DCCFBAD3-A366-4C61-B56F-DBD46D68980F} + Oss-Licenses + + + {ED50788D-0553-48A2-A47A-6AD1C9DF41BE} + TagManager.V4.Impl + + + {148E13D5-9D81-4937-801D-A8DF043B2A4F} + Vision-Common + - \ No newline at end of file diff --git a/all/samples/GpsBuildAll/packages.config b/all/samples/GpsBuildAll/packages.config deleted file mode 100644 index 07aa63fcb..000000000 --- a/all/samples/GpsBuildAll/packages.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec b/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec index a8f0bd322..f6795955e 100644 --- a/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec +++ b/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec @@ -14,19 +14,19 @@ The Google Analytics SDK for Android makes it easy for developers to collect user engagement data form their apps. Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-analytics-impl_128x128.png - + - + - + diff --git a/analytics-impl/source/Analytics.Impl.csproj b/analytics-impl/source/Analytics.Impl.csproj index 7987a26fb..444e9793e 100644 --- a/analytics-impl/source/Analytics.Impl.csproj +++ b/analytics-impl/source/Analytics.Impl.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Analytics.Impl - v7.0 + v8.0 class-parse ..\..\externals\docs\reference @@ -50,21 +49,20 @@ - - + + Transforms\Metadata.Common.xml + Jars\play-services-analytics-impl.jar - - {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} @@ -76,7 +74,8 @@ - + - + + diff --git a/analytics-impl/source/Properties/AssemblyInfo.cs b/analytics-impl/source/Properties/AssemblyInfo.cs index 96c59f474..19ac0b8dd 100644 --- a/analytics-impl/source/Properties/AssemblyInfo.cs +++ b/analytics-impl/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/analytics-impl/source/Transforms/Metadata.generated.xml b/analytics-impl/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/analytics-impl/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/analytics-impl/source/Transforms/Metadata.xml b/analytics-impl/source/Transforms/Metadata.xml index cbef8e0b3..c9b5f1978 100644 --- a/analytics-impl/source/Transforms/Metadata.xml +++ b/analytics-impl/source/Transforms/Metadata.xml @@ -98,6 +98,8 @@ java.util.Map<java.lang.String, java.lang.String> java.util.Map<java.lang.String, java.lang.String> + java.util.Map<java.lang.String, java.lang.String> + @@ -54,14 +53,13 @@ - + + Transforms\Metadata.Common.xml + - - - {3F6BAE25-ADEB-468C-8384-AD655623C341} @@ -86,5 +84,4 @@ - diff --git a/appindexing/source/Properties/AssemblyInfo.cs b/appindexing/source/Properties/AssemblyInfo.cs index 80aab1eee..8a5113166 100644 --- a/appindexing/source/Properties/AssemblyInfo.cs +++ b/appindexing/source/Properties/AssemblyInfo.cs @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/appindexing/source/packages.config b/appindexing/source/packages.config deleted file mode 100644 index 38b52b817..000000000 --- a/appindexing/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec b/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec index 143ca33c1..c244ad396 100644 --- a/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec +++ b/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec @@ -14,20 +14,21 @@ App Invites provide a powerful way to organically grow your app, user-to-user. Your users recommend your app to their friends using personalized, contextual invitations powered by Google. App Invites provide a great onboarding experience to your new users. Google optimizes your app install rates by reducing friction and using relevant context at every step of the user invitation flow. Copyright © Microsoft Corporation - http://components.xamarin.com/view/googleplayservices-appinvite/ - http://components.xamarin.com/license/googleplayservices-appinvite/ + https://github.com/xamarin/googleplayservicescomponents + https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-appinvite_128x128.png - + + - + - + diff --git a/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj b/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj index 64447cc4e..476a2fe15 100644 --- a/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj +++ b/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj @@ -29,12 +29,10 @@ - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - + + + + @@ -48,7 +46,4 @@ - - - \ No newline at end of file diff --git a/appinvite/samples/AppInviteSample.UITests/packages.config b/appinvite/samples/AppInviteSample.UITests/packages.config deleted file mode 100644 index f55a18725..000000000 --- a/appinvite/samples/AppInviteSample.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/appinvite/samples/AppInviteSample/AppInviteSample.csproj b/appinvite/samples/AppInviteSample/AppInviteSample.csproj index e7d682d91..c401900dc 100644 --- a/appinvite/samples/AppInviteSample/AppInviteSample.csproj +++ b/appinvite/samples/AppInviteSample/AppInviteSample.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -16,7 +15,7 @@ True false AppInviteSample - v7.0 + v8.0 armeabi;armeabi-v7a;x86;arm64-v8a;x86_64 @@ -44,24 +43,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - + + + + @@ -74,7 +59,6 @@ - @@ -106,11 +90,4 @@ - - - - - - - \ No newline at end of file diff --git a/appinvite/samples/AppInviteSample/packages.config b/appinvite/samples/AppInviteSample/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/appinvite/samples/AppInviteSample/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/appinvite/source/Additions/Additions.cs b/appinvite/source/Additions/Additions.cs index 5f282702b..f459a3a48 100644 --- a/appinvite/source/Additions/Additions.cs +++ b/appinvite/source/Additions/Additions.cs @@ -1 +1,25 @@ - \ No newline at end of file + +using System; +using Android.Runtime; + +namespace Android.Gms.People.ProtoModel +{ + internal static class FreezeMethodImplementor + { + internal static Java.Lang.Object Freeze(ref IntPtr id_freeze, IntPtr class_ref, IntPtr Handle) + { + if (id_freeze == IntPtr.Zero) + id_freeze = JNIEnv.GetMethodID(class_ref, "freeze", "()Ljava/lang/Object;"); + return (Java.Lang.Object)global::Java.Lang.Object.GetObject(JNIEnv.CallObjectMethod(Handle, id_freeze), JniHandleOwnership.TransferLocalRef); + } + } + + public partial class FetchBackUpDeviceContactInfoResponseEntity + { + IntPtr id_freeze; + public Java.Lang.Object Freeze() + { + return FreezeMethodImplementor.Freeze(ref id_freeze, class_ref, Handle); + } + } +} diff --git a/appinvite/source/Additions/IPendingResultExtensions.cs b/appinvite/source/Additions/IPendingResultExtensions.cs index 8f2795062..019a35e1f 100644 --- a/appinvite/source/Additions/IPendingResultExtensions.cs +++ b/appinvite/source/Additions/IPendingResultExtensions.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using Android.Runtime; using Android.Gms.Common.Apis; +using Android.App; namespace Android.Gms.AppInvite { @@ -11,9 +12,15 @@ public static partial class IAppInviteApiExtensions return (await api.ConvertInvitation (client, invitationId)).JavaCast (); } + [Obsolete] public static async Task UpdateInvitationOnInstallAsync (this IAppInviteApi api, GoogleApiClient client, string invitationId) { return (await api.UpdateInvitationOnInstall (client, invitationId)).JavaCast (); } + + [Obsolete] + public static async Task GetInvitationAsync (this IAppInviteApi api, GoogleApiClient client, Activity activity, bool flag) { + return (await api.GetInvitation(client, activity, flag)).JavaCast(); + } } } diff --git a/appinvite/source/AppInvite.csproj b/appinvite/source/AppInvite.csproj index 51bbe56f4..4f9a98bee 100644 --- a/appinvite/source/AppInvite.csproj +++ b/appinvite/source/AppInvite.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.GooglePlayServices.AppInvite - v7.0 + v8.0 jar2xml ..\..\externals\docs\reference Android.Gms.AppInvite + Android.Gms.People.ProtoModel + Android.Gms.Internal + Firebase.AppInvite @@ -21,4 +24,6 @@ AppInviteClass API + + Java.Lang.Object diff --git a/appinvite/source/packages.config b/appinvite/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/appinvite/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/auth-api-phone/nuget/Xamarin.GooglePlayServices.Auth.Api.Phone.template.nuspec b/auth-api-phone/nuget/Xamarin.GooglePlayServices.Auth.Api.Phone.template.nuspec new file mode 100644 index 000000000..51f07e36b --- /dev/null +++ b/auth-api-phone/nuget/Xamarin.GooglePlayServices.Auth.Api.Phone.template.nuspec @@ -0,0 +1,31 @@ + + + + Xamarin.GooglePlayServices.Auth.Api.Phone + Xamarin Google Play Services - Auth API Phone + $version$ + Xamarin Inc. + Xamarin Inc. + true + Xamarin.Android Bindings for Google Play Services - Auth API Phone $aar-version$ + + Xamarin.Android Bindings for Google Play Services - Auth API Phone $aar-version$ + + Copyright © Microsoft Corporation + https://github.com/xamarin/googleplayservicescomponents + https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md + https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-auth-phone-api_128x128.png + + + + + + + + + + + + + + diff --git a/clearcut/source/Clearcut.csproj b/auth-api-phone/source/Auth-Api-Phone.csproj similarity index 71% rename from clearcut/source/Clearcut.csproj rename to auth-api-phone/source/Auth-Api-Phone.csproj index cbdc2e5f6..e52080727 100644 --- a/clearcut/source/Clearcut.csproj +++ b/auth-api-phone/source/Auth-Api-Phone.csproj @@ -1,20 +1,19 @@ - Debug AnyCPU {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 8.0.30703 2.0 - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} + {B797EA6B-9566-4980-9665-F808C953B24D} Library - GooglePlayServices.Clearcut + GooglePlayServices.Auth.Api.Phone Resources Assets False - Xamarin.GooglePlayServices.Clearcut - v7.0 + Xamarin.GooglePlayServices.Auth.Api.Phone + v8.0 class-parse ..\..\externals\docs\reference + Android.Gms.Gass.Internal + + + + + + + + + + + + source + size + dest + flags + + + java.lang.Object + java.lang.Object + + + diff --git a/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec b/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec index 43fa01ea9..ed13d2972 100644 --- a/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec +++ b/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec @@ -12,19 +12,20 @@ Xamarin.Android Bindings for Google Play Services - Auth Base $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-auth-base_128x128.png - + + - + - + diff --git a/auth-base/source/Additions/PendingResultExtensions.cs b/auth-base/source/Additions/PendingResultExtensions.cs index 1a1a69a86..895f51c19 100644 --- a/auth-base/source/Additions/PendingResultExtensions.cs +++ b/auth-base/source/Additions/PendingResultExtensions.cs @@ -17,18 +17,23 @@ public static async Task PerformProxyRequestAsync (this IP namespace Android.Gms.Auth.Account { - public static partial class IWorkAccountApiExtensions - { - public static async Task AddWorkAccountAsync (this IWorkAccountApi api, GoogleApiClient client, string token) - { - return (await api.AddWorkAccount (client, token)).JavaCast (); - } + public static partial class IWorkAccountApiExtensions + { + public static async Task AddWorkAccountAsync(this IWorkAccountApi api, GoogleApiClient client, string token) + { + return (await api.AddWorkAccount(client, token)).JavaCast(); + } - public static async Task PerformProxyRequestAsync (this IWorkAccountApi api, GoogleApiClient client, Accounts.Account account) - { - return (await api.RemoveWorkAccount (client, account)).JavaCast (); - } - } + public static async Task PerformProxyRequestAsync(this IWorkAccountApi api, GoogleApiClient client, Accounts.Account account) + { + return (await api.RemoveWorkAccount(client, account)).JavaCast(); + } + + public static async Task SetWorkAuthenticatorEnabledWithResultAsync(this IWorkAccountApi api, Android.Gms.Common.Apis.GoogleApiClient client, bool enabled) + { + return (await api.SetWorkAuthenticatorEnabledWithResult(client, enabled)).JavaCast(); + } + } } diff --git a/auth-base/source/Additions/TaskExtensions.cs b/auth-base/source/Additions/TaskExtensions.cs new file mode 100644 index 000000000..a24a4309a --- /dev/null +++ b/auth-base/source/Additions/TaskExtensions.cs @@ -0,0 +1,55 @@ +using System; +using System.Threading.Tasks; +using Android.Gms.Extensions; + +namespace Android.Gms.Auth.Account +{ + public partial class WorkAccountClient + { + public virtual Task AddWorkAccountAsync(string token) + { + return AddWorkAccount(token).AsAsync(); + } + + public virtual Task RemoveWorkAccountAsync(Android.Accounts.Account account) + { + return RemoveWorkAccount(account).AsAsync(); + } + + public virtual Task SetWorkAuthenticatorEnabledAsync(bool enabled) + { + return SetWorkAuthenticatorEnabled(enabled).AsAsync(); + } + } +} + +namespace Android.Gms.Auth.Api.AccountTransfer +{ + public partial class AccountTransferClient + { + public Task GetDeviceMetaDataAsync(string accountType) + { + return GetDeviceMetaData(accountType).AsAsync(); + } + + public Task NotifyCompletionAsync(string accountType, int completionStatus) + { + return NotifyCompletion(accountType, completionStatus).AsAsync(); + } + + //public Task RetrieveDataAsync(string accountType) + //{ + // return RetrieveData(accountType).AsAsync(); + //} + + public Task SendDataAsync(string accountType, byte[] transferData) + { + return SendData(accountType, transferData).AsAsync(); + } + + public Task ShowUserChallengeAsync(string accountType, Android.App.PendingIntent pendingIntent) + { + return ShowUserChallenge(accountType, pendingIntent).AsAsync(); + } + } +} diff --git a/auth-base/source/Auth.Base.csproj b/auth-base/source/Auth.Base.csproj index d6e62efd8..2a858ba3c 100644 --- a/auth-base/source/Auth.Base.csproj +++ b/auth-base/source/Auth.Base.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Auth.Base - v7.0 + v8.0 class-parse ..\..\externals\docs\reference @@ -20,11 +21,17 @@ size dest flags + - - Java.Lang.Object + false + + + java.lang.Object + java.lang.Object + + diff --git a/auth-base/source/packages.config b/auth-base/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/auth-base/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec b/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec index d80e49463..2b9decaa0 100644 --- a/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec +++ b/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec @@ -12,21 +12,22 @@ Xamarin.Android Bindings for Google Play Services - Auth $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-auth_128x128.png - - - + + + + - + - + diff --git a/auth/source/Auth.csproj b/auth/source/Auth.csproj index 8494d6527..ca0cbb2e9 100644 --- a/auth/source/Auth.csproj +++ b/auth/source/Auth.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Auth - v7.0 + v8.0 class-parse ..\..\externals\docs\reference + java.lang.Object + java.lang.Object + + + diff --git a/auth/source/packages.config b/auth/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/auth/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec b/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec index 5fb119dfa..d934bd913 100644 --- a/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec +++ b/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Google Play Services - Awareness $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-awareness_128x128.png - + @@ -26,8 +26,8 @@ - + - + diff --git a/awareness/source/Additions/TaskExtensions.cs b/awareness/source/Additions/TaskExtensions.cs new file mode 100644 index 000000000..af0f1a61d --- /dev/null +++ b/awareness/source/Additions/TaskExtensions.cs @@ -0,0 +1,54 @@ +using System; +using System.Threading.Tasks; +using Android.Gms.Awareness.Fence; +using Android.Gms.Awareness.Snapshot; +using Android.Gms.Extensions; + +namespace Android.Gms.Awareness +{ + public partial class FenceClient + { + public Task QueryFencesAsync(FenceQueryRequest fenceQueryRequest) + { + return QueryFences(fenceQueryRequest).AsAsync(); + } + + public Task UpdateFencesAsync(IFenceUpdateRequest fenceUpdateRequest) + { + return UpdateFences(fenceUpdateRequest).AsAsync(); + } + } + + public partial class SnapshotClient + { + public Task GetDetectedActivityAsync () + { + return DetectedActivity.AsAsync(); + } + + public Task GetHeadphoneStateAsync () + { + return HeadphoneState.AsAsync(); + } + + public Task GetLocationAsync () + { + return Location.AsAsync(); + } + + public Task GetPlacesAsync() + { + return Places.AsAsync(); + } + + public Task GetWeatherAsync() + { + return Weather.AsAsync(); + } + + public Task GetBeaconStateAsync(State.BeaconStateTypeFilter[] filter) + { + return GetBeaconState(filter).AsAsync(); + } + } +} diff --git a/awareness/source/Awareness.csproj b/awareness/source/Awareness.csproj index abc552da2..78796b858 100644 --- a/awareness/source/Awareness.csproj +++ b/awareness/source/Awareness.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Awareness - v7.0 + v8.0 class-parse ..\..\externals\docs\reference jar2xml ..\..\externals\docs\reference @@ -48,24 +47,6 @@ - - ..\..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - @@ -74,16 +55,19 @@ + + - - + + Transforms\Metadata.Common.xml + @@ -100,13 +84,14 @@ Tasks + + + + + + + + - - - - - - - diff --git a/base/source/Properties/AssemblyInfo.cs b/base/source/Properties/AssemblyInfo.cs index 121da0981..0c0312a59 100644 --- a/base/source/Properties/AssemblyInfo.cs +++ b/base/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/base/source/Transforms/EnumMethods.xml b/base/source/Transforms/EnumMethods.xml index 2efa81467..f39f48ace 100644 --- a/base/source/Transforms/EnumMethods.xml +++ b/base/source/Transforms/EnumMethods.xml @@ -15,4 +15,8 @@ - To change the type of the return value, use "return" as the parameter name. - The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project. --> + + + + diff --git a/base/source/Transforms/Metadata.generated.xml b/base/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/base/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/base/source/Transforms/Metadata.xml b/base/source/Transforms/Metadata.xml index 7212487d6..ee32208c3 100644 --- a/base/source/Transforms/Metadata.xml +++ b/base/source/Transforms/Metadata.xml @@ -11,13 +11,13 @@ Android.Gms.Common.Apis - + - + @@ -36,6 +36,34 @@ Android.Gms.Common.Apis.Api.IApiOptionsHasOptions + false + InternalResponseObject + + false false false + false + + + false + InternalAbstractDataBuffer + + + + + + + + + + + + + + + + + + + diff --git a/base/source/packages.config b/base/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/base/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj b/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj index 833013b37..d39acaddc 100644 --- a/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj +++ b/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj @@ -30,9 +30,6 @@ - - ..\..\packages\NUnit.3.0.1\lib\net45\nunit.framework.dll - @@ -54,7 +51,9 @@ - + + 3.8.1 + \ No newline at end of file diff --git a/basement/buildtasks.tests/packages.config b/basement/buildtasks.tests/packages.config deleted file mode 100644 index b183023e1..000000000 --- a/basement/buildtasks.tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/basement/buildtasks/ProcessGoogleServicesJson.cs b/basement/buildtasks/ProcessGoogleServicesJson.cs index 5b7b95b7e..025a593d7 100644 --- a/basement/buildtasks/ProcessGoogleServicesJson.cs +++ b/basement/buildtasks/ProcessGoogleServicesJson.cs @@ -9,203 +9,197 @@ namespace Xamarin.GooglePlayServices.Tasks { - public class ProcessGoogleServicesJson : Task - { - const string RESFILE_VALUES = "goog_svcs_json.xml"; - const string RESFILE_XML = "global_tracker.xml"; - - [Output] - public ITaskItem[] GoogleServicesGeneratedResources { get; set; } - - [Required] - public string AndroidPackageName { get; set; } - - [Required] - public ITaskItem[] GoogleServicesJsons { get; set; } - - [Required] - public string IntermediateOutputPath { get; set; } - - [Required] - public string MonoAndroidResDirIntermediate { get;set; } - - public override bool Execute () - { - Log.LogMessage ("Started ProcessGoogleServicesJson..."); - - Log.LogMessage ("Android Package Name: {0}", AndroidPackageName); - - // Paths to write resource files to - var xmlPath = Path.Combine (MonoAndroidResDirIntermediate, "xml", RESFILE_XML); - var valuesPath = Path.Combine (MonoAndroidResDirIntermediate, "values", RESFILE_VALUES); - - var wroteXmlPath = false; - var wroteValuesPath = false; - - if (GoogleServicesJsons == null || !GoogleServicesJsons.Any ()) { - Log.LogMessage ("No GoogleServicesJson Build Action items specified, skipping task."); - DeleteFiles (valuesPath, xmlPath); - return true; - } - - if (GoogleServicesJsons.Count () > 1) - Log.LogMessage ("More than one GoogleServicesJson file specified for build configuration, using first one found."); - - var gsItem = GoogleServicesJsons.First (); - - var gsPath = CleanPath (gsItem.ItemSpec); - - GoogleServices googleServices; - - try { - using (var sr = File.OpenRead (gsPath)) { - googleServices = GoogleServicesJsonProcessor.ProcessJson (AndroidPackageName, sr); - } - if (googleServices == null) - throw new NullReferenceException (); - } catch (Exception ex) { - Log.LogError ("Failed to Read or Deserialize GoogleServicesJson file: {0}{1}{2}", gsPath, Environment.NewLine, ex); - DeleteFiles (valuesPath, xmlPath); - return false; - } - - if (string.IsNullOrEmpty (AndroidPackageName)) { - Log.LogError ("Android Package Name not specified for project"); - return false; - } - - var resolvedClientInfo = googleServices.GetClient (AndroidPackageName); - if (resolvedClientInfo == null) { - Log.LogWarning ("Failed to find client_info in google-services.json matching package name: {0}", AndroidPackageName); - } - - var valuesItems = new Dictionary { - { "ga_trackingId", googleServices.GetGATrackingId (AndroidPackageName) }, - { "gcm_defaultSenderId", googleServices.GetDefaultGcmSenderId () }, - { "google_app_id", googleServices.GetGoogleAppId (AndroidPackageName) }, - { "test_banner_ad_unit_id", googleServices.GetTestBannerAdUnitId (AndroidPackageName) }, - { "test_interstitial_ad_unit_id", googleServices.GetTestInterstitialAdUnitId (AndroidPackageName) }, - { "default_web_client_id", googleServices.GetDefaultWebClientId (AndroidPackageName) }, - { "firebase_database_url", googleServices.GetFirebaseDatabaseUrl () }, - { "google_api_key", googleServices.GetGoogleApiKey (AndroidPackageName) }, - { "google_crash_reporting_api_key", googleServices.GetCrashReportingApiKey (AndroidPackageName) }, - { "google_storage_bucket", googleServices.GetStorageBucket (AndroidPackageName) }, - }; - - // We only want to create the file if not all of these values are missing - if (valuesItems.Any (kvp => !string.IsNullOrEmpty (kvp.Value))) { - Log.LogMessage ("Writing Resource File: {0}", valuesPath); - WriteResourceDoc (valuesPath, valuesItems); - wroteValuesPath = true; - Log.LogMessage ("Wrote Resource File: {0}", valuesPath); - } else { - if (File.Exists (valuesPath)) { - Log.LogMessage ("Deleting Resource File: {0}", valuesPath); - try { - File.Delete (valuesPath); - } catch (Exception ex) { - Log.LogWarning ("Failed to delete Resource File: {0}{1}{2}", valuesPath, Environment.NewLine, ex); - } - } - } - - var xmlItems = new Dictionary { - { "ga_trackingId", googleServices.GetGATrackingId (AndroidPackageName) } - }; - - // We only want to create the file if not all of these values are missing - if (xmlItems.Any (kvp => !string.IsNullOrEmpty (kvp.Value))) { - Log.LogMessage ("Writing Resource File: {0}", xmlPath); - WriteResourceDoc (xmlPath, xmlItems); - wroteXmlPath = true; - Log.LogMessage ("Wrote Resource File: {0}", xmlPath); - } else { - // If no - if (File.Exists (xmlPath)) { - Log.LogMessage ("Deleting Resource File: {0}", xmlPath); - try { - File.Delete (xmlPath); - } catch (Exception ex) { - Log.LogWarning ("Failed to delete Resource File: {0}{1}{2}", xmlPath, Environment.NewLine, ex); - } - } - } - - var outputFiles = new List (); - if (wroteXmlPath) - outputFiles.Add (new TaskItem (xmlPath)); - if (wroteValuesPath) - outputFiles.Add (new TaskItem (valuesPath)); - - if (outputFiles.Any ()) - GoogleServicesGeneratedResources = outputFiles.ToArray (); - - Log.LogMessage("Writing stamp file..."); - - var stampText = string.Empty; - if (wroteXmlPath) - stampText += xmlPath + Environment.NewLine; - if (wroteValuesPath) - stampText += valuesPath + Environment.NewLine; - - File.WriteAllText(Path.Combine(IntermediateOutputPath ?? MonoAndroidResDirIntermediate, "ProcessGoogleServicesJson.stamp"), stampText.Trim()); - - Log.LogMessage ("Finished ProcessGoogleServicesJson..."); - return true; - } - - void WriteResourceDoc (string path, Dictionary resourceValues) - { - var pathInfo = new FileInfo (path); - - if (!pathInfo.Directory.Exists) - pathInfo.Directory.Create (); - - var xws = new XmlWriterSettings { - Indent = true - }; - using (var sw = File.Create (path)) - using (var xw = XmlTextWriter.Create (sw, xws)) { - xw.WriteStartDocument (); - xw.WriteStartElement ("resources"); - - foreach (var kvp in resourceValues) { - if (!string.IsNullOrEmpty (kvp.Value)) { - xw.WriteStartElement ("string"); - xw.WriteAttributeString ("name", kvp.Key); - xw.WriteAttributeString ("translatable", "false"); - xw.WriteString (kvp.Value); - xw.WriteEndElement (); - } - } - - xw.WriteEndElement (); - xw.WriteEndDocument (); - xw.Flush (); - xw.Close (); - } - } - - void DeleteFiles (params string[] paths) - { - if (paths == null || !paths.Any ()) - return; - - foreach (var p in paths) { - if (!File.Exists (p)) - continue; - try { - File.Delete (p); - } catch (Exception ex) { - Log.LogWarning ("Failed to delete file: {0}{1}{2}", p, Environment.NewLine, ex); - } - } - } - - static string CleanPath (params string[] paths) - { - var combined = Path.Combine (paths); - return combined.Replace ('/', Path.DirectorySeparatorChar).Replace ('\\', Path.DirectorySeparatorChar); - } - } + public class ProcessGoogleServicesJson : Task + { + [Required] + public ITaskItem ResStringsPath { get; set; } + + [Required] + public ITaskItem ResXmlPath { get; set; } + + [Required] + public ITaskItem StampPath { get; set; } + + [Required] + public string AndroidPackageName { get; set; } + + [Required] + public ITaskItem[] GoogleServicesJsons { get; set; } + + [Required] + public ITaskItem ResPath { get; set; } + + [Output] + public ITaskItem[] ResPathAbs { get; set; } + + public override bool Execute() + { + Log.LogMessage("Started ProcessGoogleServicesJson..."); + + var resPath = ResPath.GetMetadata("FullPath"); + var stampPath = StampPath.GetMetadata("FullPath"); + var resValuesPath = ResStringsPath.GetMetadata("FullPath"); + var resXmlPath = ResXmlPath.GetMetadata("FullPath"); + + Log.LogMessage("Android Package Name: {0}", AndroidPackageName); + Log.LogMessage("Resource Path: {0}", resPath); + Log.LogMessage("Resource Strings Path: {0}", resValuesPath); + Log.LogMessage("Resource Xml Path: {0}", resXmlPath); + Log.LogMessage("Stamp Path: {0}", stampPath); + + // Return out the absolute path of our resources dir + ResPathAbs = new ITaskItem[] { new TaskItem(resPath) }; + + if (GoogleServicesJsons == null || !GoogleServicesJsons.Any()) { + Log.LogMessage("No GoogleServicesJson Build Action items specified, skipping task."); + DeleteFiles(resValuesPath, resXmlPath); + return true; + } + + if (GoogleServicesJsons.Count() > 1) + Log.LogMessage("More than one GoogleServicesJson file specified for build configuration, using first one found."); + + var gsItem = GoogleServicesJsons.First(); + + var gsPath = CleanPath(gsItem.ItemSpec); + + GoogleServices googleServices; + + try { + using (var sr = File.OpenRead(gsPath)) + googleServices = GoogleServicesJsonProcessor.ProcessJson(AndroidPackageName, sr); + + if (googleServices == null) + throw new NullReferenceException(); + } catch (Exception ex) { + Log.LogError("Failed to Read or Deserialize GoogleServicesJson file: {0}{1}{2}", gsPath, Environment.NewLine, ex); + DeleteFiles(resValuesPath, resXmlPath); + return false; + } + + if (string.IsNullOrEmpty(AndroidPackageName)) { + Log.LogError("Android Package Name not specified for project"); + return false; + } + + var resolvedClientInfo = googleServices.GetClient(AndroidPackageName); + if (resolvedClientInfo == null) + Log.LogWarning("Failed to find client_info in google-services.json matching package name: {0}", AndroidPackageName); + + var valuesItems = new Dictionary { + { "ga_trackingId", googleServices.GetGATrackingId (AndroidPackageName) }, + { "gcm_defaultSenderId", googleServices.GetDefaultGcmSenderId () }, + { "google_app_id", googleServices.GetGoogleAppId (AndroidPackageName) }, + { "test_banner_ad_unit_id", googleServices.GetTestBannerAdUnitId (AndroidPackageName) }, + { "test_interstitial_ad_unit_id", googleServices.GetTestInterstitialAdUnitId (AndroidPackageName) }, + { "default_web_client_id", googleServices.GetDefaultWebClientId (AndroidPackageName) }, + { "firebase_database_url", googleServices.GetFirebaseDatabaseUrl () }, + { "google_api_key", googleServices.GetGoogleApiKey (AndroidPackageName) }, + { "google_crash_reporting_api_key", googleServices.GetCrashReportingApiKey (AndroidPackageName) }, + { "google_storage_bucket", googleServices.GetStorageBucket (AndroidPackageName) }, + }; + + // We only want to create the file if not all of these values are missing + if (valuesItems.Any(kvp => !string.IsNullOrEmpty(kvp.Value))) { + Log.LogMessage("Writing Resource File: {0}", resValuesPath); + WriteResourceDoc(resValuesPath, valuesItems); + Log.LogMessage("Wrote Resource File: {0}", resValuesPath); + } else { + if (File.Exists(resValuesPath)) { + Log.LogMessage("Deleting Resource File: {0}", resValuesPath); + try { + File.Delete(resValuesPath); + } catch (Exception ex) { + Log.LogWarning("Failed to delete Resource File: {0}{1}{2}", resValuesPath, Environment.NewLine, ex); + } + } + } + + var xmlItems = new Dictionary { + { "ga_trackingId", googleServices.GetGATrackingId (AndroidPackageName) } + }; + + // We only want to create the file if not all of these values are missing + if (xmlItems.Any(kvp => !string.IsNullOrEmpty(kvp.Value))) { + Log.LogMessage("Writing Resource File: {0}", resXmlPath); + WriteResourceDoc(resXmlPath, xmlItems); + Log.LogMessage("Wrote Resource File: {0}", resXmlPath); + } else { + // If no + if (File.Exists(resXmlPath)) { + Log.LogMessage("Deleting Resource File: {0}", resXmlPath); + try { + File.Delete(resXmlPath); + } catch (Exception ex) { + Log.LogWarning("Failed to delete Resource File: {0}{1}{2}", resXmlPath, Environment.NewLine, ex); + } + } + } + + var stampTxt = string.Empty; + if (File.Exists(resXmlPath)) + stampTxt += resXmlPath + Environment.NewLine; + if (File.Exists(resValuesPath)) + stampTxt += resValuesPath + Environment.NewLine; + + File.WriteAllText(stampPath, stampTxt); + + Log.LogMessage("Finished ProcessGoogleServicesJson..."); + return true; + } + + void WriteResourceDoc(string path, Dictionary resourceValues) + { + var pathInfo = new FileInfo(path); + + if (!pathInfo.Directory.Exists) + pathInfo.Directory.Create(); + + var xws = new XmlWriterSettings { + Indent = true + }; + using (var sw = File.Create(path)) + using (var xw = XmlTextWriter.Create(sw, xws)) { + xw.WriteStartDocument(); + xw.WriteStartElement("resources"); + + foreach (var kvp in resourceValues) { + if (!string.IsNullOrEmpty(kvp.Value)) { + xw.WriteStartElement("string"); + xw.WriteAttributeString("name", kvp.Key); + xw.WriteAttributeString("translatable", "false"); + xw.WriteString(kvp.Value); + xw.WriteEndElement(); + } + } + + xw.WriteEndElement(); + xw.WriteEndDocument(); + xw.Flush(); + xw.Close(); + } + } + + void DeleteFiles(params string[] paths) + { + if (paths == null || !paths.Any()) + return; + + foreach (var p in paths) { + if (!File.Exists(p)) + continue; + try { + File.Delete(p); + } catch (Exception ex) { + Log.LogWarning("Failed to delete file: {0}{1}{2}", p, Environment.NewLine, ex); + } + } + } + + static string CleanPath(params string[] paths) + { + var combined = Path.Combine(paths); + return combined.Replace('/', Path.DirectorySeparatorChar).Replace('\\', Path.DirectorySeparatorChar); + } + } } diff --git a/basement/buildtasks/Properties/AssemblyInfo.cs b/basement/buildtasks/Properties/AssemblyInfo.cs index bcb224d29..b6e052397 100644 --- a/basement/buildtasks/Properties/AssemblyInfo.cs +++ b/basement/buildtasks/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("1.0.*")] +[assembly: AssemblyVersion ("1.0.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. @@ -25,3 +25,6 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] diff --git a/basement/buildtasks/Xamarin.GooglePlayServices.Basement.targets b/basement/buildtasks/Xamarin.GooglePlayServices.Basement.targets index 11c36342b..2a19e91e4 100644 --- a/basement/buildtasks/Xamarin.GooglePlayServices.Basement.targets +++ b/basement/buildtasks/Xamarin.GooglePlayServices.Basement.targets @@ -20,19 +20,19 @@ $(MSBuildThisFileDirectory)Xamarin.GooglePlayServices.Tasks.dll + googsvcsjson + + $(IntermediateOutputPath)$(ProcessGoogleServicesJsonResDirName)\ + $(ProcessGoogleServicesJsonResDirPath)values\goog_svcs_json.xml + $(ProcessGoogleServicesJsonResDirPath)xml\global_tracker.xml + $(IntermediateOutputPath)googsvcsjson.stamp - - - $(ProcessGoogleServicesJsonDependsOn); - - - _UpdateAndroidResgen;$(ProcessGoogleServicesJsonBeforeTargets); - - - $(ProcessGoogleServicesJsonAfterTargets); - + + $(CleanDependsOn); + _CleanProcessGoogleServicesJson; + @@ -40,27 +40,70 @@ AssemblyFile="Xamarin.GooglePlayServices.Tasks.dll" TaskName="Xamarin.GooglePlayServices.Tasks.ProcessGoogleServicesJson" /> - + + + + + + + + + + + + + Outputs="$(IntermediateOutputPath)googsvcsjson.stamp"> - - + - + + + + + + + + + + + + + + True + + + + + + \ No newline at end of file diff --git a/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec b/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec index 3652a4313..f8d6f9bf2 100644 --- a/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec +++ b/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec @@ -14,20 +14,25 @@ Instead of installing this package directly, install the specific package(s) you need. Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-basement_128x128.png - - - + + + + + + + + - - + + - + diff --git a/basement/source/Additions/Additions.cs b/basement/source/Additions/Additions.cs new file mode 100644 index 000000000..5b4f1b044 --- /dev/null +++ b/basement/source/Additions/Additions.cs @@ -0,0 +1,3 @@ +namespace Android.Gms.Common +{ +} \ No newline at end of file diff --git a/basement/source/Basement.csproj b/basement/source/Basement.csproj index 4c59f4a81..f5a931602 100644 --- a/basement/source/Basement.csproj +++ b/basement/source/Basement.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.GooglePlayServices.Basement - v7.0 + v8.0 class-parse ..\..\externals\docs\reference @@ -48,53 +47,38 @@ - - ..\..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - + - - + + Transforms\Metadata.Common.xml + Jars\play-services-basement.jar + + + + + + + + - - - - - - - diff --git a/basement/source/Properties/AssemblyInfo.cs b/basement/source/Properties/AssemblyInfo.cs index 02fc4d9dd..1ffee607f 100644 --- a/basement/source/Properties/AssemblyInfo.cs +++ b/basement/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/basement/source/Transforms/EnumMethods.xml b/basement/source/Transforms/EnumMethods.xml index 2efa81467..a0a162dc8 100644 --- a/basement/source/Transforms/EnumMethods.xml +++ b/basement/source/Transforms/EnumMethods.xml @@ -15,4 +15,14 @@ - To change the type of the return value, use "return" as the parameter name. - The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project. --> + + + + + + + + + + diff --git a/basement/source/Transforms/Metadata.generated.xml b/basement/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/basement/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/basement/source/Transforms/Metadata.xml b/basement/source/Transforms/Metadata.xml index cd14331fd..6863dbe04 100644 --- a/basement/source/Transforms/Metadata.xml +++ b/basement/source/Transforms/Metadata.xml @@ -5,6 +5,7 @@ Android.Gms.Common Android.Gms.Common.Annotations Android.Gms.Common.Apis + Android.Gms.Common.Apis.Internal Android.Gms.Common.Internal Android.Gms.Common.Internal.SafeParcel Android.Gms.Common.Stats @@ -25,15 +26,21 @@ - - + + - - Java.Lang.Object - Java.Lang.Object[] + + false + InternalObfuscatedBase1 + + false + InternalObfuscatedBase2 + + + source size @@ -43,15 +50,20 @@ Statuses + Java.Lang.Object + false false false false - false + false false + + + @@ -65,4 +77,22 @@ + + Zzcold + Zzc + Zze + + + + + + + + + + + + + + diff --git a/basement/source/packages.config b/basement/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/basement/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/build.cake b/build.cake index 595377b84..a1728af96 100644 --- a/build.cake +++ b/build.cake @@ -1,37 +1,65 @@ -#tool nuget:?package=ILRepack&version=2.0.10 -#tool nuget:?package=XamarinComponent -#tool nuget:?package=Cake.MonoApiTools +// Tools needed by cake addins +#tool nuget:?package=XamarinComponent&version=1.1.0.49 +#tool nuget:?package=ILRepack&version=2.0.13 +#tool nuget:?package=Cake.MonoApiTools&version=1.0.10 #tool nuget:?package=Microsoft.DotNet.BuildTools.GenAPI&version=1.0.0-beta-00081 - -#addin nuget:?package=Cake.Json -#addin nuget:?package=Cake.XCode -#addin nuget:?package=Cake.Xamarin -#addin nuget:?package=Cake.Xamarin.Build&version=1.1.13 -#addin nuget:?package=Cake.FileHelpers -#addin nuget:?package=Cake.MonoApiTools +#tool nuget:?package=NUnit.Runners&version=2.6.4 +#tool nuget:?package=Paket +#tool nuget:?package=vswhere + +// Dependencies of Cake Addins - this should be removed once +// Cake 0.23 is out +#addin nuget:?package=SharpZipLib&version=0.86.0 +#addin nuget:?package=Newtonsoft.Json&version=9.0.1 +#addin nuget:?package=semver&version=2.0.4 +#addin nuget:?package=YamlDotNet&version=4.2.1 +#addin nuget:?package=NuGet.Core&version=2.14.0 + +// Cake Addins +#addin nuget:?package=Cake.FileHelpers&version=2.0.0 +#addin nuget:?package=Cake.Json&version=2.0.28 +#addin nuget:?package=Cake.Yaml&version=2.0.0 +#addin nuget:?package=Cake.Xamarin&version=2.0.1 +#addin nuget:?package=Cake.XCode&version=3.0.0 +#addin nuget:?package=Cake.Xamarin.Build&version=3.0.3 +#addin nuget:?package=Cake.Compression&version=0.1.4 +#addin nuget:?package=Cake.Android.SdkManager&version=2.0.1 +#addin nuget:?package=Cake.Android.Adb&version=2.0.4 + +// Not yet cake 0.22+ compatible (requires --settings_skipverification=true) +#addin nuget:?package=Cake.MonoApiTools&version=1.0.10 +#addin nuget:?package=Cake.Xamarin.Binding.Util&version=1.0.2 + +// Lists all the artifacts and their versions for com.google.android.gms.* +// https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml +// Lists all the artifacts and their versions for com.google.firebase.* +// https://dl.google.com/dl/android/maven2/com/google/firebase/group-index.xml + +// Master list of all the packages in the repo: +// https://dl.google.com/dl/android/maven2/master-index.xml // To find new URL: https://dl-ssl.google.com/android/repository/addon.xml and search for google_play_services_*.zip\ // FROM: https://dl.google.com/android/repository/addon2-1.xml -var DOCS_URL = "https://dl-ssl.google.com/android/repository/google_play_services_v9_rc41.zip"; -var M2_REPOSITORY = "https://dl-ssl.google.com/android/repository/google_m2repository_gms_v9_1_rc07_wear_2_0_1_rc3.zip"; +var DOCS_URL = "https://dl-ssl.google.com/android/repository/google_play_services_v13_2_rc09.zip"; // We grab the previous release's api-info.xml to use as a comparison for this build's generated info to make an api-diff -var BASE_API_INFO_URL = "https://github.com/xamarin/GooglePlayServicesComponents/releases/download/42.1001.0/api-info.xml"; +var BASE_API_INFO_URL = "https://github.com/xamarin/GooglePlayServicesComponents/releases/download/42.1021.0/api-info.xml"; // The common suffix for nuget version // Sometimes might be "-beta1" for a prerelease, or ".1" if we have a point release for the same actual aar's // will be blank for a stable release that has no point release fixes var COMMON_NUGET_VERSION = ""; -var PLAY_COMPONENT_VERSION = "42.1021.0.0"; -var PLAY_NUGET_VERSION = "42.1021.1" + COMMON_NUGET_VERSION; -var PLAY_AAR_VERSION = "10.2.1"; -var VERSION_DESC = "10.2.1"; +var PLAY_COMPONENT_VERSION = "60.1142.0.0"; +var PLAY_NUGET_VERSION = "60.1142.0" + COMMON_NUGET_VERSION; +var PLAY_AAR_VERSION = "11.4.2"; +var VERSION_DESC = "11.4.2"; +var SUPPORT_VERSION = "26.0.2"; + +var ANDROID_API_LEVEL = "26"; +var ANDROID_SDK_VERSION = "8.0"; -var WEAR_COMPONENT_VERSION = "2.0.1.0"; -var WEAR_NUGET_VERSION = "2.0.1.1" + COMMON_NUGET_VERSION; -var WEAR_AAR_VERSION = "2.0.1"; -var WEARABLE_SUPPORT_VERSION = "2.0.1"; +var MAVEN_REPO_BASE_URL = "https://dl.google.com/dl/android/maven2/com/google/"; var FIREBASE_COMPONENT_VERSION = PLAY_COMPONENT_VERSION; var FIREBASE_NUGET_VERSION = PLAY_NUGET_VERSION; @@ -40,10 +68,7 @@ var FIREBASE_AAR_VERSION = PLAY_AAR_VERSION; var TARGET = Argument ("t", Argument ("target", "Default")); var BUILD_CONFIG = Argument ("config", "Release"); -var CPU_COUNT = System.Environment.ProcessorCount; -// MSBuild in < Mono 5.0 has some issues with multi cpu count being specified causing errors -if (!IsRunningOnWindows()) - CPU_COUNT = 1; +var CPU_COUNT = 1; var ALWAYS_MSBUILD = true; LogSystemInfo (); @@ -55,14 +80,15 @@ var AAR_INFOS = new [] { new AarInfo ("analytics-impl", "play-services-analytics-impl", "android/gms/play-services-analytics-impl", "Xamarin.GooglePlayServices.Analytics.Impl", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("auth", "play-services-auth", "android/gms/play-services-auth", "Xamarin.GooglePlayServices.Auth", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("auth-base", "play-services-auth-base", "android/gms/play-services-auth-base", "Xamarin.GooglePlayServices.Auth.Base", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), + new AarInfo ("auth-api-phone", "play-services-auth-api-phone", "android/gms/play-services-auth-api-phone", "Xamarin.GooglePlayServices.Auth.Api.Phone", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("awareness", "play-services-awareness", "android/gms/play-services-awareness", "Xamarin.GooglePlayServices.Awareness", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("base", "play-services-base", "android/gms/play-services-base", "Xamarin.GooglePlayServices.Base", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("basement", "play-services-basement", "android/gms/play-services-basement", "Xamarin.GooglePlayServices.Basement", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("appinvite", "play-services-appinvite", "android/gms/play-services-appinvite", "Xamarin.GooglePlayServices.AppInvite", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("cast", "play-services-cast", "android/gms/play-services-cast", "Xamarin.GooglePlayServices.Cast", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("cast-framework", "play-services-cast-framework", "android/gms/play-services-cast-framework", "Xamarin.GooglePlayServices.Cast.Framework", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), - new AarInfo ("clearcut", "play-services-clearcut", "android/gms/play-services-clearcut", "Xamarin.GooglePlayServices.Clearcut", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("drive", "play-services-drive", "android/gms/play-services-drive", "Xamarin.GooglePlayServices.Drive", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), + new AarInfo ("fido", "play-services-fido", "android/gms/play-services-fido", "Xamarin.GooglePlayServices.Fido", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("fitness", "play-services-fitness", "android/gms/play-services-fitness", "Xamarin.GooglePlayServices.Fitness", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("games", "play-services-games", "android/gms/play-services-games", "Xamarin.GooglePlayServices.Games", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("gass", "play-services-gass", "android/gms/play-services-gass", "Xamarin.GooglePlayServices.Gass", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), @@ -73,6 +99,7 @@ var AAR_INFOS = new [] { new AarInfo ("location", "play-services-location", "android/gms/play-services-location", "Xamarin.GooglePlayServices.Location", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("maps", "play-services-maps", "android/gms/play-services-maps", "Xamarin.GooglePlayServices.Maps", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("nearby", "play-services-nearby", "android/gms/play-services-nearby", "Xamarin.GooglePlayServices.Nearby", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), + new AarInfo ("oss-licenses", "play-services-oss-licenses", "android/gms/play-services-oss-licenses", "Xamarin.GooglePlayServices.Oss.Licenses", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("panorama", "play-services-panorama", "android/gms/play-services-panorama", "Xamarin.GooglePlayServices.Panorama", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("places", "play-services-places", "android/gms/play-services-places", "Xamarin.GooglePlayServices.Places", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("plus", "play-services-plus", "android/gms/play-services-plus", "Xamarin.GooglePlayServices.Plus", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), @@ -82,11 +109,10 @@ var AAR_INFOS = new [] { new AarInfo ("tagmanager-api", "play-services-tagmanager-api", "android/gms/play-services-tagmanager-api", "Xamarin.GooglePlayServices.TagManager.Api", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("tagmanager-v4-impl", "play-services-tagmanager-v4-impl", "android/gms/play-services-tagmanager-v4-impl", "Xamarin.GooglePlayServices.TagManager.V4.Impl", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("vision", "play-services-vision", "android/gms/play-services-vision", "Xamarin.GooglePlayServices.Vision", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), + new AarInfo ("vision-common", "play-services-vision-common", "android/gms/play-services-vision-common", "Xamarin.GooglePlayServices.Vision.Common", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("wallet", "play-services-wallet", "android/gms/play-services-wallet", "Xamarin.GooglePlayServices.Wallet", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), new AarInfo ("wearable", "play-services-wearable", "android/gms/play-services-wearable", "Xamarin.GooglePlayServices.Wearable", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION), - new AarInfo ("support-wearable", "wearable", "android/support/wearable", "Xamarin.Android.Wear", WEAR_AAR_VERSION, WEAR_NUGET_VERSION, WEAR_COMPONENT_VERSION), - new AarInfo ("firebase-ads", "firebase-ads", "firebase/firebase-ads", "Xamarin.Firebase.Ads", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-analytics", "firebase-analytics", "firebase/firebase-analytics", "Xamarin.Firebase.Analytics", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-analytics-impl", "firebase-analytics-impl", "firebase/firebase-analytics-impl", "Xamarin.Firebase.Analytics.Impl", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), @@ -98,21 +124,16 @@ var AAR_INFOS = new [] { new AarInfo ("firebase-crash", "firebase-crash", "firebase/firebase-crash", "Xamarin.Firebase.Crash", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-database", "firebase-database", "firebase/firebase-database", "Xamarin.Firebase.Database", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-database-connection", "firebase-database-connection", "firebase/firebase-database-connection", "Xamarin.Firebase.Database.Connection", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), + new AarInfo ("firebase-dynamic-links", "firebase-dynamic-links", "firebase/firebase-dynamic-links", "Xamarin.Firebase.Dynamic.Links", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), + new AarInfo ("firebase-firestore", "firebase-firestore", "firebase/firebase-firestore", "Xamarin.Firebase.Firestore", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-iid", "firebase-iid", "firebase/firebase-iid", "Xamarin.Firebase.Iid", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-invites", "firebase-invites", "firebase/firebase-invites", "Xamarin.Firebase.Invites", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-messaging", "firebase-messaging", "firebase/firebase-messaging", "Xamarin.Firebase.Messaging", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), + new AarInfo ("firebase-perf", "firebase-perf", "firebase/firebase-perf", "Xamarin.Firebase.Perf", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-storage", "firebase-storage", "firebase/firebase-storage", "Xamarin.Firebase.Storage", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), new AarInfo ("firebase-storage-common", "firebase-storage-common", "firebase/firebase-storage-common", "Xamarin.Firebase.Storage.Common", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION), }; -class PartialZipInfo { - public string Url { get;set; } - public string LocalPath { get;set; } - public string Md5 { get;set; } - public long RangeStart { get;set; } - public long RangeEnd { get;set; } -} - class AarInfo { public AarInfo (string bindingDir, string dir, string path, string nugetId, string aarVersion, string nugetVersion, string componentVersion) @@ -137,9 +158,14 @@ class AarInfo public string Extension { get;set; } } -var MONODROID_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/mandroid/platforms/android-23/"; -if (IsRunningOnWindows ()) - MONODROID_PATH = new DirectoryPath (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86)).Combine ("Reference Assemblies/Microsoft/Framework/MonoAndroid/v6.0/").FullPath; +var MONODROID_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/mandroid/platforms/android-" + ANDROID_API_LEVEL + "/"; +if (IsRunningOnWindows ()) { + var vsInstallPath = VSWhereLatest (new VSWhereLatestSettings { + Requires = "Component.Xamarin" + }); + + MONODROID_PATH = vsInstallPath.Combine ("Common7/IDE/ReferenceAssemblies/Microsoft/Framework/MonoAndroid/v" + ANDROID_SDK_VERSION).FullPath; +} var MONO_PATH = "/Library/Frameworks/Mono.framework/Versions/Current"; @@ -154,6 +180,9 @@ if (IsRunningOnWindows ()) { MSCORLIB_PATH = MakeAbsolute (DOTNETDIR.Combine("Framework/v4.0.30319/")).FullPath; } +Information("MONODROID_PATH: {0}", MONODROID_PATH); +Information("MSCORLIB_PATH: {0}", MSCORLIB_PATH); + var buildsOnWinMac = BuildPlatforms.Windows | BuildPlatforms.Mac; var buildSpec = new BuildSpec { @@ -162,7 +191,7 @@ var buildSpec = new BuildSpec { SolutionPath = "./GooglePlayServices.sln", BuildsOn = BuildPlatforms.Windows | BuildPlatforms.Mac, MaxCpuCount = CPU_COUNT, - AlwaysUseMSBuild = ALWAYS_MSBUILD, + //AlwaysUseMSBuild = ALWAYS_MSBUILD, OutputFiles = new [] { new OutputFileCopy { FromFile = "./base/source/bin/Release/Xamarin.GooglePlayServices.Base.dll" }, new OutputFileCopy { FromFile = "./basement/source/bin/Release/Xamarin.GooglePlayServices.Basement.dll" }, @@ -172,12 +201,13 @@ var buildSpec = new BuildSpec { new OutputFileCopy { FromFile = "./analytics-impl/source/bin/Release/Xamarin.GooglePlayServices.Analytics.Impl.dll" }, new OutputFileCopy { FromFile = "./appinvite/source/bin/Release/Xamarin.GooglePlayServices.AppInvite.dll" }, new OutputFileCopy { FromFile = "./auth/source/bin/Release/Xamarin.GooglePlayServices.Auth.dll" }, + new OutputFileCopy { FromFile = "./auth-api-phone/source/bin/Release/Xamarin.GooglePlayServices.Auth.Api.Phone.dll" }, new OutputFileCopy { FromFile = "./auth-base/source/bin/Release/Xamarin.GooglePlayServices.Auth.Base.dll" }, new OutputFileCopy { FromFile = "./awareness/source/bin/Release/Xamarin.GooglePlayServices.Awareness.dll" }, new OutputFileCopy { FromFile = "./cast/source/bin/Release/Xamarin.GooglePlayServices.Cast.dll" }, new OutputFileCopy { FromFile = "./cast-framework/source/bin/Release/Xamarin.GooglePlayServices.Cast.Framework.dll" }, - new OutputFileCopy { FromFile = "./clearcut/source/bin/Release/Xamarin.GooglePlayServices.Clearcut.dll" }, new OutputFileCopy { FromFile = "./drive/source/bin/Release/Xamarin.GooglePlayServices.Drive.dll" }, + new OutputFileCopy { FromFile = "./fido/source/bin/Release/Xamarin.GooglePlayServices.Fido.dll" }, new OutputFileCopy { FromFile = "./fitness/source/bin/Release/Xamarin.GooglePlayServices.Fitness.dll" }, new OutputFileCopy { FromFile = "./games/source/bin/Release/Xamarin.GooglePlayServices.Games.dll" }, new OutputFileCopy { FromFile = "./gass/source/bin/Release/Xamarin.GooglePlayServices.Gass.dll" }, @@ -188,14 +218,15 @@ var buildSpec = new BuildSpec { new OutputFileCopy { FromFile = "./location/source/bin/Release/Xamarin.GooglePlayServices.Location.dll" }, new OutputFileCopy { FromFile = "./maps/source/bin/Release/Xamarin.GooglePlayServices.Maps.dll" }, new OutputFileCopy { FromFile = "./nearby/source/bin/Release/Xamarin.GooglePlayServices.Nearby.dll" }, + new OutputFileCopy { FromFile = "./oss-licenses/source/bin/Release/Xamarin.GooglePlayServices.Oss.Licenses.dll" }, new OutputFileCopy { FromFile = "./panorama/source/bin/Release/Xamarin.GooglePlayServices.Panorama.dll" }, new OutputFileCopy { FromFile = "./places/source/bin/Release/Xamarin.GooglePlayServices.Places.dll" }, new OutputFileCopy { FromFile = "./plus/source/bin/Release/Xamarin.GooglePlayServices.Plus.dll" }, new OutputFileCopy { FromFile = "./safetynet/source/bin/Release/Xamarin.GooglePlayServices.SafetyNet.dll" }, new OutputFileCopy { FromFile = "./vision/source/bin/Release/Xamarin.GooglePlayServices.Vision.dll" }, + new OutputFileCopy { FromFile = "./vision-common/source/bin/Release/Xamarin.GooglePlayServices.Vision.Common.dll" }, new OutputFileCopy { FromFile = "./wallet/source/bin/Release/Xamarin.GooglePlayServices.Wallet.dll" }, new OutputFileCopy { FromFile = "./wearable/source/bin/Release/Xamarin.GooglePlayServices.Wearable.dll" }, - new OutputFileCopy { FromFile = "./support-wearable/source/bin/Release/Xamarin.Android.Wear.dll" }, new OutputFileCopy { FromFile = "./tagmanager/source/bin/Release/Xamarin.GooglePlayServices.TagManager.dll" }, new OutputFileCopy { FromFile = "./tagmanager-api/source/bin/Release/Xamarin.GooglePlayServices.TagManager.Api.dll" }, new OutputFileCopy { FromFile = "./tagmanager-v4-impl/source/bin/Release/Xamarin.GooglePlayServices.TagManager.V4.Impl.dll" }, @@ -210,8 +241,11 @@ var buildSpec = new BuildSpec { new OutputFileCopy { FromFile = "./firebase-crash/source/bin/Release/Xamarin.Firebase.Crash.dll" }, new OutputFileCopy { FromFile = "./firebase-database/source/bin/Release/Xamarin.Firebase.Database.dll" }, new OutputFileCopy { FromFile = "./firebase-database-connection/source/bin/Release/Xamarin.Firebase.Database.Connection.dll" }, + new OutputFileCopy { FromFile = "./firebase-dynamic-links/source/bin/Release/Xamarin.Firebase.Dynamic.Links.dll" }, new OutputFileCopy { FromFile = "./firebase-iid/source/bin/Release/Xamarin.Firebase.Iid.dll" }, + new OutputFileCopy { FromFile = "./firebase-firestore/source/bin/Release/Xamarin.Firebase.Firestore.dll" }, new OutputFileCopy { FromFile = "./firebase-messaging/source/bin/Release/Xamarin.Firebase.Messaging.dll" }, + new OutputFileCopy { FromFile = "./firebase-perf/source/bin/Release/Xamarin.Firebase.Perf.dll" }, new OutputFileCopy { FromFile = "./firebase-storage/source/bin/Release/Xamarin.Firebase.Storage.dll" }, new OutputFileCopy { FromFile = "./firebase-storage-common/source/bin/Release/Xamarin.Firebase.Storage.Common.dll" }, } @@ -220,7 +254,7 @@ var buildSpec = new BuildSpec { Samples = new [] { new DefaultSolutionBuilder { SolutionPath = "./ads/samples/AdMobSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, - new DefaultSolutionBuilder { SolutionPath = "./analytics/samples/AnalyticsSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, + //new DefaultSolutionBuilder { SolutionPath = "./analytics/samples/AnalyticsSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./appinvite/samples/AppInviteSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./cast/samples/CastingCall.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./drive/samples/DriveSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, @@ -236,9 +270,7 @@ var buildSpec = new BuildSpec { new DefaultSolutionBuilder { SolutionPath = "./safetynet/samples/SafetyNetSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./vision/samples/VisionSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./wallet/samples/AndroidPayQuickstart.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, - new DefaultSolutionBuilder { SolutionPath = "./support-wearable/samples/MultiPageSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, - new DefaultSolutionBuilder { SolutionPath = "./support-wearable/samples/WatchFaceSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, - + new DefaultSolutionBuilder { SolutionPath = "./firebase-ads/samples/FirebaseAdmobQuickstart.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, new DefaultSolutionBuilder { SolutionPath = "./firebase-appindexing/samples/AppIndexingSample.sln", BuildsOn = buildsOnWinMac, MaxCpuCount = CPU_COUNT, AlwaysUseMSBuild = ALWAYS_MSBUILD }, @@ -259,12 +291,13 @@ var buildSpec = new BuildSpec { new NuGetInfo { NuSpec = "./analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./auth-api-phone/nuget/Xamarin.GooglePlayServices.Auth.Api.Phone.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./awareness/nuget/Xamarin.GooglePlayServices.Awareness.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, - new NuGetInfo { NuSpec = "./clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./fido/nuget/Xamarin.GooglePlayServices.Fido.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./fitness/nuget/Xamarin.GooglePlayServices.Fitness.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./games/nuget/Xamarin.GooglePlayServices.Games.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./gass/nuget/Xamarin.GooglePlayServices.Gass.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, @@ -275,14 +308,15 @@ var buildSpec = new BuildSpec { new NuGetInfo { NuSpec = "./location/nuget/Xamarin.GooglePlayServices.Location.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./oss-licenses/nuget/Xamarin.GooglePlayServices.Oss.Licenses.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./places/nuget/Xamarin.GooglePlayServices.Places.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./vision-common/nuget/Xamarin.GooglePlayServices.Vision.Common.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./wearable/nuget/Xamarin.GooglePlayServices.Wearable.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, - new NuGetInfo { NuSpec = "./support-wearable/nuget/Xamarin.Android.Wear.nuspec", Version = WEAR_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./tagmanager/nuget/Xamarin.GooglePlayServices.TagManager.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./tagmanager-api/nuget/Xamarin.GooglePlayServices.TagManager.Api.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./tagmanager-v4-impl/nuget/Xamarin.GooglePlayServices.TagManager.V4.Impl.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, @@ -298,9 +332,12 @@ var buildSpec = new BuildSpec { new NuGetInfo { NuSpec = "./firebase-crash/nuget/Xamarin.Firebase.Crash.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-database/nuget/Xamarin.Firebase.Database.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-database-connection/nuget/Xamarin.Firebase.Database.Connection.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./firebase-dynamic-links/nuget/Xamarin.Firebase.Dynamic.Links.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./firebase-firestore/nuget/Xamarin.Firebase.Firestore.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-iid/nuget/Xamarin.Firebase.Iid.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-invites/nuget/Xamarin.Firebase.Invites.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-messaging/nuget/Xamarin.Firebase.Messaging.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + new NuGetInfo { NuSpec = "./firebase-perf/nuget/Xamarin.Firebase.Perf.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-storage/nuget/Xamarin.Firebase.Storage.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, new NuGetInfo { NuSpec = "./firebase-storage-common/nuget/Xamarin.Firebase.Storage.Common.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, @@ -310,6 +347,9 @@ var buildSpec = new BuildSpec { // Type forwarder packages for backwards compatibility new NuGetInfo { NuSpec = "./appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, + + // Empty package for backwards compatibility + new NuGetInfo { NuSpec = "./clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true }, }, Components = new [] { @@ -329,7 +369,6 @@ var buildSpec = new BuildSpec { new Component { ManifestDirectory = "./safetynet/component" }, new Component { ManifestDirectory = "./vision/component" }, new Component { ManifestDirectory = "./wallet/component" }, - new Component { ManifestDirectory = "./support-wearable/component" }, new Component { ManifestDirectory = "./firebase-ads/component" }, new Component { ManifestDirectory = "./firebase-analytics/component" }, @@ -351,33 +390,33 @@ if (!string.IsNullOrEmpty (NUGET_SOURCES)) { Information (" {0}", nsrc.Url); } +Task ("sysinfo"); + Task ("externals") .WithCriteria (() => !FileExists ("./externals/play-services-base.aar")).Does (() => { var path = "./externals/"; - if (!DirectoryExists (path)) - CreateDirectory (path); - - // Get the actual GPS .aar files and extract - if (!FileExists (path + "m2repository.zip")) - DownloadFile (M2_REPOSITORY, path + "m2repository.zip"); - if (!FileExists (path + "m2repository/source.properties")) - Unzip (path + "m2repository.zip", path); - + EnsureDirectoryExists (path); + // Copy the .aar's to a better location foreach (var aar in AAR_INFOS) { - - CopyFile ( - string.Format (path + "m2repository/com/google/{0}/{1}/{2}-{3}.aar", aar.Path, aar.AarVersion, aar.Dir, aar.AarVersion), - string.Format (path + "{0}.aar", aar.Dir)); - Unzip (path + aar.Dir + ".aar", path + aar.Dir); + var aarUrl = MAVEN_REPO_BASE_URL + aar.Path + "/" + aar.AarVersion + "/" + aar.Dir + "-" + aar.AarVersion + ".aar"; + var aarFile = path + aar.Dir + ".aar"; + + // Download the .aar + if (!FileExists (aarFile)) + DownloadFile (aarUrl, aarFile); + + // Download the .md5 for the .aar + //if (!FileExists (aarFile + ".md5")) + // DownloadFile (aarUrl + ".md5", aarFile + ".md5"); + + // Unzip the .aar + if (!DirectoryExists (path + aar.Dir)) + Unzip (aarFile, path + aar.Dir); } - // Get Wearable stuff - Unzip (path + "m2repository/com/google/android/support/wearable/" + WEARABLE_SUPPORT_VERSION + "/wearable-" + WEARABLE_SUPPORT_VERSION + ".aar", path + "wearable-support"); - CopyFile (path + "m2repository/com/google/android/wearable/wearable/" + WEAR_AAR_VERSION + "/wearable-" + WEAR_AAR_VERSION + ".jar", path + "wearable.jar"); - // Get the GPS Docs if (!FileExists (path + "docs.zip")) DownloadFile (DOCS_URL, path + "docs.zip"); @@ -424,9 +463,28 @@ Task ("diff") MonoApiHtml ("./output/GooglePlayServices.api-info.previous.xml", "./output/GooglePlayServices.api-info.xml", "./output/GooglePlayServices.api-diff.html"); + + // Find obfuscated types/members and log them to a file + var obfuscations = FindObfuscations ("./output/GooglePlayServices.Merged.dll", false, false, false, null); + + var obfLog = "Obfuscated Types:" + System.Environment.NewLine; + foreach (var t in obfuscations.Types) + obfLog += t.NetType.FullName + " -> " + t.JavaType + System.Environment.NewLine; + obfLog += System.Environment.NewLine + "Obfuscated Members:" + System.Environment.NewLine; + foreach (var t in obfuscations.Members) + obfLog += t.NetMember.FullName + " -> " + t.JavaMember + System.Environment.NewLine; + FileWriteText ("./output/obfuscations.txt", obfLog); + + var missingMetadata = FindMissingMetadata ("./output/GooglePlayServices.Merged.dll"); + var metaLog = string.Empty; + foreach (var t in missingMetadata) + metaLog += t.NetMember.FullName + System.Environment.NewLine; + FileWriteText ("./output/missing-metadata.txt", metaLog); }); -Task ("merge").IsDependentOn ("libs").Does (() => +Task ("merge") + .IsDependentOn ("libs") + .Does (() => { if (FileExists ("./output/GooglePlayServices.Merged.dll")) DeleteFile ("./output/GooglePlayServices.Merged.dll"); @@ -440,24 +498,15 @@ Task ("merge").IsDependentOn ("libs").Does (() => CopyAttrs = true, AllowMultiple = true, //TargetKind = ILRepack.TargetKind.Dll, - Libs = new List { + Libs = new List { MONODROID_PATH }, }); }); -Task ("clean").IsDependentOn ("clean-base").Does (() => -{ - if (FileExists ("./generated.targets")) - DeleteFile ("./generated.targets"); - - if (DirectoryExists ("./externals")) - DeleteDirectory ("./externals", true); - - CleanDirectories ("./**/packages"); -}); - -Task ("cleanwin").Does (() => +Task ("clean") + .IsDependentOn ("clean-base") + .Does (() => { if (FileExists ("./generated.targets")) DeleteFile ("./generated.targets"); @@ -468,8 +517,9 @@ Task ("cleanwin").Does (() => CleanDirectories ("./**/packages"); }); - -Task ("component-docs").Does (() => +Task ("component-docs") + .IsDependentOn ("component-setup") + .Does (() => { var gettingStartedTemplates = new Dictionary (); @@ -536,7 +586,8 @@ Task ("component-docs").Does (() => } }); -Task ("component-setup").Does (() => +Task ("component-setup") + .Does (() => { var yamls = GetFiles ("./**/component/component.template.yaml"); foreach (var yaml in yamls) { @@ -550,9 +601,7 @@ Task ("component-setup").Does (() => var manifestTxt = FileReadText (yaml) .Replace ("$nuget-version$", NUGET_VERSION) - .Replace ("$version$", COMPONENT_VERSION) - .Replace ("$wear-version$", WEAR_COMPONENT_VERSION) - .Replace ("$wear-nuget-version$", WEAR_NUGET_VERSION); + .Replace ("$version$", COMPONENT_VERSION); var newYaml = yaml.GetDirectory ().CombineWithFilePath ("component.yaml"); FileWriteText (newYaml, manifestTxt); @@ -562,47 +611,35 @@ Task ("component-setup").Does (() => DeleteFiles ("./output/*.xam"); }); -Task ("component").IsDependentOn ("component-docs").IsDependentOn ("component-setup").IsDependentOn ("component-base"); - -Task ("nuget-setup").IsDependentOn ("buildtasks").Does (() => { +Task ("component") + .IsDependentOn ("component-docs") + .IsDependentOn ("component-base"); +Task ("nuget-setup") + .IsDependentOn ("buildtasks") + .Does (() => +{ var templateText = FileReadText ("./template.targets"); if (FileExists ("./generated.targets")) DeleteFile ("./generated.targets"); - // Get the zip file offsets for the relevant aar's - var downloadParts = FindZipEntries ("./externals/m2repository.zip") - .Where (e => (e.EntryName.Contains (PLAY_AAR_VERSION) || e.EntryName.Contains (WEAR_AAR_VERSION)) - && (e.EntryName.Contains (".aar") || e.EntryName.Contains (".jar"))) - .Select (e => new PartialZipInfo { - RangeStart = e.RangeStart, - RangeEnd = e.RangeEnd, - Url = M2_REPOSITORY, - LocalPath = e.EntryName, - Md5 = ReadZipEntryText ("./externals/m2repository.zip", e.EntryName + ".md5", readBinaryAsHex: !e.EntryName.Contains ("wearable-" + WEAR_AAR_VERSION + ".aar")) - }).ToList (); - foreach (var aar in AAR_INFOS) { // Write out the nuspec from template var nuspec = new FilePath ("./" + aar.BindingDir + "/nuget/" + aar.NugetId + ".template.nuspec"); - var nuspecTxt = FileReadText (nuspec).Replace ("$aar-version$", VERSION_DESC); + var nuspecTxt = FileReadText (nuspec) + .Replace ("$aar-version$", VERSION_DESC) + .Replace ("$support-version$", SUPPORT_VERSION); var newNuspec = nuspec.FullPath.Replace (".template.nuspec", ".nuspec"); FileWriteText (newNuspec, nuspecTxt); - // Write out the .targets - var part = downloadParts.FirstOrDefault (p => p.LocalPath.EndsWith ("/" + aar.Dir + "-" + aar.AarVersion + ".aar")); - - if (part == null) - throw new Exception ("No matching part found for '" + aar.Dir + "-" + aar.AarVersion + "' in partial-download-info.json "); - var msName = aar.Dir.Replace("-", ""); - var xbdKey = "playservices-" + PLAY_AAR_VERSION + "/" + msName; + if (aar.Dir.StartsWith ("firebase-")) xbdKey = "firebase-" + FIREBASE_AAR_VERSION + "/" + msName; - + var items = new Dictionary { { "_XbdUrl_", "_XbdUrl_" + msName }, { "_XbdKey_", "_XbdKey_" + msName }, @@ -611,12 +648,12 @@ Task ("nuget-setup").IsDependentOn ("buildtasks").Does (() => { { "_XbdAssemblyName_", "_XbdAssemblyName_" + msName }, { "_XbdAarFileFullPath_", "_XbdAarFileFullPath_" + msName }, { "_XbdRestoreItems_", "_XbdRestoreItems_" + msName }, - { "$XbdUrl$", M2_REPOSITORY }, - { "$XbdMd5$", part.Md5 }, + { "$XbdUrl$", MAVEN_REPO_BASE_URL + aar.Path + "/" + aar.AarVersion + "/" + aar.Dir + "-" + aar.AarVersion + ".aar" }, + // { "$XbdMd5$", part.Md5 }, { "$XbdKey$", xbdKey }, { "$XbdAssemblyName$", aar.NugetId }, - { "$XbdRangeStart$", part.RangeStart.ToString() }, - { "$XbdRangeEnd$", part.RangeEnd.ToString() }, + // { "$XbdRangeStart$", part.RangeStart.ToString() }, + // { "$XbdRangeEnd$", part.RangeEnd.ToString() }, { "$AarKey$", aar.Dir }, { "$AarVersion$", aar.AarVersion }, { "$AarInnerPath$", aar.Path.Replace ("/", "\\") }, @@ -682,20 +719,48 @@ Task ("nuget-setup").IsDependentOn ("buildtasks").Does (() => { var extraNuspecTemplates = new [] { new FilePath ("./appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.template.nuspec"), + new FilePath ("./clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec"), }; foreach (var nuspec in extraNuspecTemplates) { - var nuspecTxt = FileReadText (nuspec).Replace ("$aar-version$", VERSION_DESC); + var nuspecTxt = FileReadText (nuspec) + .Replace ("$aar-version$", VERSION_DESC) + .Replace ("$support-version$", SUPPORT_VERSION); var newNuspec = nuspec.FullPath.Replace (".template.nuspec", ".nuspec"); FileWriteText (newNuspec, nuspecTxt); } }); -Task ("nuget").IsDependentOn ("nuget-setup").IsDependentOn ("nuget-base").IsDependentOn ("libs"); +Task ("ci-setup") + .WithCriteria (!BuildSystem.IsLocalBuild) + .Does (() => +{ + var buildCommit = "DEV"; + var buildNumber = "DEBUG"; + var buildTimestamp = DateTime.UtcNow.ToString (); + + if (BuildSystem.IsRunningOnJenkins) { + buildNumber = BuildSystem.Jenkins.Environment.Build.BuildTag; + buildCommit = EnvironmentVariable("GIT_COMMIT") ?? buildCommit; + } else if (BuildSystem.IsRunningOnVSTS) { + buildNumber = BuildSystem.TFBuild.Environment.Build.Number; + buildCommit = BuildSystem.TFBuild.Environment.Repository.SourceVersion; + } + + foreach (var art in AAR_INFOS) { + var glob = "./" + art.BindingDir + "/**/source/**/AssemblyInfo.cs"; -Task ("libs").IsDependentOn ("nuget-setup").IsDependentOn ("genapi").IsDependentOn ("libs-base"); + ReplaceTextInFiles(glob, "{NUGET_VERSION}", art.NuGetVersion); + ReplaceTextInFiles(glob, "{BUILD_COMMIT}", buildCommit); + ReplaceTextInFiles(glob, "{BUILD_NUMBER}", buildNumber); + ReplaceTextInFiles(glob, "{BUILD_TIMESTAMP}", buildTimestamp); + } +}); -Task ("genapi").IsDependentOn ("libs-base").IsDependentOn ("externals").Does (() => { +Task ("genapi") + .IsDependentOn ("libs-base") + .Does (() => +{ var GenApiToolPath = GetFiles ("./tools/**/GenAPI.exe").FirstOrDefault (); @@ -725,20 +790,98 @@ Task ("genapi").IsDependentOn ("libs-base").IsDependentOn ("externals").Does (() }); } - DotNetBuild ("./GooglePlayServices.TypeForwarders.sln", c => c.Configuration = BUILD_CONFIG); + MSBuild ("./GooglePlayServices.TypeForwarders.sln", c => c.Configuration = BUILD_CONFIG); CopyFile ("./appindexing/source/bin/" + BUILD_CONFIG + "/Xamarin.GooglePlayServices.AppIndexing.dll", "./output/Xamarin.GooglePlayServices.AppIndexing.dll"); }); -Task ("buildtasks").Does (() => +Task ("buildtasks") + .Does (() => { NuGetRestore ("./basement/buildtasks/Basement-BuildTasks.csproj"); - DotNetBuild ("./basement/buildtasks/Basement-BuildTasks.csproj", c => c.Configuration = "Release"); + MSBuild ("./basement/buildtasks/Basement-BuildTasks.csproj", c => c.Configuration = "Release"); CopyFile ("./basement/buildtasks/bin/Release/Xamarin.GooglePlayServices.Basement.targets", "./basement/nuget/merge.targets"); }); +Task ("package-samples") + .IsDependentOn ("nuget") + .IsDependentOn ("samples") + .Does (() => +{ + EnsureDirectoryExists ("./output/samples/"); + + foreach (var sampleSln in buildSpec.Samples) { + + var slnPath = new FilePath ((sampleSln as DefaultSolutionBuilder).SolutionPath); + Information ("Packing sample: {0}", slnPath); + + var tempPath = new DirectoryPath ("./output/samples/tmp/"); + if (DirectoryExists (tempPath)) + DeleteDirectory (tempPath, true); + EnsureDirectoryExists (tempPath); + + var sampleDir = slnPath.GetDirectory (); + + CleanDirectories (sampleDir.FullPath.TrimEnd ('/') + "/**/bin"); + CleanDirectories (sampleDir.FullPath.TrimEnd ('/') + "/**/obj"); + + CopyDirectory (sampleDir, tempPath); + + var csprojGlobPattern = tempPath.FullPath.TrimEnd ('/') + "/**/*.csproj"; + var csprojs = GetFiles (csprojGlobPattern); + + + foreach (var csproj in csprojs) { + + Information ("Fixing CSPROJ: {0}", csproj); + + var xcsproj = System.Xml.Linq.XDocument.Load (MakeAbsolute (csproj).FullPath); + System.Xml.Linq.XNamespace nsRoot = xcsproj.Root.Name.Namespace; + + var prItemGroup = System.Xml.XPath.Extensions.XPathSelectElements (xcsproj, "//ItemGroup/PackageReference/..").FirstOrDefault(); + var prElems = System.Xml.XPath.Extensions.XPathSelectElements (xcsproj, "//ProjectReference[@NugetId!='']"); + + foreach (var prElem in prElems) { + Information ("Found element"); + var nugetId = prElem.Attribute (nsRoot + "NugetId")?.Value; + var aarInfo = AAR_INFOS.First (a => a.NugetId == nugetId); + var nugetVersion = aarInfo.NuGetVersion; + + Information ("Adding PackageReference: {0}, {1}", nugetId, nugetVersion); + + prItemGroup.Add (new System.Xml.Linq.XElement (nsRoot + "PackageReference", + new System.Xml.Linq.XAttribute (nsRoot + "Include", nugetId), + new System.Xml.Linq.XAttribute (nsRoot + "Version", nugetVersion))); + + prElem.Remove (); + } + + xcsproj.Save (MakeAbsolute (csproj).FullPath); + } + + ZipCompress(tempPath, "./output/samples/" + slnPath.GetFilenameWithoutExtension() + ".zip"); + + DeleteDirectory (tempPath, true); + } +}); + +Task ("nuget") + .IsDependentOn ("libs") + .IsDependentOn ("nuget-setup") + .IsDependentOn ("nuget-base"); + +Task ("libs") + .IsDependentOn ("externals") + .IsDependentOn ("nuget-setup") + .IsDependentOn ("libs-base") + .IsDependentOn ("genapi"); + +Task ("ci") + .IsDependentOn ("ci-setup") + .IsDependentOn ("diff") + .IsDependentOn ("package-samples"); SetupXamarinBuildTasks (buildSpec, Tasks, Task); diff --git a/build.ps1 b/build.ps1 index 977226ee3..82529cf60 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,3 +1,9 @@ +########################################################################## +# This is the Cake bootstrapper script for PowerShell. +# This file was downloaded from https://github.com/cake-build/resources +# Feel free to change this file to fit your needs. +########################################################################## + <# .SYNOPSIS @@ -15,65 +21,92 @@ The build script target to run. The build configuration to use. .PARAMETER Verbosity Specifies the amount of information to be displayed. +.PARAMETER ShowDescription +Shows description about tasks. +.PARAMETER DryRun +Performs a dry run. .PARAMETER Experimental -Tells Cake to use the latest Roslyn release. -.PARAMETER WhatIf -Performs a dry run of the build script. -No tasks will be executed. +Uses the nightly builds of the Roslyn script engine. .PARAMETER Mono -Tells Cake to use the Mono scripting engine. +Uses the Mono Compiler rather than the Roslyn script engine. +.PARAMETER SkipToolPackageRestore +Skips restoring of packages. +.PARAMETER ScriptArgs +Remaining arguments are added here. .LINK -http://cakebuild.net +https://cakebuild.net #> [CmdletBinding()] Param( [string]$Script = "build.cake", - [string]$Target = "Default", - [string]$Configuration = "Release", + [string]$Target, + [string]$Configuration, [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] - [string]$Verbosity = "Verbose", + [string]$Verbosity, + [switch]$ShowDescription, + [Alias("WhatIf", "Noop")] + [switch]$DryRun, [switch]$Experimental, - [Alias("DryRun","Noop")] - [switch]$WhatIf, [switch]$Mono, [switch]$SkipToolPackageRestore, [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] [string[]]$ScriptArgs ) -Write-Host "Preparing to run build script..." - -$PS_SCRIPT_ROOT = split-path -parent $MyInvocation.MyCommand.Definition; -$TOOLS_DIR = Join-Path $PSScriptRoot "tools" -$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" -$NUGET_URL = "http://dist.nuget.org/win-x86-commandline/latest/nuget.exe" -$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" -$PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" -$CAKE_PACKAGES_CONFIG = Join-Path $PSScriptRoot "cake.packages.config" +[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null +function MD5HashFile([string] $filePath) +{ + if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf)) + { + return $null + } -# Should we use mono? -$UseMono = ""; -if($Mono.IsPresent) { - Write-Verbose -Message "Using the Mono based scripting engine." - $UseMono = "-mono" + [System.IO.Stream] $file = $null; + [System.Security.Cryptography.MD5] $md5 = $null; + try + { + $md5 = [System.Security.Cryptography.MD5]::Create() + $file = [System.IO.File]::OpenRead($filePath) + return [System.BitConverter]::ToString($md5.ComputeHash($file)) + } + finally + { + if ($file -ne $null) + { + $file.Dispose() + } + } } -# Should we use the new Roslyn? -$UseExperimental = ""; -if($Experimental.IsPresent -and !($Mono.IsPresent)) { - Write-Verbose -Message "Using experimental version of Roslyn." - $UseExperimental = "-experimental" +function GetProxyEnabledWebClient +{ + $wc = New-Object System.Net.WebClient + $proxy = [System.Net.WebRequest]::GetSystemWebProxy() + $proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials + $wc.Proxy = $proxy + return $wc } -# Is this a dry run? -$UseDryRun = ""; -if($WhatIf.IsPresent) { - $UseDryRun = "-dryrun" +Write-Host "Preparing to run build script..." + +if(!$PSScriptRoot){ + $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent } +$TOOLS_DIR = Join-Path $PSScriptRoot "tools" +$ADDINS_DIR = Join-Path $TOOLS_DIR "Addins" +$MODULES_DIR = Join-Path $TOOLS_DIR "Modules" +$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" +$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" +$NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" +$PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" +$PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum" +$ADDINS_PACKAGES_CONFIG = Join-Path $ADDINS_DIR "packages.config" +$MODULES_PACKAGES_CONFIG = Join-Path $MODULES_DIR "packages.config" + # Make sure tools folder exists if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { Write-Verbose -Message "Creating tools directory..." @@ -82,21 +115,18 @@ if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { # Make sure that packages.config exist. if (!(Test-Path $PACKAGES_CONFIG)) { - if (!(Test-Path $CAKE_PACKAGES_CONFIG)) { - Write-Verbose -Message "Downloading packages.config..." - try { Invoke-WebRequest -Uri http://cakebuild.net/bootstrapper/packages -OutFile $PACKAGES_CONFIG } catch { - Throw "Could not download packages.config." - } - } else { - Write-Verbose -Message "using local cake.packages.config..." - Copy-Item $CAKE_PACKAGES_CONFIG $PACKAGES_CONFIG + Write-Verbose -Message "Downloading packages.config..." + try { + $wc = GetProxyEnabledWebClient + $wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { + Throw "Could not download packages.config." } } # Try find NuGet.exe in path if not exists if (!(Test-Path $NUGET_EXE)) { Write-Verbose -Message "Trying to find nuget.exe in PATH..." - $existingPaths = $Env:Path -Split ';' | Where-Object { Test-Path $_ } + $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_ -PathType Container) } $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1 if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) { Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)." @@ -108,7 +138,8 @@ if (!(Test-Path $NUGET_EXE)) { if (!(Test-Path $NUGET_EXE)) { Write-Verbose -Message "Downloading NuGet.exe..." try { - (New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE) + $wc = GetProxyEnabledWebClient + $wc.DownloadFile($NUGET_URL, $NUGET_EXE) } catch { Throw "Could not download NuGet.exe." } @@ -118,21 +149,66 @@ if (!(Test-Path $NUGET_EXE)) { $ENV:NUGET_EXE = $NUGET_EXE # Restore tools from NuGet? -if(-Not $SkipToolPackageRestore.IsPresent) -{ - # Restore packages from NuGet. +if(-Not $SkipToolPackageRestore.IsPresent) { Push-Location Set-Location $TOOLS_DIR + # Check for changes in packages.config and remove installed tools if true. + [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG) + if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or + ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) { + Write-Verbose -Message "Missing or changed package.config hash..." + Get-ChildItem -Exclude packages.config,nuget.exe,Cake.Bakery | + Remove-Item -Recurse + } + Write-Verbose -Message "Restoring tools from NuGet..." $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`"" + + if ($LASTEXITCODE -ne 0) { + Throw "An error occurred while restoring NuGet tools." + } + else + { + $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII" + } Write-Verbose -Message ($NuGetOutput | out-string) Pop-Location - if ($LASTEXITCODE -ne 0) - { - exit $LASTEXITCODE +} + +# Restore addins from NuGet +if (Test-Path $ADDINS_PACKAGES_CONFIG) { + Push-Location + Set-Location $ADDINS_DIR + + Write-Verbose -Message "Restoring addins from NuGet..." + $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$ADDINS_DIR`"" + + if ($LASTEXITCODE -ne 0) { + Throw "An error occurred while restoring NuGet addins." } + + Write-Verbose -Message ($NuGetOutput | out-string) + + Pop-Location +} + +# Restore modules from NuGet +if (Test-Path $MODULES_PACKAGES_CONFIG) { + Push-Location + Set-Location $MODULES_DIR + + Write-Verbose -Message "Restoring modules from NuGet..." + $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$MODULES_DIR`"" + + if ($LASTEXITCODE -ne 0) { + Throw "An error occurred while restoring NuGet modules." + } + + Write-Verbose -Message ($NuGetOutput | out-string) + + Pop-Location } # Make sure that Cake has been installed. @@ -140,7 +216,20 @@ if (!(Test-Path $CAKE_EXE)) { Throw "Could not find Cake.exe at $CAKE_EXE" } + + +# Build Cake arguments +$cakeArguments = @("$Script"); +if ($Target) { $cakeArguments += "-target=$Target" } +if ($Configuration) { $cakeArguments += "-configuration=$Configuration" } +if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" } +if ($ShowDescription) { $cakeArguments += "-showdescription" } +if ($DryRun) { $cakeArguments += "-dryrun" } +if ($Experimental) { $cakeArguments += "-experimental" } +if ($Mono) { $cakeArguments += "-mono" } +$cakeArguments += $ScriptArgs + # Start Cake Write-Host "Running build script..." -Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs" +&$CAKE_EXE $cakeArguments exit $LASTEXITCODE diff --git a/build.sh b/build.sh index 158be6c46..b9e12527f 100644 --- a/build.sh +++ b/build.sh @@ -1,35 +1,41 @@ #!/usr/bin/env bash -############################################################### -# This is the Cake bootstrapper script that is responsible for -# downloading Cake and all specified tools from NuGet. -############################################################### + +########################################################################## +# This is the Cake bootstrapper script for Linux and OS X. +# This file was downloaded from https://github.com/cake-build/resources +# Feel free to change this file to fit your needs. +########################################################################## # Define directories. SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) TOOLS_DIR=$SCRIPT_DIR/tools -export NUGET_EXE=$TOOLS_DIR/nuget.exe +ADDINS_DIR=$TOOLS_DIR/Addins +MODULES_DIR=$TOOLS_DIR/Modules +NUGET_EXE=$TOOLS_DIR/nuget.exe CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe +PACKAGES_CONFIG=$TOOLS_DIR/packages.config +PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum +ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config +MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config + +# Define md5sum or md5 depending on Linux/OSX +MD5_EXE= +if [[ "$(uname -s)" == "Darwin" ]]; then + MD5_EXE="md5 -r" +else + MD5_EXE="md5sum" +fi # Define default arguments. SCRIPT="build.cake" -TARGET="Default" -CONFIGURATION="Release" -VERBOSITY="verbose" -DRYRUN= -SHOW_VERSION=false -SCRIPT_ARGUMENTS=() +CAKE_ARGUMENTS=() # Parse arguments. for i in "$@"; do case $1 in -s|--script) SCRIPT="$2"; shift ;; - -t|--target) TARGET="$2"; shift ;; - -c|--configuration) CONFIGURATION="$2"; shift ;; - -v|--verbosity) VERBOSITY="$2"; shift ;; - -d|--dryrun) DRYRUN="-dryrun" ;; - --version) SHOW_VERSION=true ;; - --) shift; SCRIPT_ARGUMENTS+=("$@"); break ;; - *) SCRIPT_ARGUMENTS+=("$1") ;; + --) shift; CAKE_ARGUMENTS+=("$@"); break ;; + *) CAKE_ARGUMENTS+=("$1") ;; esac shift done @@ -41,39 +47,66 @@ fi # Make sure that packages.config exist. if [ ! -f "$TOOLS_DIR/packages.config" ]; then - if [ ! -f "$SCRIPT_DIR/cake.packages.config" ]; then - echo "Downloading packages.config..." - curl -Lsfo "$TOOLS_DIR/packages.config" http://cakebuild.net/bootstrapper/packages - if [ $? -ne 0 ]; then - echo "An error occured while downloading packages.config." - exit 1 - fi - else - echo "using local cake.packages.config..." - cp "$SCRIPT_DIR/cake.packages.config" "$TOOLS_DIR/packages.config" + echo "Downloading packages.config..." + curl -Lsfo "$TOOLS_DIR/packages.config" https://cakebuild.net/download/bootstrapper/packages + if [ $? -ne 0 ]; then + echo "An error occurred while downloading packages.config." + exit 1 fi fi # Download NuGet if it does not exist. if [ ! -f "$NUGET_EXE" ]; then echo "Downloading NuGet..." - curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/v3.4.4/NuGet.exe - # v3/Latest URL: https://dist.nuget.org/win-x86-commandline/latest/nuget.exe + curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe if [ $? -ne 0 ]; then - echo "An error occured while downloading nuget.exe." + echo "An error occurred while downloading nuget.exe." exit 1 fi fi # Restore tools from NuGet. pushd "$TOOLS_DIR" >/dev/null +if [ ! -f "$PACKAGES_CONFIG_MD5" ] || [ "$( cat "$PACKAGES_CONFIG_MD5" | sed 's/\r$//' )" != "$( $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' )" ]; then + find . -type d ! -name . ! -name 'Cake.Bakery' | xargs rm -rf +fi + mono "$NUGET_EXE" install -ExcludeVersion if [ $? -ne 0 ]; then - echo "Could not restore NuGet packages." + echo "Could not restore NuGet tools." exit 1 fi + +$MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5" + popd >/dev/null +# Restore addins from NuGet. +if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then + pushd "$ADDINS_DIR" >/dev/null + + mono "$NUGET_EXE" install -ExcludeVersion + if [ $? -ne 0 ]; then + echo "Could not restore NuGet addins." + exit 1 + fi + + popd >/dev/null +fi + +# Restore modules from NuGet. +if [ -f "$MODULES_PACKAGES_CONFIG" ]; then + pushd "$MODULES_DIR" >/dev/null + + mono "$NUGET_EXE" install -ExcludeVersion + if [ $? -ne 0 ]; then + echo "Could not restore NuGet modules." + exit 1 + fi + + popd >/dev/null +fi + # Make sure that Cake has been installed. if [ ! -f "$CAKE_EXE" ]; then echo "Could not find Cake.exe at '$CAKE_EXE'." @@ -81,8 +114,4 @@ if [ ! -f "$CAKE_EXE" ]; then fi # Start Cake -if $SHOW_VERSION; then - exec mono "$CAKE_EXE" -version -else - exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -configuration=$CONFIGURATION -target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}" -fi +exec mono "$CAKE_EXE" $SCRIPT "${CAKE_ARGUMENTS[@]}" diff --git a/cake.config b/cake.config new file mode 100644 index 000000000..c11add048 --- /dev/null +++ b/cake.config @@ -0,0 +1,11 @@ +[Nuget] +Source=https://api.nuget.org/v3/index.json +LoadDependencies=true + +[Paths] +Tools=./tools +Addins=./tools/Addins +Modules=./tools/Modules + +[Settings] +SkipVerification=True diff --git a/cake.packages.config b/cake.packages.config deleted file mode 100644 index 7486c1936..000000000 --- a/cake.packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec b/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec index af02fb1b1..b998eb7ca 100644 --- a/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec +++ b/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec @@ -12,22 +12,22 @@ Xamarin.Android Bindings for Google Play Services - Cast Framework $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-cast-framework_128x128.png - + - - + + - + - + diff --git a/cast-framework/source/Cast.Framework.csproj b/cast-framework/source/Cast.Framework.csproj index b239ed19f..b7d57c79c 100644 --- a/cast-framework/source/Cast.Framework.csproj +++ b/cast-framework/source/Cast.Framework.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -14,7 +13,7 @@ Assets False Xamarin.GooglePlayServices.Cast.Framework - v7.0 + v8.0 class-parse ..\..\externals\docs\reference API API + + + java.lang.Object + java.lang.Object + + diff --git a/cast/source/packages.config b/cast/source/packages.config deleted file mode 100644 index a69fe88c9..000000000 --- a/cast/source/packages.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec b/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec index aab8c8520..eb885a4cd 100644 --- a/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec +++ b/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec @@ -2,29 +2,28 @@ Xamarin.GooglePlayServices.Clearcut - Xamarin Google Play Services - Clearcut + OBSOLETE: Xamarin Google Play Services - Clearcut $version$ Xamarin Inc. Xamarin Inc. true - Xamarin.Android Bindings for Google Play Services - Clearcut $aar-version$ + OBSOLETE: Xamarin.Android Bindings for Google Play Services - Clearcut - Xamarin.Android Bindings for Google Play Services - Clearcut $aar-version$ + PLEASE UNINSTALL THIS PACKAGE + + This package is an empty placeholder for the Xamarin.Android Bindings for Google Play Services - Clearcut + New versions of this library are no longer shipped and this nuget package should be uninstalled from your projects. Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-clearcut_128x128.png - - - - - - - + + + - + diff --git a/clearcut/nuget/obsolete.targets b/clearcut/nuget/obsolete.targets new file mode 100644 index 000000000..0382c9a2e --- /dev/null +++ b/clearcut/nuget/obsolete.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/clearcut/nuget/readme.txt b/clearcut/nuget/readme.txt new file mode 100644 index 000000000..7b63b4493 --- /dev/null +++ b/clearcut/nuget/readme.txt @@ -0,0 +1,8 @@ +Xamarin.Android bindings for Google Play Services - Clearcut +------------------------------------------------------------ + +This nuget package is OBSOLETE! + +This version of this nuget package contains no libraries or bindings. + +Please uninstall this nuget package now. diff --git a/clearcut/source/Jars/AboutJars.txt b/clearcut/source/Jars/AboutJars.txt deleted file mode 100644 index 320a154be..000000000 --- a/clearcut/source/Jars/AboutJars.txt +++ /dev/null @@ -1,37 +0,0 @@ -This directory is for Android .jars. - -There are 4 types of jars that are supported: - -== Input Jar and Embedded Jar == - -This is the jar that bindings should be generated for. - -For example, if you were binding the Google Maps library, this would -be Google's "maps.jar". - -The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be -embedded in the resulting dll as EmbeddedResource, while InputJar is not. -There are couple of reasons you wouldn't like to embed the target jar -in your dll (the ones that could be internally loaded by -feature e.g. maps.jar, or you cannot embed jars that are under some -proprietary license). - -Set the build action for these jars in the properties page to "InputJar". - - -== Reference Jar and Embedded Reference Jar == - -These are jars that are referenced by the input jar. C# bindings will -not be created for these jars. These jars will be used to resolve -types used by the input jar. - -NOTE: Do not add "android.jar" as a reference jar. It will be added automatically -based on the Target Framework selected. - -Set the build action for these jars in the properties page to "ReferenceJar". - -"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is -embedded in your dll. But at application build time, they are not included -in the final apk, like ReferenceJar files. - - diff --git a/clearcut/source/Transforms/Metadata.generated.xml b/clearcut/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/clearcut/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/clearcut/source/packages.config b/clearcut/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/clearcut/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec b/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec index e93c758d1..a2ecf18ef 100644 --- a/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec +++ b/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec @@ -14,19 +14,19 @@ With Drive now part of Android, integrating Drive services into your Android application has never been easier. With sync and offline support, we make it easier for you to focus on writing great apps. Simply read and write files and we’ll handle the details. Copyright © Microsoft Corporation - http://components.xamarin.com/view/googleplayservices-drive/ - http://components.xamarin.com/license/googleplayservices-drive/ + https://github.com/xamarin/googleplayservicescomponents + https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-drive_128x128.png - + - + - + diff --git a/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj b/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj index 690b2de6a..be8834ee1 100644 --- a/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj +++ b/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj @@ -29,12 +29,10 @@ - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - + + + + @@ -48,7 +46,4 @@ - - - \ No newline at end of file diff --git a/drive/samples/DriveSample.UITests/packages.config b/drive/samples/DriveSample.UITests/packages.config deleted file mode 100644 index f55a18725..000000000 --- a/drive/samples/DriveSample.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/drive/samples/DriveSample/DriveSample.csproj b/drive/samples/DriveSample/DriveSample.csproj index 5ee55df49..d8d2df3fd 100644 --- a/drive/samples/DriveSample/DriveSample.csproj +++ b/drive/samples/DriveSample/DriveSample.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -16,7 +15,7 @@ True false DriveSample - v7.0 + v8.0 armeabi;armeabi-v7a;x86;arm64-v8a;x86_64 @@ -44,24 +43,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - + + + + @@ -72,7 +57,6 @@ - @@ -103,14 +87,4 @@ - - - - - - - - - - \ No newline at end of file diff --git a/drive/samples/DriveSample/packages.config b/drive/samples/DriveSample/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/drive/samples/DriveSample/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/drive/source/Additions/IPendingResultExtensions.cs b/drive/source/Additions/IPendingResultExtensions.cs index cbe6d2d58..ed9afb617 100644 --- a/drive/source/Additions/IPendingResultExtensions.cs +++ b/drive/source/Additions/IPendingResultExtensions.cs @@ -8,11 +8,11 @@ namespace Android.Gms.Drive { public static partial class IDriveApiExtensions { - [Obsolete] - public static async Task CancelPendingActionsAsync (this IDriveApi api, GoogleApiClient apiClient, IList trackingTags) - { - return (await api.CancelPendingActions (apiClient, trackingTags)).JavaCast (); - } + //[Obsolete] + //public static async Task CancelPendingActionsAsync (this IDriveApi api, GoogleApiClient apiClient, IList trackingTags) + //{ + // return (await api.CancelPendingActions (apiClient, trackingTags)).JavaCast (); + //} public static async Task FetchDriveIdAsync (this IDriveApi api, GoogleApiClient apiClient, string resourceId) { return (await api.FetchDriveId (apiClient, resourceId)).JavaCast (); diff --git a/drive/source/Drive.csproj b/drive/source/Drive.csproj index 1c1710319..adb26b8ac 100644 --- a/drive/source/Drive.csproj +++ b/drive/source/Drive.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.GooglePlayServices.Drive - v7.0 + v8.0 class-parse ..\..\externals\docs\reference + + + + java.lang.Object + java.lang.Object + + + + + + java.lang.Thread + java.lang.Thread + java.lang.Thread + java.lang.Thread diff --git a/drive/source/packages.config b/drive/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/drive/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/fido/nuget/Xamarin.GooglePlayServices.Fido.template.nuspec b/fido/nuget/Xamarin.GooglePlayServices.Fido.template.nuspec new file mode 100644 index 000000000..f32d5b4ce --- /dev/null +++ b/fido/nuget/Xamarin.GooglePlayServices.Fido.template.nuspec @@ -0,0 +1,31 @@ + + + + Xamarin.GooglePlayServices.Fido + Xamarin Google Play Services - Fido + $version$ + Xamarin Inc. + Xamarin Inc. + true + Xamarin.Android Bindings for Google Play Services - Fido $aar-version$ + + Xamarin.Android Bindings for Google Play Services - Fido $aar-version$ + + Copyright © Microsoft Corporation + https://github.com/xamarin/googleplayservicescomponents + https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md + https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-fitness_128x128.png + + + + + + + + + + + + + + diff --git a/fido/source/Additions/TaskExtensions.cs b/fido/source/Additions/TaskExtensions.cs new file mode 100644 index 000000000..032968fb2 --- /dev/null +++ b/fido/source/Additions/TaskExtensions.cs @@ -0,0 +1,19 @@ +using System; +using System.Threading.Tasks; +using Android.Gms.Extensions; + +namespace Android.Gms.Fido.U2F +{ + public partial class U2fApiClient + { + public Task GetRegisterIntentAsync(Android.Gms.Fido.U2F.Api.Common.RegisterRequestParams requestParams) + { + return GetRegisterIntent(requestParams).AsAsync(); + } + + public Task GetSignIntentAsync(Android.Gms.Fido.U2F.Api.Common.SignRequestParams requestParams) + { + return GetSignIntent(requestParams).AsAsync(); + } + } +} diff --git a/fido/source/Fido.csproj b/fido/source/Fido.csproj new file mode 100644 index 000000000..d5ab9b462 --- /dev/null +++ b/fido/source/Fido.csproj @@ -0,0 +1,94 @@ + + + + Debug + AnyCPU + {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {B78600C5-A46A-4BEA-A060-D8074FA31469} + Library + GooglePlayServices.Fido + Resources + Assets + False + Xamarin.GooglePlayServices.Fido + v8.0 + class-parse + ..\..\externals\docs\reference + + 8.0.30703 + 2.0 + + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + None + false + + + full + true + bin\Release + prompt + 4 + false + false + + + + + + + + + + + + + + + + + Transforms\Metadata.Common.xml + + + + + Jars\play-services-fido.jar + + + + + {3F6BAE25-ADEB-468C-8384-AD655623C341} + Base + + + {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} + Basement + + + {53F87D88-8871-41A2-9F81-B79AB02FEC24} + Tasks + + + + + + + + + + + + + + + + diff --git a/support-wearable/source/Properties/AssemblyInfo.cs b/fido/source/Properties/AssemblyInfo.cs similarity index 73% rename from support-wearable/source/Properties/AssemblyInfo.cs rename to fido/source/Properties/AssemblyInfo.cs index c63849c52..9ad8232ff 100644 --- a/support-wearable/source/Properties/AssemblyInfo.cs +++ b/fido/source/Properties/AssemblyInfo.cs @@ -1,10 +1,11 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; // Information about this assembly is defined by the following attributes. // Change them to the values specific to your project. -[assembly: AssemblyTitle ("Xamarin.Android.Wear")] + +[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Fido")] [assembly: AssemblyDescription ("")] [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Microsoft Corporation")] @@ -12,11 +13,20 @@ [assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] + // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. + [assembly: AssemblyVersion ("1.0.0")] + // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. + //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/support-wearable/source/Transforms/EnumFields.xml b/fido/source/Transforms/EnumFields.xml similarity index 100% rename from support-wearable/source/Transforms/EnumFields.xml rename to fido/source/Transforms/EnumFields.xml diff --git a/fido/source/Transforms/EnumMethods.xml b/fido/source/Transforms/EnumMethods.xml new file mode 100644 index 000000000..2efa81467 --- /dev/null +++ b/fido/source/Transforms/EnumMethods.xml @@ -0,0 +1,18 @@ + + + diff --git a/fido/source/Transforms/Metadata.xml b/fido/source/Transforms/Metadata.xml new file mode 100644 index 000000000..c376cf8d0 --- /dev/null +++ b/fido/source/Transforms/Metadata.xml @@ -0,0 +1,10 @@ + + + Android.Gms.Fido + Android.Gms.Fido.Common + Android.Gms.Fido.U2F + Android.Gms.Fido.U2F.Api.Common + Android.Gms.Fido.U2F.MessageBased + + + diff --git a/firebase-ads/component/component.template.yaml b/firebase-ads/component/component.template.yaml index 89665673c..f139231ec 100644 --- a/firebase-ads/component/component.template.yaml +++ b/firebase-ads/component/component.template.yaml @@ -19,7 +19,6 @@ samples: - Base - Basement - Basement-BuildTasks - - Clearcut - Gass - Tasks - Ads @@ -29,7 +28,6 @@ samples: packages: - Xamarin.GooglePlayServices.Base - Xamarin.GooglePlayServices.Basement - - Xamarin.GooglePlayServices.Clearcut - Xamarin.GooglePlayServices.Gass - Xamarin.GooglePlayServices.Tasks - Xamarin.GooglePlayServices.Ads diff --git a/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec b/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec index 864f60240..5be1e3f37 100644 --- a/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec +++ b/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Firebase - Ads $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-ads_128x128.png - + @@ -24,6 +24,5 @@ - diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj index 09d310e6c..ccf89193d 100644 --- a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj +++ b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj @@ -26,18 +26,13 @@ - - ..\packages\NUnit.2.6.3\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - - + + - + diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config deleted file mode 100644 index bf72f65b8..000000000 --- a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.sln b/firebase-ads/samples/FirebaseAdmobQuickstart.sln index 4afa36a28..6e2a7e7fc 100644 --- a/firebase-ads/samples/FirebaseAdmobQuickstart.sln +++ b/firebase-ads/samples/FirebaseAdmobQuickstart.sln @@ -11,8 +11,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads", "..\..\ads\source\Ads EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "..\..\clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "..\..\gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}" @@ -47,10 +45,6 @@ Global {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj b/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj index bba966e67..9eca97186 100644 --- a/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj +++ b/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -9,7 +8,7 @@ Library Admob Admob - v7.0 + v8.0 True Resources\Resource.designer.cs Resource @@ -44,33 +43,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.v7.AppCompat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - + + + + @@ -81,7 +57,6 @@ - @@ -121,10 +96,6 @@ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} Basement - - {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} - Clearcut - {D705BF83-81FD-4CD9-AF3B-09C50FF42C83} Gass @@ -142,15 +113,5 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config b/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config deleted file mode 100644 index 3f96dfaed..000000000 --- a/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec b/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec index 74f141a0a..9eeb19508 100644 --- a/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec +++ b/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Firebase - Analytics Impl $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-analytics-impl_128x128.png - + @@ -25,8 +25,8 @@ - + - + diff --git a/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj b/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj index 74eabda38..b4ffbca95 100644 --- a/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj +++ b/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.Firebase.Analytics.Impl - v7.0 + v8.0 class-parse ..\..\externals\docs\reference 8.0.30703 @@ -51,13 +50,14 @@ - - + + Transforms\Metadata.Common.xml + @@ -77,12 +77,14 @@ Tasks - - Jars\firebase-analytics-impl.jar - + + + + + diff --git a/firebase-analytics-impl/source/Properties/AssemblyInfo.cs b/firebase-analytics-impl/source/Properties/AssemblyInfo.cs index 59655fe81..84afb0b0e 100644 --- a/firebase-analytics-impl/source/Properties/AssemblyInfo.cs +++ b/firebase-analytics-impl/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/firebase-analytics-impl/source/Transforms/Metadata.generated.xml b/firebase-analytics-impl/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/firebase-analytics-impl/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/firebase-analytics-impl/source/packages.config b/firebase-analytics-impl/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/firebase-analytics-impl/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec b/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec index 4bbb0e6b2..2945508f1 100644 --- a/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec +++ b/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Firebase - Analytics $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-analytics_128x128.png - + @@ -24,8 +24,8 @@ - + - + diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj index 7eac9f1ba..bad5f0fee 100644 --- a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj +++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj @@ -26,18 +26,13 @@ - - ..\packages\NUnit.2.6.3\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - - + + - + diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config deleted file mode 100644 index bf72f65b8..000000000 --- a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj index 3bf19b53a..1efcd3113 100644 --- a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj +++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -9,7 +8,7 @@ Library FirebaseAnalyticsQuickstart FirebaseAnalyticsQuickstart - v7.0 + v8.0 True Resources\Resource.designer.cs Resource @@ -43,33 +42,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - - - ..\packages\Xamarin.Android.Support.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.v7.AppCompat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll - + + + + @@ -82,7 +58,6 @@ - @@ -151,14 +126,4 @@ - - - - - - - - - - \ No newline at end of file diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config deleted file mode 100644 index 3f96dfaed..000000000 --- a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/firebase-analytics/source/Firebase-Analytics.csproj b/firebase-analytics/source/Firebase-Analytics.csproj index 8017b4cd3..b771205fe 100644 --- a/firebase-analytics/source/Firebase-Analytics.csproj +++ b/firebase-analytics/source/Firebase-Analytics.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.Firebase.Analytics - v7.0 + v8.0 class-parse ..\..\externals\docs\reference 8.0.30703 @@ -51,13 +50,14 @@ - - + + Transforms\Metadata.Common.xml + @@ -77,12 +77,14 @@ Tasks - - Jars\firebase-analytics.jar - + + + + + diff --git a/firebase-analytics/source/Properties/AssemblyInfo.cs b/firebase-analytics/source/Properties/AssemblyInfo.cs index 68c73c6b3..62e19fbba 100644 --- a/firebase-analytics/source/Properties/AssemblyInfo.cs +++ b/firebase-analytics/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -26,3 +26,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/firebase-analytics/source/Transforms/Metadata.generated.xml b/firebase-analytics/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/firebase-analytics/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/firebase-analytics/source/packages.config b/firebase-analytics/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/firebase-analytics/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/firebase-appindexing/nuget/Xamarin.Firebase.AppIndexing.template.nuspec b/firebase-appindexing/nuget/Xamarin.Firebase.AppIndexing.template.nuspec index ff01102de..6ab0b0e84 100644 --- a/firebase-appindexing/nuget/Xamarin.Firebase.AppIndexing.template.nuspec +++ b/firebase-appindexing/nuget/Xamarin.Firebase.AppIndexing.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Firebase - AppIndexing $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-appindexing_128x128.png - + @@ -25,8 +25,8 @@ - + - + diff --git a/firebase-appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj b/firebase-appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj index 5b57ca3f0..ac49715b4 100644 --- a/firebase-appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj +++ b/firebase-appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj @@ -29,12 +29,10 @@ - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - + + + + @@ -48,7 +46,4 @@ - - - \ No newline at end of file diff --git a/firebase-appindexing/samples/AppIndexingSample.UITests/packages.config b/firebase-appindexing/samples/AppIndexingSample.UITests/packages.config deleted file mode 100644 index f55a18725..000000000 --- a/firebase-appindexing/samples/AppIndexingSample.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/firebase-appindexing/samples/AppIndexingSample/AppIndexingSample.csproj b/firebase-appindexing/samples/AppIndexingSample/AppIndexingSample.csproj index 368ba9340..bfdb2756f 100644 --- a/firebase-appindexing/samples/AppIndexingSample/AppIndexingSample.csproj +++ b/firebase-appindexing/samples/AppIndexingSample/AppIndexingSample.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -16,7 +15,7 @@ True false AppIndexingSample - v7.0 + v8.0 armeabi;armeabi-v7a;x86;arm64-v8a;x86_64 @@ -44,24 +43,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - + + + + @@ -73,7 +58,6 @@ - @@ -112,11 +96,4 @@ - - - - - - - \ No newline at end of file diff --git a/firebase-appindexing/samples/AppIndexingSample/packages.config b/firebase-appindexing/samples/AppIndexingSample/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/firebase-appindexing/samples/AppIndexingSample/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/firebase-appindexing/source/Firebase-AppIndexing.csproj b/firebase-appindexing/source/Firebase-AppIndexing.csproj index 924ac2f25..035eb11d1 100644 --- a/firebase-appindexing/source/Firebase-AppIndexing.csproj +++ b/firebase-appindexing/source/Firebase-AppIndexing.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.Firebase.AppIndexing - v7.0 + v8.0 class-parse ..\..\externals\docs\reference 8.0.30703 @@ -52,14 +51,14 @@ - - - + + Transforms\Metadata.Common.xml + @@ -79,12 +78,14 @@ Tasks - - Jars\firebase-appindexing.jar - + + + + + diff --git a/firebase-appindexing/source/Jars/AboutJars.txt b/firebase-appindexing/source/Jars/AboutJars.txt deleted file mode 100644 index 320a154be..000000000 --- a/firebase-appindexing/source/Jars/AboutJars.txt +++ /dev/null @@ -1,37 +0,0 @@ -This directory is for Android .jars. - -There are 4 types of jars that are supported: - -== Input Jar and Embedded Jar == - -This is the jar that bindings should be generated for. - -For example, if you were binding the Google Maps library, this would -be Google's "maps.jar". - -The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be -embedded in the resulting dll as EmbeddedResource, while InputJar is not. -There are couple of reasons you wouldn't like to embed the target jar -in your dll (the ones that could be internally loaded by -feature e.g. maps.jar, or you cannot embed jars that are under some -proprietary license). - -Set the build action for these jars in the properties page to "InputJar". - - -== Reference Jar and Embedded Reference Jar == - -These are jars that are referenced by the input jar. C# bindings will -not be created for these jars. These jars will be used to resolve -types used by the input jar. - -NOTE: Do not add "android.jar" as a reference jar. It will be added automatically -based on the Target Framework selected. - -Set the build action for these jars in the properties page to "ReferenceJar". - -"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is -embedded in your dll. But at application build time, they are not included -in the final apk, like ReferenceJar files. - - diff --git a/firebase-appindexing/source/Properties/AssemblyInfo.cs b/firebase-appindexing/source/Properties/AssemblyInfo.cs index 7d2c7aa4e..d41519c48 100644 --- a/firebase-appindexing/source/Properties/AssemblyInfo.cs +++ b/firebase-appindexing/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -22,3 +22,6 @@ // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] diff --git a/firebase-appindexing/source/Transforms/Metadata.generated.xml b/firebase-appindexing/source/Transforms/Metadata.generated.xml deleted file mode 100644 index 26c2f6238..000000000 --- a/firebase-appindexing/source/Transforms/Metadata.generated.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/firebase-appindexing/source/packages.config b/firebase-appindexing/source/packages.config deleted file mode 100644 index 7de4d5fa3..000000000 --- a/firebase-appindexing/source/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec b/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec index 78f28be52..5991bcea5 100644 --- a/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec +++ b/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec @@ -12,11 +12,11 @@ Xamarin.Android Bindings for Firebase - Auth $aar-version$ Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-auth_128x128.png - + @@ -25,8 +25,8 @@ - + - + diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj index 1e4d9e068..0bf7ace3d 100644 --- a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj +++ b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj @@ -26,18 +26,13 @@ - - ..\packages\NUnit.2.6.3\lib\nunit.framework.dll - - - ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll - - + + - + diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config deleted file mode 100644 index bf72f65b8..000000000 --- a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/firebase-auth/samples/FirebaseAuthQuickstart/FirebaseAuthQuickstart.csproj b/firebase-auth/samples/FirebaseAuthQuickstart/FirebaseAuthQuickstart.csproj index 8dc44b0d6..cec618d8c 100644 --- a/firebase-auth/samples/FirebaseAuthQuickstart/FirebaseAuthQuickstart.csproj +++ b/firebase-auth/samples/FirebaseAuthQuickstart/FirebaseAuthQuickstart.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -9,7 +8,7 @@ Library FirebaseAuthQuickstart FirebaseAuthQuickstart - v7.0 + v8.0 True Resources\Resource.designer.cs Resource @@ -42,33 +41,10 @@ - - ..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - - - ..\packages\Xamarin.Android.Support.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll - - - ..\packages\Xamarin.Android.Support.v7.AppCompat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll - + + + + @@ -85,7 +61,6 @@ - @@ -157,14 +132,4 @@ - - - - - - - - - - \ No newline at end of file diff --git a/firebase-auth/samples/FirebaseAuthQuickstart/packages.config b/firebase-auth/samples/FirebaseAuthQuickstart/packages.config deleted file mode 100644 index 3f96dfaed..000000000 --- a/firebase-auth/samples/FirebaseAuthQuickstart/packages.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/firebase-auth/source/Additions/Additions.cs b/firebase-auth/source/Additions/Additions.cs index 85b852565..2ecbd78be 100644 --- a/firebase-auth/source/Additions/Additions.cs +++ b/firebase-auth/source/Additions/Additions.cs @@ -40,6 +40,11 @@ public System.Threading.Tasks.Task SendPasswordResetEmailAsync (string email) return SendPasswordResetEmail (email).AsAsync (); } + public System.Threading.Tasks.Task SendPasswordResetEmailAsync (string email, ActionCodeSettings settings) + { + return SendPasswordResetEmail(email, settings).AsAsync(); + } + public System.Threading.Tasks.Task ApplyActionCodeAsync(string code) { return ApplyActionCode(code).AsAsync(); @@ -76,16 +81,27 @@ public System.Threading.Tasks.Task DeleteAsync () return Delete ().AsAsync (); } - public System.Threading.Tasks.Task GetTokenAsync (bool flag) + [Obsolete] + public System.Threading.Tasks.Task GetTokenAsync (bool forceRefresh) { - return GetToken (flag).AsAsync (); + return GetToken (forceRefresh).AsAsync (); } + public System.Threading.Tasks.Task GetIdTokenAsync(bool forceRefresh) + { + return GetIdToken(forceRefresh).AsAsync(); + } + public System.Threading.Tasks.Task ReauthenticateAsync (AuthCredential credential) { return Reauthenticate (credential).AsAsync (); } + public System.Threading.Tasks.Task ReauthenticateAndRetrieveDataAsync(AuthCredential credential) + { + return ReauthenticateAndRetrieveData(credential).AsAsync(); + } + public System.Threading.Tasks.Task ReloadAsync () { return Reload ().AsAsync (); @@ -101,6 +117,11 @@ public System.Threading.Tasks.Task UpdateEmailAsync (string email) return UpdateEmail (email).AsAsync (); } + public System.Threading.Tasks.Task UpdatePhoneNumberAsync(PhoneAuthCredential phoneAuthCredential) + { + return UpdatePhoneNumber(phoneAuthCredential).AsAsync(); + } + public System.Threading.Tasks.Task UpdatePasswordAsync (string password) { return UpdatePassword (password).AsAsync (); @@ -110,6 +131,11 @@ public System.Threading.Tasks.Task UpdateProfileAsync (UserProfileChangeRequest { return UpdateProfile (userProfileChangeRequest).AsAsync (); } + + public System.Threading.Tasks.Task SendEmailVerificationAsync(ActionCodeSettings settings) + { + return SendEmailVerification(settings).AsAsync(); + } } } diff --git a/firebase-auth/source/Firebase-Auth.csproj b/firebase-auth/source/Firebase-Auth.csproj index 4a6b13bd6..31e19ed6b 100644 --- a/firebase-auth/source/Firebase-Auth.csproj +++ b/firebase-auth/source/Firebase-Auth.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.Firebase.Auth - v7.0 + v8.0 jar2xml ..\..\externals\docs\reference 8.0.30703 @@ -44,24 +43,6 @@ - - ..\..\packages\Xamarin.Android.Support.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Core.UI.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll - - - ..\..\packages\Xamarin.Android.Support.Core.Utils.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll - - - ..\..\packages\Xamarin.Android.Support.Media.Compat.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll - - - ..\..\packages\Xamarin.Android.Support.Fragment.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll - - - ..\..\packages\Xamarin.Android.Support.v4.25.1.0\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll - @@ -69,12 +50,13 @@ - - + + Transforms\Metadata.Common.xml + @@ -95,18 +77,19 @@ Tasks - - Jars\firebase-auth.jar - - - - - - - + + + + + + + + + + diff --git a/firebase-auth/source/Jars/AboutJars.txt b/firebase-auth/source/Jars/AboutJars.txt deleted file mode 100644 index 320a154be..000000000 --- a/firebase-auth/source/Jars/AboutJars.txt +++ /dev/null @@ -1,37 +0,0 @@ -This directory is for Android .jars. - -There are 4 types of jars that are supported: - -== Input Jar and Embedded Jar == - -This is the jar that bindings should be generated for. - -For example, if you were binding the Google Maps library, this would -be Google's "maps.jar". - -The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be -embedded in the resulting dll as EmbeddedResource, while InputJar is not. -There are couple of reasons you wouldn't like to embed the target jar -in your dll (the ones that could be internally loaded by -feature e.g. maps.jar, or you cannot embed jars that are under some -proprietary license). - -Set the build action for these jars in the properties page to "InputJar". - - -== Reference Jar and Embedded Reference Jar == - -These are jars that are referenced by the input jar. C# bindings will -not be created for these jars. These jars will be used to resolve -types used by the input jar. - -NOTE: Do not add "android.jar" as a reference jar. It will be added automatically -based on the Target Framework selected. - -Set the build action for these jars in the properties page to "ReferenceJar". - -"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is -embedded in your dll. But at application build time, they are not included -in the final apk, like ReferenceJar files. - - diff --git a/firebase-auth/source/Properties/AssemblyInfo.cs b/firebase-auth/source/Properties/AssemblyInfo.cs index 8f73f5fc9..ed80683c7 100644 --- a/firebase-auth/source/Properties/AssemblyInfo.cs +++ b/firebase-auth/source/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using Android.App; @@ -25,3 +25,8 @@ //[assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("")] +[assembly: AssemblyMetadata ("BUILD_COMMIT", "{BUILD_COMMIT}")] +[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")] +[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")] + +[assembly: AssemblyInformationalVersion ("{NUGET_VERSION}")] diff --git a/firebase-auth/source/Transforms/Metadata.xml b/firebase-auth/source/Transforms/Metadata.xml index 158e05d2a..d35d68665 100644 --- a/firebase-auth/source/Transforms/Metadata.xml +++ b/firebase-auth/source/Transforms/Metadata.xml @@ -16,9 +16,7 @@ dest flags - - + + + diff --git a/firebase-auth/source/packages.config b/firebase-auth/source/packages.config deleted file mode 100644 index 247b0876a..000000000 --- a/firebase-auth/source/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/firebase-common/nuget/Xamarin.Firebase.Common.template.nuspec b/firebase-common/nuget/Xamarin.Firebase.Common.template.nuspec index 5e8d854c7..f8b71e1e5 100644 --- a/firebase-common/nuget/Xamarin.Firebase.Common.template.nuspec +++ b/firebase-common/nuget/Xamarin.Firebase.Common.template.nuspec @@ -12,19 +12,19 @@ Xamarin.Android Bindings for Firebase - Common $aar-version$ - You should not install this package directly Copyright © Microsoft Corporation - https://github.com/xamarin/GooglePlayServicesComponents/ + https://github.com/xamarin/googleplayservicescomponents https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-common_128x128.png - + - + - + diff --git a/firebase-common/source/Additions/Additions.cs b/firebase-common/source/Additions/Additions.cs deleted file mode 100644 index aaed5b1eb..000000000 --- a/firebase-common/source/Additions/Additions.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using Android.Gms.Tasks; -using Android.Gms.Extensions; - -namespace Firebase -{ - public partial class FirebaseApp - { - public System.Threading.Tasks.Task GetTokenAsync (bool flag) - { - return GetToken (flag).AsAsync (); - } - } -} diff --git a/firebase-common/source/Additions/TaskExtensions.cs b/firebase-common/source/Additions/TaskExtensions.cs new file mode 100644 index 000000000..66374d134 --- /dev/null +++ b/firebase-common/source/Additions/TaskExtensions.cs @@ -0,0 +1,14 @@ +using System; +using System.Threading.Tasks; +using Android.Gms.Extensions; + +namespace Firebase +{ + public partial class FirebaseApp + { + public Task GetTokenAsync(bool flag) + { + return GetToken(flag).AsAsync(); + } + } +} diff --git a/firebase-common/source/Firebase-Common.csproj b/firebase-common/source/Firebase-Common.csproj index aebce181e..55b127a2f 100644 --- a/firebase-common/source/Firebase-Common.csproj +++ b/firebase-common/source/Firebase-Common.csproj @@ -1,6 +1,5 @@ - Debug AnyCPU @@ -12,7 +11,7 @@ Assets False Xamarin.Firebase.Common - v7.0 + v8.0 class-parse ..\..\externals\docs\reference -