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 async Task ConvertInvitationAsync (this IAppInviteApi ap
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
-