From 08933df67a18d8a72aee6d9efef5a03fe53b6646 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 10:24:57 +0200 Subject: [PATCH 01/34] guava source initial commit --- .../Guava.FailureAccess.targets | 6 +++ .../Transforms/Transforms.xml | 4 ++ .../Guava.ListenableFuture.csproj | 40 +++++++++++++++++ .../Guava.ListenableFuture.targets | 6 +++ .../Transforms/Transforms.xml | 4 ++ .../com.google.guava/guava/Guava/Guava.csproj | 45 +++++++++++++++++++ .../guava/Guava/Guava.targets | 6 +++ .../guava/Guava/Transforms/Transforms.xml | 4 ++ 8 files changed, 115 insertions(+) create mode 100644 source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets create mode 100644 source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml create mode 100644 source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj create mode 100644 source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets create mode 100644 source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml create mode 100644 source/com.google.guava/guava/Guava/Guava.csproj create mode 100644 source/com.google.guava/guava/Guava/Guava.targets create mode 100644 source/com.google.guava/guava/Guava/Transforms/Transforms.xml diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets new file mode 100644 index 000000000..4376d0f13 --- /dev/null +++ b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml b/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml new file mode 100644 index 000000000..612f6c304 --- /dev/null +++ b/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml @@ -0,0 +1,4 @@ + + + Google.Common.Util.Concurrent.Internal + diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj new file mode 100644 index 000000000..3478f517d --- /dev/null +++ b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj @@ -0,0 +1,40 @@ + + + net6.0-android30;monoandroid90 + true + Xamarin.Google.Guava.ListenableFuture + Guava.ListenableFuture + ..\..\externals\guava-listenablefuture-javadocs\ + + + + Xamarin.Google.Guava.ListenableFuture + Google Guava ListenableFuture reference library for Xamarin.Android + +Xamarin.Android bindings for Google Guava ListenableFuture + +NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. +This package does not expose any useful API's in the .dll itself. + +Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=865028 + https://go.microsoft.com/fwlink/?linkid=865030 + true + $(GuavaListenableFutureNuGetVersion) + + + + + + + + + + + + + diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets new file mode 100644 index 000000000..4376d0f13 --- /dev/null +++ b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml b/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml new file mode 100644 index 000000000..5604a9d43 --- /dev/null +++ b/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml @@ -0,0 +1,4 @@ + + + Google.Common.Util.Concurrent + diff --git a/source/com.google.guava/guava/Guava/Guava.csproj b/source/com.google.guava/guava/Guava/Guava.csproj new file mode 100644 index 000000000..57b027de0 --- /dev/null +++ b/source/com.google.guava/guava/Guava/Guava.csproj @@ -0,0 +1,45 @@ + + + net6.0-android30;monoandroid90 + true + Xamarin.Google.Guava + Guava + ..\..\externals\guava-javadocs\ + + + + Xamarin.Google.Guava + Google Guava reference library for Xamarin.Android + +Xamarin.Android bindings for Google Guava + +NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. +This package does not expose any useful API's in the .dll itself. + +Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=865028 + https://go.microsoft.com/fwlink/?linkid=865030 + true + $(GuavaNuGetVersion) + + + + + + + + + + + + + + + + + + diff --git a/source/com.google.guava/guava/Guava/Guava.targets b/source/com.google.guava/guava/Guava/Guava.targets new file mode 100644 index 000000000..b2a93d807 --- /dev/null +++ b/source/com.google.guava/guava/Guava/Guava.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/source/com.google.guava/guava/Guava/Transforms/Transforms.xml b/source/com.google.guava/guava/Guava/Transforms/Transforms.xml new file mode 100644 index 000000000..e0de2346a --- /dev/null +++ b/source/com.google.guava/guava/Guava/Transforms/Transforms.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From 3881e8d2bc25d4200cda873c16ac4a2fcf963338 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 10:25:05 +0200 Subject: [PATCH 02/34] Create Guava.FailureAccess.csproj --- .../Guava.FailureAccess.csproj | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj new file mode 100644 index 000000000..62957c55e --- /dev/null +++ b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj @@ -0,0 +1,40 @@ + + + net6.0-android30;monoandroid90 + true + Xamarin.Google.Guava.FailureAccess + Guava.FailureAccess + ..\..\externals\guava-failureaccess-javadocs\ + + + + Xamarin.Google.Guava.FailureAccess + Google Guava FailureAccess reference library for Xamarin.Android + +Xamarin.Android bindings for Google Guava FailureAccess + +NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. +This package does not expose any useful API's in the .dll itself. + +Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=865028 + https://go.microsoft.com/fwlink/?linkid=865030 + true + $(GuavaFailureAccessNuGetVersion) + + + + + + + + + + + + + From 9c65557a7087ac70c9f45f71f920f420d4312d3e Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 10:25:22 +0200 Subject: [PATCH 03/34] guava template set initial commit --- templates/guava/External-Dependency-Info.txt | 216 +++++++++++++++++++ templates/guava/License.md | 18 ++ templates/guava/Project.cshtml | 86 ++++++++ 3 files changed, 320 insertions(+) create mode 100644 templates/guava/External-Dependency-Info.txt create mode 100644 templates/guava/License.md create mode 100644 templates/guava/Project.cshtml diff --git a/templates/guava/External-Dependency-Info.txt b/templates/guava/External-Dependency-Info.txt new file mode 100644 index 000000000..1a8fa3893 --- /dev/null +++ b/templates/guava/External-Dependency-Info.txt @@ -0,0 +1,216 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Glide incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# Guava +# https://github.com/google/guava +######################################## + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/guava/License.md b/templates/guava/License.md new file mode 100644 index 000000000..d954d93d7 --- /dev/null +++ b/templates/guava/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Guava](https://github.com/google/guava), which is subject to the [Apache 2.0](https://github.com/google/guava/blob/master/COPYING) + +### Xamarin Component for Guava for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160601 + diff --git a/templates/guava/Project.cshtml b/templates/guava/Project.cshtml new file mode 100644 index 000000000..e892dff79 --- /dev/null +++ b/templates/guava/Project.cshtml @@ -0,0 +1,86 @@ +@{ + var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; + + // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar + var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; + + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } +} + + + + MonoAndroid9.0;net6.0-android + true + ReactiveX + @(assembly_name) + True + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + @(friendlyName) for Xamarin.Android + Xamarin.Android binding for @(friendlyName) + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2083771 + https://go.microsoft.com/fwlink/?linkid=2083684 + true + @(Model.NuGetVersion) + + + + + @foreach (var art in @Model.MavenArtifacts) { + + } + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + + + + + + + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + From fcde8b910f4b59d893eae0ba80702896fd30f3be Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 11:36:40 +0200 Subject: [PATCH 04/34] config.json updates for guava --- config.json | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/config.json b/config.json index 16298b499..54ba0efb4 100644 --- a/config.json +++ b/config.json @@ -1326,15 +1326,17 @@ "version": "1.0.1", "nugetVersion": "1.0.1.2", "nugetId": "Xamarin.Google.Guava.FailureAccess", - "dependencyOnly": true + "dependencyOnly": false, + "templateSet": "guava" }, { "groupId": "com.google.guava", "artifactId": "guava", - "version": "28.2.0", - "nugetVersion": "28.2.0", + "version": "29.0-android", + "nugetVersion": "29.0.0", "nugetId": "Xamarin.Google.Guava", - "dependencyOnly": true + "dependencyOnly": false, + "templateSet": "guava" }, { "groupId": "com.google.guava", @@ -1342,7 +1344,8 @@ "version": "1.0", "nugetVersion": "1.0.0.2", "nugetId": "Xamarin.Google.Guava.ListenableFuture", - "dependencyOnly": true + "dependencyOnly": false, + "templateSet": "guava" }, { "groupId": "com.xamarin.androidx", @@ -1449,6 +1452,20 @@ "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" } ] + }, + { + "name": "guava", + "mavenRepositoryType": "MavenCentral", + "templates": [ + { + "templateFile": "templates/guava/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] } ] } From 94c18cc273efc4f36b38d2f722b6de047c9bef52 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 18:23:39 +0200 Subject: [PATCH 05/34] some fixes and tricks --- config.json | 104 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 98 insertions(+), 6 deletions(-) diff --git a/config.json b/config.json index 54ba0efb4..845b81da9 100644 --- a/config.json +++ b/config.json @@ -1321,31 +1321,67 @@ "dependencyOnly": true }, { + "templateSet": "guava", "groupId": "com.google.guava", "artifactId": "failureaccess", "version": "1.0.1", "nugetVersion": "1.0.1.2", "nugetId": "Xamarin.Google.Guava.FailureAccess", - "dependencyOnly": false, - "templateSet": "guava" + "dependencyOnly": false }, { + "templateSet": "guava", "groupId": "com.google.guava", "artifactId": "guava", "version": "29.0-android", "nugetVersion": "29.0.0", "nugetId": "Xamarin.Google.Guava", - "dependencyOnly": false, - "templateSet": "guava" + "dependencyOnly": true }, { + "templateSet": "guava", "groupId": "com.google.guava", "artifactId": "listenablefuture", "version": "1.0", "nugetVersion": "1.0.0.2", "nugetId": "Xamarin.Google.Guava.ListenableFuture", - "dependencyOnly": false, - "templateSet": "guava" + "dependencyOnly": false + }, + { + "templateSet": "findbugs", + "groupId": "com.google.code.findbugs", + "artifactId": "jsr305", + "version": "3.0.2", + "nugetVersion": "3.0.2", + "nugetId": "Xamarin.Google.Code.FindBugs", + "dependencyOnly": false + }, + { + "templateSet": "checkerframework", + "groupId": "org.checkerframework", + "artifactId": "checker-compat-qual", + "version": "2.5.5", + "nugetVersion": "2.5.5", + "nugetId": "Xamarin.CheckerFramework.CheckerCompatQual", + "dependencyOnly": false + }, + { + "templateSet": "errorprone", + "groupId": "com.google.errorprone", + "artifactId": "error_prone_annotations", + "version": "2.3.4", + "nugetVersion": "2.3.4", + "nugetId": "Xamarin.Google.ErrorProne.ErrorProneAnnotations", + "dependencyOnly": false + }, + { + "templateSet": "j2objc", + "groupId": "com.google.j2objc", + "artifactId": "j2objc-annotations", + "version": "1.3", + "nugetVersion": "1.3.0", + "nugetId": "Xamarin.Google.J2Objc.J2ObjcAnnotations", + "dependencyOnly": false }, { "groupId": "com.xamarin.androidx", @@ -1466,6 +1502,62 @@ "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" } ] + }, + { + "name": "findbugs", + "mavenRepositoryType": "MavenCentral", + "templates": [ + { + "templateFile": "templates/findbugs/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] + }, + { + "name": "errorprone", + "mavenRepositoryType": "MavenCentral", + "templates": [ + { + "templateFile": "templates/errorprone/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] + }, + { + "name": "checkerframework", + "mavenRepositoryType": "MavenCentral", + "templates": [ + { + "templateFile": "templates/checkerframework/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] + }, + { + "name": "j2objc", + "mavenRepositoryType": "MavenCentral", + "templates": [ + { + "templateFile": "templates/j2objc/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] } ] } From 3ceeef1b93cdcd9a7f5908564223f3f01ddcc5ee Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 18:23:49 +0200 Subject: [PATCH 06/34] source --- .../jsr305/Transforms/Metadata.Namespaces.xml | 4 ++++ .../com.google.code.findbugs/jsr305/Transforms/Metadata.xml | 3 +++ .../Transforms/Metadata.Namespaces.xml | 3 +++ .../error_prone_annotations/Transforms/Metadata.xml | 3 +++ .../j2objc-annotations/Transforms/Metadata.Namespaces.xml | 3 +++ .../j2objc-annotations/Transforms/Metadata.xml | 3 +++ .../checker-compat-qual/Transforms/Metadata.Namespaces.xml | 4 ++++ .../checker-compat-qual/Transforms/Metadata.xml | 3 +++ 8 files changed, 26 insertions(+) create mode 100644 source/com.google.code.findbugs/jsr305/Transforms/Metadata.Namespaces.xml create mode 100644 source/com.google.code.findbugs/jsr305/Transforms/Metadata.xml create mode 100644 source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml create mode 100644 source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.xml create mode 100644 source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml create mode 100644 source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.xml create mode 100644 source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml create mode 100644 source/org.checkerframework/checker-compat-qual/Transforms/Metadata.xml diff --git a/source/com.google.code.findbugs/jsr305/Transforms/Metadata.Namespaces.xml b/source/com.google.code.findbugs/jsr305/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..da8adf242 --- /dev/null +++ b/source/com.google.code.findbugs/jsr305/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,4 @@ + + + + diff --git a/source/com.google.code.findbugs/jsr305/Transforms/Metadata.xml b/source/com.google.code.findbugs/jsr305/Transforms/Metadata.xml new file mode 100644 index 000000000..8c5037952 --- /dev/null +++ b/source/com.google.code.findbugs/jsr305/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + diff --git a/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..aa27d095d --- /dev/null +++ b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,3 @@ + + + diff --git a/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.xml b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.xml new file mode 100644 index 000000000..8c5037952 --- /dev/null +++ b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + diff --git a/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..aa27d095d --- /dev/null +++ b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,3 @@ + + + diff --git a/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.xml b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.xml new file mode 100644 index 000000000..8c5037952 --- /dev/null +++ b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + diff --git a/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..da8adf242 --- /dev/null +++ b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,4 @@ + + + + diff --git a/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.xml b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.xml new file mode 100644 index 000000000..8c5037952 --- /dev/null +++ b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + From d1b5e9ebb3522b794dfcdc7773e240bb5cf97c03 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 23 Sep 2021 18:24:00 +0200 Subject: [PATCH 07/34] guava templates --- .../External-Dependency-Info.txt | 216 ++++++++++++++++++ templates/checkerframework/License.md | 18 ++ templates/checkerframework/Project.cshtml | 86 +++++++ .../errorprone/External-Dependency-Info.txt | 216 ++++++++++++++++++ templates/errorprone/License.md | 18 ++ templates/errorprone/Project.cshtml | 86 +++++++ .../findbugs/External-Dependency-Info.txt | 216 ++++++++++++++++++ templates/findbugs/License.md | 18 ++ templates/findbugs/Project.cshtml | 86 +++++++ templates/j2objc/External-Dependency-Info.txt | 216 ++++++++++++++++++ templates/j2objc/License.md | 18 ++ templates/j2objc/Project.cshtml | 86 +++++++ 12 files changed, 1280 insertions(+) create mode 100644 templates/checkerframework/External-Dependency-Info.txt create mode 100644 templates/checkerframework/License.md create mode 100644 templates/checkerframework/Project.cshtml create mode 100644 templates/errorprone/External-Dependency-Info.txt create mode 100644 templates/errorprone/License.md create mode 100644 templates/errorprone/Project.cshtml create mode 100644 templates/findbugs/External-Dependency-Info.txt create mode 100644 templates/findbugs/License.md create mode 100644 templates/findbugs/Project.cshtml create mode 100644 templates/j2objc/External-Dependency-Info.txt create mode 100644 templates/j2objc/License.md create mode 100644 templates/j2objc/Project.cshtml diff --git a/templates/checkerframework/External-Dependency-Info.txt b/templates/checkerframework/External-Dependency-Info.txt new file mode 100644 index 000000000..1a8fa3893 --- /dev/null +++ b/templates/checkerframework/External-Dependency-Info.txt @@ -0,0 +1,216 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Glide incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# Guava +# https://github.com/google/guava +######################################## + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/checkerframework/License.md b/templates/checkerframework/License.md new file mode 100644 index 000000000..d954d93d7 --- /dev/null +++ b/templates/checkerframework/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Guava](https://github.com/google/guava), which is subject to the [Apache 2.0](https://github.com/google/guava/blob/master/COPYING) + +### Xamarin Component for Guava for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160601 + diff --git a/templates/checkerframework/Project.cshtml b/templates/checkerframework/Project.cshtml new file mode 100644 index 000000000..e892dff79 --- /dev/null +++ b/templates/checkerframework/Project.cshtml @@ -0,0 +1,86 @@ +@{ + var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; + + // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar + var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; + + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } +} + + + + MonoAndroid9.0;net6.0-android + true + ReactiveX + @(assembly_name) + True + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + @(friendlyName) for Xamarin.Android + Xamarin.Android binding for @(friendlyName) + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2083771 + https://go.microsoft.com/fwlink/?linkid=2083684 + true + @(Model.NuGetVersion) + + + + + @foreach (var art in @Model.MavenArtifacts) { + + } + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + + + + + + + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + diff --git a/templates/errorprone/External-Dependency-Info.txt b/templates/errorprone/External-Dependency-Info.txt new file mode 100644 index 000000000..1a8fa3893 --- /dev/null +++ b/templates/errorprone/External-Dependency-Info.txt @@ -0,0 +1,216 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Glide incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# Guava +# https://github.com/google/guava +######################################## + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/errorprone/License.md b/templates/errorprone/License.md new file mode 100644 index 000000000..d954d93d7 --- /dev/null +++ b/templates/errorprone/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Guava](https://github.com/google/guava), which is subject to the [Apache 2.0](https://github.com/google/guava/blob/master/COPYING) + +### Xamarin Component for Guava for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160601 + diff --git a/templates/errorprone/Project.cshtml b/templates/errorprone/Project.cshtml new file mode 100644 index 000000000..e892dff79 --- /dev/null +++ b/templates/errorprone/Project.cshtml @@ -0,0 +1,86 @@ +@{ + var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; + + // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar + var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; + + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } +} + + + + MonoAndroid9.0;net6.0-android + true + ReactiveX + @(assembly_name) + True + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + @(friendlyName) for Xamarin.Android + Xamarin.Android binding for @(friendlyName) + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2083771 + https://go.microsoft.com/fwlink/?linkid=2083684 + true + @(Model.NuGetVersion) + + + + + @foreach (var art in @Model.MavenArtifacts) { + + } + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + + + + + + + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + diff --git a/templates/findbugs/External-Dependency-Info.txt b/templates/findbugs/External-Dependency-Info.txt new file mode 100644 index 000000000..1a8fa3893 --- /dev/null +++ b/templates/findbugs/External-Dependency-Info.txt @@ -0,0 +1,216 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Glide incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# Guava +# https://github.com/google/guava +######################################## + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/findbugs/License.md b/templates/findbugs/License.md new file mode 100644 index 000000000..d954d93d7 --- /dev/null +++ b/templates/findbugs/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Guava](https://github.com/google/guava), which is subject to the [Apache 2.0](https://github.com/google/guava/blob/master/COPYING) + +### Xamarin Component for Guava for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160601 + diff --git a/templates/findbugs/Project.cshtml b/templates/findbugs/Project.cshtml new file mode 100644 index 000000000..e892dff79 --- /dev/null +++ b/templates/findbugs/Project.cshtml @@ -0,0 +1,86 @@ +@{ + var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; + + // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar + var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; + + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } +} + + + + MonoAndroid9.0;net6.0-android + true + ReactiveX + @(assembly_name) + True + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + @(friendlyName) for Xamarin.Android + Xamarin.Android binding for @(friendlyName) + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2083771 + https://go.microsoft.com/fwlink/?linkid=2083684 + true + @(Model.NuGetVersion) + + + + + @foreach (var art in @Model.MavenArtifacts) { + + } + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + + + + + + + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + diff --git a/templates/j2objc/External-Dependency-Info.txt b/templates/j2objc/External-Dependency-Info.txt new file mode 100644 index 000000000..1a8fa3893 --- /dev/null +++ b/templates/j2objc/External-Dependency-Info.txt @@ -0,0 +1,216 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Glide incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# Guava +# https://github.com/google/guava +######################################## + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/j2objc/License.md b/templates/j2objc/License.md new file mode 100644 index 000000000..d954d93d7 --- /dev/null +++ b/templates/j2objc/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Guava](https://github.com/google/guava), which is subject to the [Apache 2.0](https://github.com/google/guava/blob/master/COPYING) + +### Xamarin Component for Guava for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160601 + diff --git a/templates/j2objc/Project.cshtml b/templates/j2objc/Project.cshtml new file mode 100644 index 000000000..e892dff79 --- /dev/null +++ b/templates/j2objc/Project.cshtml @@ -0,0 +1,86 @@ +@{ + var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; + + // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar + var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; + + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } +} + + + + MonoAndroid9.0;net6.0-android + true + ReactiveX + @(assembly_name) + True + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + @(friendlyName) for Xamarin.Android + Xamarin.Android binding for @(friendlyName) + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2083771 + https://go.microsoft.com/fwlink/?linkid=2083684 + true + @(Model.NuGetVersion) + + + + + @foreach (var art in @Model.MavenArtifacts) { + + } + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + + + + + + + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + From 0340f4b5486db6ac48f19abcc8a1f47ca90c9f2f Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 24 Sep 2021 10:55:23 +0200 Subject: [PATCH 08/34] template fixes --- templates/checkerframework/Project.cshtml | 11 ++++------- templates/errorprone/Project.cshtml | 11 ++++------- templates/findbugs/Project.cshtml | 11 ++++------- templates/j2objc/Project.cshtml | 11 ++++------- 4 files changed, 16 insertions(+), 28 deletions(-) diff --git a/templates/checkerframework/Project.cshtml b/templates/checkerframework/Project.cshtml index e892dff79..44c98aeff 100644 --- a/templates/checkerframework/Project.cshtml +++ b/templates/checkerframework/Project.cshtml @@ -1,9 +1,6 @@ @{ var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; - - // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar - var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; - + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } } @@ -49,14 +46,14 @@ @foreach (var art in @Model.MavenArtifacts) { } @foreach (var art in @Model.MavenArtifacts) { - - + + } diff --git a/templates/errorprone/Project.cshtml b/templates/errorprone/Project.cshtml index e892dff79..44c98aeff 100644 --- a/templates/errorprone/Project.cshtml +++ b/templates/errorprone/Project.cshtml @@ -1,9 +1,6 @@ @{ var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; - - // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar - var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; - + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } } @@ -49,14 +46,14 @@ @foreach (var art in @Model.MavenArtifacts) { } @foreach (var art in @Model.MavenArtifacts) { - - + + } diff --git a/templates/findbugs/Project.cshtml b/templates/findbugs/Project.cshtml index e892dff79..44c98aeff 100644 --- a/templates/findbugs/Project.cshtml +++ b/templates/findbugs/Project.cshtml @@ -1,9 +1,6 @@ @{ var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; - - // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar - var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; - + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } } @@ -49,14 +46,14 @@ @foreach (var art in @Model.MavenArtifacts) { } @foreach (var art in @Model.MavenArtifacts) { - - + + } diff --git a/templates/j2objc/Project.cshtml b/templates/j2objc/Project.cshtml index e892dff79..44c98aeff 100644 --- a/templates/j2objc/Project.cshtml +++ b/templates/j2objc/Project.cshtml @@ -1,9 +1,6 @@ @{ var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; - - // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar - var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; - + if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } } @@ -49,14 +46,14 @@ @foreach (var art in @Model.MavenArtifacts) { } @foreach (var art in @Model.MavenArtifacts) { - - + + } From b9fba4b45ff434442c78a1feab188f97c6fd7c72 Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:14:50 +0200 Subject: [PATCH 09/34] cleanup --- .../Guava.FailureAccess.csproj | 40 ------------------- .../Guava.FailureAccess.targets | 6 --- .../Guava.ListenableFuture.csproj | 40 ------------------- .../Guava.ListenableFuture.targets | 6 --- 4 files changed, 92 deletions(-) delete mode 100644 source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj delete mode 100644 source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets delete mode 100644 source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj delete mode 100644 source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj deleted file mode 100644 index 62957c55e..000000000 --- a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.csproj +++ /dev/null @@ -1,40 +0,0 @@ - - - net6.0-android30;monoandroid90 - true - Xamarin.Google.Guava.FailureAccess - Guava.FailureAccess - ..\..\externals\guava-failureaccess-javadocs\ - - - - Xamarin.Google.Guava.FailureAccess - Google Guava FailureAccess reference library for Xamarin.Android - -Xamarin.Android bindings for Google Guava FailureAccess - -NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. -This package does not expose any useful API's in the .dll itself. - -Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! - - Microsoft - Microsoft - © Microsoft Corporation. All rights reserved. - https://go.microsoft.com/fwlink/?linkid=865028 - https://go.microsoft.com/fwlink/?linkid=865030 - true - $(GuavaFailureAccessNuGetVersion) - - - - - - - - - - - - - diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets b/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets deleted file mode 100644 index 4376d0f13..000000000 --- a/source/com.google.guava/guava/Guava.FailureAccess/Guava.FailureAccess.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj deleted file mode 100644 index 3478f517d..000000000 --- a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.csproj +++ /dev/null @@ -1,40 +0,0 @@ - - - net6.0-android30;monoandroid90 - true - Xamarin.Google.Guava.ListenableFuture - Guava.ListenableFuture - ..\..\externals\guava-listenablefuture-javadocs\ - - - - Xamarin.Google.Guava.ListenableFuture - Google Guava ListenableFuture reference library for Xamarin.Android - -Xamarin.Android bindings for Google Guava ListenableFuture - -NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. -This package does not expose any useful API's in the .dll itself. - -Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! - - Microsoft - Microsoft - © Microsoft Corporation. All rights reserved. - https://go.microsoft.com/fwlink/?linkid=865028 - https://go.microsoft.com/fwlink/?linkid=865030 - true - $(GuavaListenableFutureNuGetVersion) - - - - - - - - - - - - - diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets b/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets deleted file mode 100644 index 4376d0f13..000000000 --- a/source/com.google.guava/guava/Guava.ListenableFuture/Guava.ListenableFuture.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From f64ab1f3479d13ec60779a459e04cb8da2f2a9f2 Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:15:20 +0200 Subject: [PATCH 10/34] metadata fixes --- .../Transforms/Metadata.Namespaces.xml | 14 +++++++++++++- .../Guava.FailureAccess/Transforms/Transforms.xml | 15 +++++++++++++++ .../Transforms/Transforms.xml | 9 +++++++++ .../Transforms/Metadata.Namespaces.xml | 6 ++++++ 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml index aa27d095d..f34fe6a7a 100644 --- a/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml +++ b/source/com.google.errorprone/error_prone_annotations/Transforms/Metadata.Namespaces.xml @@ -1,3 +1,15 @@  - + + Xamarin.Google.ErrorProne.Annotations + + + Xamarin.Google.ErrorProne.Annotations.Concurrent + + diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml b/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml index 612f6c304..b9d501621 100644 --- a/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml +++ b/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml @@ -1,4 +1,19 @@ Google.Common.Util.Concurrent.Internal + + + Google.Common.Util.Concurrent + + + Google.Common.Util.Concurrent.Internal + + + diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml b/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml index 5604a9d43..75307b500 100644 --- a/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml +++ b/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml @@ -1,4 +1,13 @@ Google.Common.Util.Concurrent + + + + Google.Common.Util.Concurrent + + diff --git a/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml index aa27d095d..7bdd3b7a4 100644 --- a/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml +++ b/source/com.google.j2objc/j2objc-annotations/Transforms/Metadata.Namespaces.xml @@ -1,3 +1,9 @@  + + Xamarin.Google.J2Objc.Annotations + From 01061af4ed9134568e2998977dcf348cdd1eca0a Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:15:26 +0200 Subject: [PATCH 11/34] Update Xamarin.AndroidX.Migration.props --- .../migration/BuildTasks/Xamarin.AndroidX.Migration.props | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props index efe8bb59a..2b38dda2c 100644 --- a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props +++ b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props @@ -177,6 +177,8 @@ <_AndroidXAssembly Include="Xamarin.AndroidX.WebKit" /> <_AndroidXAssembly Include="Xamarin.AndroidX.Work.Runtime" /> <_AndroidXAssembly Include="Xamarin.Google.Android.Material" /> + <_AndroidXAssembly Include="Xamarin.Google.Code.FindBugs" /> + <_AndroidXAssembly Include="Xamarin.Google.ErrorProne.ErrorProneAnnotations" /> <_AndroidXAssembly Include="Xamarin.Jetbrains.Annotations" /> <_AndroidXAssembly Include="Xamarin.Kotlin.StdLib" /> @@ -323,14 +325,18 @@ <_AndroidXMavenArtifact Include="androidx.work.work-runtime-ktx" /> <_AndroidXMavenArtifact Include="com.google.android.material.material" /> <_AndroidXMavenArtifact Include="com.google.auto.value.auto-value-annotations" /> + <_AndroidXMavenArtifact Include="com.google.code.findbugs.jsr305" /> <_AndroidXMavenArtifact Include="com.google.code.gson.gson" /> + <_AndroidXMavenArtifact Include="com.google.errorprone.error_prone_annotations" /> <_AndroidXMavenArtifact Include="com.google.firebase.firebase-appindexing" /> <_AndroidXMavenArtifact Include="com.google.guava.failureaccess" /> <_AndroidXMavenArtifact Include="com.google.guava.guava" /> <_AndroidXMavenArtifact Include="com.google.guava.listenablefuture" /> + <_AndroidXMavenArtifact Include="com.google.j2objc.j2objc-annotations" /> <_AndroidXMavenArtifact Include="com.xamarin.androidx.migration" /> <_AndroidXMavenArtifact Include="io.reactivex.rxjava2.rxjava" /> <_AndroidXMavenArtifact Include="io.reactivex.rxjava3.rxjava" /> + <_AndroidXMavenArtifact Include="org.checkerframework.checker-compat-qual" /> <_AndroidXMavenArtifact Include="org.jetbrains.annotations" /> <_AndroidXMavenArtifact Include="org.jetbrains.kotlin.kotlin-reflect" /> <_AndroidXMavenArtifact Include="org.jetbrains.kotlin.kotlin-stdlib" /> From 6e9678b92b92a61ef4cc75edf22c7aa9f9f88179 Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:15:46 +0200 Subject: [PATCH 12/34] metadata fixes for CheckerFramework --- .../Transforms/Metadata.Namespaces.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml index da8adf242..666b485e8 100644 --- a/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml +++ b/source/org.checkerframework/checker-compat-qual/Transforms/Metadata.Namespaces.xml @@ -1,4 +1,8 @@  - - + + Xamarin.CheckerFramework.Checker.Nullness.CompatQual + From c73e6c99c4c060d35856ba270ba132419cdff14d Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:16:05 +0200 Subject: [PATCH 13/34] template sets for guava --- templates/gson/Project.cshtml | 4 +++- templates/guava/Project.cshtml | 4 +++- templates/j2objc/Project.cshtml | 4 +++- templates/kotlin/Project.cshtml | 4 +++- templates/reactive-streams/Project.cshtml | 4 +++- templates/rxjava/Project.cshtml | 4 +++- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/templates/gson/Project.cshtml b/templates/gson/Project.cshtml index df4ed2243..5e0924448 100644 --- a/templates/gson/Project.cshtml +++ b/templates/gson/Project.cshtml @@ -12,8 +12,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 diff --git a/templates/guava/Project.cshtml b/templates/guava/Project.cshtml index e892dff79..7f82a3640 100644 --- a/templates/guava/Project.cshtml +++ b/templates/guava/Project.cshtml @@ -22,8 +22,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 diff --git a/templates/j2objc/Project.cshtml b/templates/j2objc/Project.cshtml index 44c98aeff..b24e8200c 100644 --- a/templates/j2objc/Project.cshtml +++ b/templates/j2objc/Project.cshtml @@ -19,8 +19,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 diff --git a/templates/kotlin/Project.cshtml b/templates/kotlin/Project.cshtml index a7cf4933b..806a5f713 100644 --- a/templates/kotlin/Project.cshtml +++ b/templates/kotlin/Project.cshtml @@ -24,8 +24,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 diff --git a/templates/reactive-streams/Project.cshtml b/templates/reactive-streams/Project.cshtml index 8a301c52f..9a6b4cc09 100644 --- a/templates/reactive-streams/Project.cshtml +++ b/templates/reactive-streams/Project.cshtml @@ -20,8 +20,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 diff --git a/templates/rxjava/Project.cshtml b/templates/rxjava/Project.cshtml index 15835577e..d3d0c551c 100644 --- a/templates/rxjava/Project.cshtml +++ b/templates/rxjava/Project.cshtml @@ -22,8 +22,10 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name + - CS1574: XML comment has cref attribute 'Observer' that could not be resolved --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572;1574 From e65cc023639b12b2df4ce4e1f4fad63fca8d6fee Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 28 Sep 2021 08:16:11 +0200 Subject: [PATCH 14/34] mappings --- mappings/androidx-assemblies.csv | 2 ++ mappings/androidx-mapping.csv | 3 +++ mappings/dependencies.json | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/mappings/androidx-assemblies.csv b/mappings/androidx-assemblies.csv index 1c5028c48..922df282e 100644 --- a/mappings/androidx-assemblies.csv +++ b/mappings/androidx-assemblies.csv @@ -20,6 +20,8 @@ Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,Xamarin.And Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.0.1.1 Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.2.0.1 Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,1.2.0 +Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,3.0.2 +Xamarin.Android.Support.Annotations,Xamarin.Google.ErrorProne.ErrorProneAnnotations,Xamarin.Android.Support.Annotations,Xamarin.Google.ErrorProne.ErrorProneAnnotations,2.3.4 Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,22.0.0 Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,1.0.0.8 Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.1.0.8 diff --git a/mappings/androidx-mapping.csv b/mappings/androidx-mapping.csv index 07e4ae72f..111b208cb 100644 --- a/mappings/androidx-mapping.csv +++ b/mappings/androidx-mapping.csv @@ -69,6 +69,7 @@ Android.Support.Annotation,NullableAttribute,AndroidX.Annotations,NullableAttrib Android.Support.Annotation,NullableAttribute,JetBrains.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,,,,, Android.Support.Annotation,NullableAttribute,ReactiveX.RxJava3.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,,,,, Android.Support.Annotation,NullableAttribute,ReactiveX.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,,,,, +Android.Support.Annotation,NullableAttribute,Javax.Annotation,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,,,,, Android.Support.Annotation,NullableAttribute,System.Runtime.CompilerServices,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,,,,, Android.Support.Annotation,IntRangeAttribute,AndroidX.Annotations,IntRangeAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,IdResAttribute,AndroidX.Annotations,IdResAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, @@ -151,6 +152,8 @@ Android.Support.Annotation,IDimenRes,AndroidX.Annotations,IDimenRes,Xamarin.Andr Android.Support.Annotation,IDimenResInvoker,AndroidX.Annotations,IDimenResInvoker,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,DimenRes,androidx.annotation,DimenRes, Android.Support.Annotation,BinderThreadAttribute,AndroidX.Annotations,BinderThreadAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,GuardedByAttribute,AndroidX.Annotations,GuardedByAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, +Android.Support.Annotation,GuardedByAttribute,Xamarin.Google.ErrorProne.Annotations.Concurrent,GuardedByAttribute,Xamarin.Android.Support.Annotations,Xamarin.Google.ErrorProne.ErrorProneAnnotations,,,,, +Android.Support.Annotation,GuardedByAttribute,Javax.Annotation.Concurrent,GuardedByAttribute,Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,,,,, Android.Support.Annotation,IRequiresFeature,AndroidX.Annotations,IRequiresFeature,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,RequiresFeature,androidx.annotation,RequiresFeature, Android.Support.Annotation,IRequiresFeatureInvoker,AndroidX.Annotations,IRequiresFeatureInvoker,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,RequiresFeature,androidx.annotation,RequiresFeature, Android.Support.Annotation,KeepAttribute,AndroidX.Annotations,KeepAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, diff --git a/mappings/dependencies.json b/mappings/dependencies.json index 581f033d0..caab551d5 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1263,6 +1263,26 @@ "Xamarin.KotlinX.Coroutines.Android" ] }, + { + "id": "Xamarin.CheckerFramework.CheckerCompatQual", + "dependencies": [] + }, + { + "id": "Xamarin.Google.Code.FindBugs", + "dependencies": [] + }, + { + "id": "Xamarin.Google.ErrorProne.ErrorProneAnnotations", + "dependencies": [] + }, + { + "id": "Xamarin.Google.Guava.FailureAccess", + "dependencies": [] + }, + { + "id": "Xamarin.Google.J2Objc.J2ObjcAnnotations", + "dependencies": [] + }, { "id": "Xamarin.Jetbrains.Annotations", "dependencies": [] From 389b2bdd23b3fa385d9a7b46aeb9c5b69569ddcf Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 09:02:26 +0100 Subject: [PATCH 15/34] config.json for guava --- config.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/config.json b/config.json index 845b81da9..d2fc369f0 100644 --- a/config.json +++ b/config.json @@ -1321,31 +1321,31 @@ "dependencyOnly": true }, { - "templateSet": "guava", - "groupId": "com.google.guava", - "artifactId": "failureaccess", - "version": "1.0.1", - "nugetVersion": "1.0.1.2", - "nugetId": "Xamarin.Google.Guava.FailureAccess", - "dependencyOnly": false - }, - { - "templateSet": "guava", "groupId": "com.google.guava", "artifactId": "guava", "version": "29.0-android", "nugetVersion": "29.0.0", "nugetId": "Xamarin.Google.Guava", - "dependencyOnly": true + "dependencyOnly": false, + "templateSet": "guava" }, { - "templateSet": "guava", "groupId": "com.google.guava", "artifactId": "listenablefuture", - "version": "1.0", - "nugetVersion": "1.0.0.2", + "version": "9999.0-empty-to-avoid-conflict-with-guava", + "nugetVersion": "9999.0.0.0-empty-to-avoid-conflict-with-guava", "nugetId": "Xamarin.Google.Guava.ListenableFuture", - "dependencyOnly": false + "dependencyOnly": false, + "templateSet": "guava" + }, + { + "groupId": "com.google.guava", + "artifactId": "failureaccess", + "version": "1.0.1", + "nugetVersion": "1.0.1.2", + "nugetId": "Xamarin.Google.Guava.FailureAccess", + "dependencyOnly": false, + "templateSet": "guava" }, { "templateSet": "findbugs", From c527881834f913a310760be74d9ef665360b8306 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 09:02:58 +0100 Subject: [PATCH 16/34] metadata files and folders restructuring --- .../Transforms/Transforms.xml | 0 source/com.google.guava/guava/{Guava => }/Guava.csproj | 0 source/com.google.guava/guava/{Guava => }/Guava.targets | 0 .../com.google.guava/guava/{Guava => }/Transforms/Transforms.xml | 0 .../Transforms/Transforms.xml | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename source/com.google.guava/{guava/Guava.FailureAccess => failureaccess}/Transforms/Transforms.xml (100%) rename source/com.google.guava/guava/{Guava => }/Guava.csproj (100%) rename source/com.google.guava/guava/{Guava => }/Guava.targets (100%) rename source/com.google.guava/guava/{Guava => }/Transforms/Transforms.xml (100%) rename source/com.google.guava/{guava/Guava.ListenableFuture => listenablefuture}/Transforms/Transforms.xml (100%) diff --git a/source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml b/source/com.google.guava/failureaccess/Transforms/Transforms.xml similarity index 100% rename from source/com.google.guava/guava/Guava.FailureAccess/Transforms/Transforms.xml rename to source/com.google.guava/failureaccess/Transforms/Transforms.xml diff --git a/source/com.google.guava/guava/Guava/Guava.csproj b/source/com.google.guava/guava/Guava.csproj similarity index 100% rename from source/com.google.guava/guava/Guava/Guava.csproj rename to source/com.google.guava/guava/Guava.csproj diff --git a/source/com.google.guava/guava/Guava/Guava.targets b/source/com.google.guava/guava/Guava.targets similarity index 100% rename from source/com.google.guava/guava/Guava/Guava.targets rename to source/com.google.guava/guava/Guava.targets diff --git a/source/com.google.guava/guava/Guava/Transforms/Transforms.xml b/source/com.google.guava/guava/Transforms/Transforms.xml similarity index 100% rename from source/com.google.guava/guava/Guava/Transforms/Transforms.xml rename to source/com.google.guava/guava/Transforms/Transforms.xml diff --git a/source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml b/source/com.google.guava/listenablefuture/Transforms/Transforms.xml similarity index 100% rename from source/com.google.guava/guava/Guava.ListenableFuture/Transforms/Transforms.xml rename to source/com.google.guava/listenablefuture/Transforms/Transforms.xml From f0a96d30ac34de861ae08a40b9e0077887d48723 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 09:10:37 +0100 Subject: [PATCH 17/34] template package metadata --- templates/guava/Project.cshtml | 127 +++++++++++++++++++++++---------- 1 file changed, 88 insertions(+), 39 deletions(-) diff --git a/templates/guava/Project.cshtml b/templates/guava/Project.cshtml index 7f82a3640..8d644610b 100644 --- a/templates/guava/Project.cshtml +++ b/templates/guava/Project.cshtml @@ -1,19 +1,7 @@ -@{ - var assembly_name = string.IsNullOrEmpty(Model.AssemblyName) ? Model.NuGetPackageId : Model.AssemblyName; - - // We don't want our .jar file names to conflict, so we need ex: rxjava3.jar - var rx_version = Model.NuGetPackageId.Contains("RxJava3") ? "3" : "2"; - - if (!Model.Metadata.TryGetValue("friendlyName", out string friendlyName)) { friendlyName = Model.NuGetPackageId.Replace("Xamarin.", ""); } -} - MonoAndroid9.0;net6.0-android true - ReactiveX - @(assembly_name) - True - @foreach (var art in @Model.MavenArtifacts) { - - } - - - @foreach (var art in @Model.MavenArtifacts) { - - + @foreach (var art in @Model.MavenArtifacts) + { + @Model.NuGetPackageId + @Model.NuGetPackageId + switch(@Model.NuGetPackageId) + { + case "Xamarin.Google.Guava": + Xamarin.Google.Guava + Google Guava reference library for Xamarin.Android + + Xamarin.Android bindings for Google Guava + + NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. + This package does not expose any useful API's in the .dll itself. + + Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Xamarin.Google.Guava + Guava + break; + case "Xamarin.Google.Guava.FailureAccess": + Xamarin.Google.Guava.FailureAccess + Google Guava FailureAccess reference library for Xamarin.Android + + Xamarin.Android bindings for Google Guava FailureAccess + + NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. + This package does not expose any useful API's in the .dll itself. + + Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Xamarin.Google.Guava.FailureAccess + Guava.FailureAccess + break; + case "Xamarin.Google.Guava.ListenableFuture": + Xamarin.Google.Guava.ListenableFuture + Google Guava ListenableFuture reference library for Xamarin.Android + + Xamarin.Android bindings for Google Guava ListenableFuture + + NOTE: This package is meant to be used as a reference only for other binding projects that depend on Guava. + This package does not expose any useful API's in the .dll itself. + + Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! + + Xamarin.Google.Guava.ListenableFuture + Guava.ListenableFuture + break; + default: + break; } - - + @(Model.NuGetVersion) + } + true + - - - - + @foreach (var art in @Model.MavenArtifacts) + { + + + + + + + } @@ -82,7 +130,8 @@ - + + From 051499e9b2389f22b0b48a5ee1792122547fdb0c Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 16:00:12 +0100 Subject: [PATCH 18/34] Update Project.cshtml --- templates/guava/Project.cshtml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/guava/Project.cshtml b/templates/guava/Project.cshtml index 8d644610b..1e95beb96 100644 --- a/templates/guava/Project.cshtml +++ b/templates/guava/Project.cshtml @@ -98,10 +98,12 @@ Date: Wed, 15 Dec 2021 16:00:16 +0100 Subject: [PATCH 19/34] Update dependencies.json --- mappings/dependencies.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mappings/dependencies.json b/mappings/dependencies.json index caab551d5..497b5bd3a 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1275,6 +1275,13 @@ "id": "Xamarin.Google.ErrorProne.ErrorProneAnnotations", "dependencies": [] }, + { + "id": "Xamarin.Google.Guava", + "dependencies": [ + "Xamarin.Google.Guava.FailureAccess", + "Xamarin.Google.Guava.ListenableFuture" + ] + }, { "id": "Xamarin.Google.Guava.FailureAccess", "dependencies": [] From 5adc48f08fdeeea96b90e20469ee6a2ca0043117 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 16:00:27 +0100 Subject: [PATCH 20/34] spelling updates --- utilities.cake | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/utilities.cake b/utilities.cake index 41547f743..87892f434 100644 --- a/utilities.cake +++ b/utilities.cake @@ -192,6 +192,15 @@ Task ("spell-check") "AutoValue", "ReactiveX", "RxJava", + "ListenableFuture", + "FailureAccess", + "FindBugs", + "CheckerFramework", + "CheckerCompatQual", + "ErrorProne", + "ErrorProneAnnotations", + "J2Objc", + "J2ObjcAnnotations", }; var dictionary_custom = WeCantSpell.Hunspell.WordList.CreateFromWords(words); From a690e33126758dd93389387071510f2dad681c88 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 15 Dec 2021 19:06:28 +0100 Subject: [PATCH 21/34] Update dependencies.json --- mappings/dependencies.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mappings/dependencies.json b/mappings/dependencies.json index 497b5bd3a..d11816bec 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -887,10 +887,6 @@ "id": "Xamarin.AndroidX.MultiDex", "dependencies": [] }, - { - "id": "Xamarin.AndroidX.Migration.Tool", - "dependencies": [] - }, { "id": "Xamarin.AndroidX.Navigation.Common", "dependencies": [ From 30ef9e4b0c8b32222ffdc9dc85d304637108c6a8 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 16 Dec 2021 08:38:14 +0100 Subject: [PATCH 22/34] mappings updates --- mappings/androidx-assemblies.csv | 166 +++++++++++++++---------------- mappings/dependencies.json | 10 +- 2 files changed, 86 insertions(+), 90 deletions(-) diff --git a/mappings/androidx-assemblies.csv b/mappings/androidx-assemblies.csv index 922df282e..f008c6815 100644 --- a/mappings/androidx-assemblies.csv +++ b/mappings/androidx-assemblies.csv @@ -1,86 +1,86 @@ Support .NET assembly,AndroidX .NET assembly,Support NuGet,AndroidX NuGet,AndroidX NuGet Version -Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,2.1.0.9 -Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,2.1.0.9 -Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,2.3.1.1 -Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,2.2.0.8 -Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,2.3.1.1 -Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,2.3.1.1 -Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,2.3.1.1 -Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,2.3.1.1 -Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,2.3.1.2 -Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,2.3.1.1 -Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,2.1.0.8 -Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,2.1.0.8 -Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,1.2.0 -Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,2.3.0.2 -Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,2.3.0.2 -Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,2.6.0 -Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,1.1.0.8 -Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,2.2.10.1 -Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.0.1.1 -Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.2.0.1 -Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,1.2.0 +Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,2.1.0.12 +Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,2.1.0.12 +Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,2.2.0.11 +Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,2.4.0.1 +Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,2.4.0.1 +Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,2.1.0.11 +Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,2.1.0.11 +Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,1.2.0.3 +Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,2.3.0.5 +Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,2.3.0.5 +Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,2.7.0.1 +Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,1.1.0.11 +Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,2.2.21.3 +Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.2.1 +Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.2.0.4 +Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,1.2.0.3 Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,Xamarin.Android.Support.Annotations,Xamarin.Google.Code.FindBugs,3.0.2 Xamarin.Android.Support.Annotations,Xamarin.Google.ErrorProne.ErrorProneAnnotations,Xamarin.Android.Support.Annotations,Xamarin.Google.ErrorProne.ErrorProneAnnotations,2.3.4 -Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,22.0.0 -Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,1.0.0.8 -Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.1.0.8 -Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,1.6.0.1 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,2.1.0 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,7.0.2 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,7.0.2 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,7.0.2 -Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,2.0.4.3 -Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,1.1.0.8 -Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,1.0.0.9 -Xamarin.Android.Support.Core.Utils,Xamarin.AndroidX.Legacy.Support.Core.Utils,Xamarin.Android.Support.Core.Utils,Xamarin.AndroidX.Legacy.Support.Core.Utils,1.0.0.8 -Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,1.0.0.8 -Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,1.3.0.6 -Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,1.1.0.7 -Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,2.2.10.1 -Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.0.1.1 -Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,1.1.0.1 -Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,1.4.0.2 -Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,1.5.31 -Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,1.0.1.8 -Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,1.1.1.3 -Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,1.0.0.8 -Xamarin.Android.Support.Emoji,Xamarin.AndroidX.Emoji,Xamarin.Android.Support.Emoji,Xamarin.AndroidX.Emoji,1.1.0.3 -Xamarin.Android.Support.Emoji.AppCompat,Xamarin.AndroidX.Emoji.AppCompat,Xamarin.Android.Support.Emoji.AppCompat,Xamarin.AndroidX.Emoji.AppCompat,1.1.0.3 -Xamarin.Android.Support.Emoji.Bundled,Xamarin.AndroidX.Emoji.Bundled,Xamarin.Android.Support.Emoji.Bundled,Xamarin.AndroidX.Emoji.Bundled,1.1.0.3 -Xamarin.Android.Support.Exif,Xamarin.AndroidX.ExifInterface,Xamarin.Android.Support.Exif,Xamarin.AndroidX.ExifInterface,1.3.3 -Xamarin.Android.Support.Fragment,Xamarin.AndroidX.Fragment,Xamarin.Android.Support.Fragment,Xamarin.AndroidX.Fragment,1.3.6.1 -Xamarin.Android.Support.HeifWriter,Xamarin.AndroidX.HeifWriter,Xamarin.Android.Support.HeifWriter,Xamarin.AndroidX.HeifWriter,1.0.0.8 -Xamarin.Android.Support.Interpolator,Xamarin.AndroidX.Interpolator,Xamarin.Android.Support.Interpolator,Xamarin.AndroidX.Interpolator,1.0.0.8 -Xamarin.Android.Support.Loader,Xamarin.AndroidX.Loader,Xamarin.Android.Support.Loader,Xamarin.AndroidX.Loader,1.1.0.8 -Xamarin.Android.Support.LocalBroadcastManager,Xamarin.AndroidX.LocalBroadcastManager,Xamarin.Android.Support.LocalBroadcastManager,Xamarin.AndroidX.LocalBroadcastManager,1.0.0.8 -Xamarin.Android.Support.Media.Compat,Xamarin.AndroidX.Media,Xamarin.Android.Support.Media.Compat,Xamarin.AndroidX.Media,1.4.2 -Xamarin.Android.Support.MultiDex,Xamarin.AndroidX.MultiDex,Xamarin.Android.Support.MultiDex,Xamarin.AndroidX.MultiDex,2.0.1.8 -Xamarin.Android.Support.Percent,Xamarin.AndroidX.PercentLayout,Xamarin.Android.Support.Percent,Xamarin.AndroidX.PercentLayout,1.0.0.9 -Xamarin.Android.Support.Print,Xamarin.AndroidX.Print,Xamarin.Android.Support.Print,Xamarin.AndroidX.Print,1.0.0.8 -Xamarin.Android.Support.Recommendation,Xamarin.AndroidX.Recommendation,Xamarin.Android.Support.Recommendation,Xamarin.AndroidX.Recommendation,1.0.0.8 -Xamarin.Android.Support.RecyclerView.Selection,Xamarin.AndroidX.RecyclerView.Selection,Xamarin.Android.Support.RecyclerView.Selection,Xamarin.AndroidX.RecyclerView.Selection,1.1.0.2 -Xamarin.Android.Support.Slices.Builders,Xamarin.AndroidX.Slice.Builders,Xamarin.Android.Support.Slices.Builders,Xamarin.AndroidX.Slice.Builders,1.0.0.8 -Xamarin.Android.Support.Slices.Core,Xamarin.AndroidX.Slice.Core,Xamarin.Android.Support.Slices.Core,Xamarin.AndroidX.Slice.Core,1.0.0.8 -Xamarin.Android.Support.Slices.View,Xamarin.AndroidX.Slice.View,Xamarin.Android.Support.Slices.View,Xamarin.AndroidX.Slice.View,1.0.0.8 -Xamarin.Android.Support.SlidingPaneLayout,Xamarin.AndroidX.SlidingPaneLayout,Xamarin.Android.Support.SlidingPaneLayout,Xamarin.AndroidX.SlidingPaneLayout,1.1.0.3 -Xamarin.Android.Support.SwipeRefreshLayout,Xamarin.AndroidX.SwipeRefreshLayout,Xamarin.Android.Support.SwipeRefreshLayout,Xamarin.AndroidX.SwipeRefreshLayout,1.1.0.3 -Xamarin.Android.Support.Transition,Xamarin.AndroidX.Transition,Xamarin.Android.Support.Transition,Xamarin.AndroidX.Transition,1.4.1.1 -Xamarin.Android.Support.TV.Provider,Xamarin.AndroidX.TvProvider,Xamarin.Android.Support.TV.Provider,Xamarin.AndroidX.TvProvider,1.0.0.10 -Xamarin.Android.Support.v13,Xamarin.AndroidX.Legacy.Support.V13,Xamarin.Android.Support.v13,Xamarin.AndroidX.Legacy.Support.V13,1.0.0.8 -Xamarin.Android.Support.v17.Leanback,Xamarin.AndroidX.Leanback,Xamarin.Android.Support.v17.Leanback,Xamarin.AndroidX.Leanback,1.0.0.10 -Xamarin.Android.Support.v17.Preference.Leanback,Xamarin.AndroidX.Leanback.Preference,Xamarin.Android.Support.v17.Preference.Leanback,Xamarin.AndroidX.Leanback.Preference,1.0.0.8 -Xamarin.Android.Support.v4,Xamarin.AndroidX.Legacy.Support.V4,Xamarin.Android.Support.v4,Xamarin.AndroidX.Legacy.Support.V4,1.0.0.8 -Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat,Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat,1.3.1.1 -Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat.AppCompatResources,Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat.AppCompatResources,1.3.1.1 -Xamarin.Android.Support.v7.CardView,Xamarin.AndroidX.CardView,Xamarin.Android.Support.v7.CardView,Xamarin.AndroidX.CardView,1.0.0.9 -Xamarin.Android.Support.v7.GridLayout,Xamarin.AndroidX.GridLayout,Xamarin.Android.Support.v7.GridLayout,Xamarin.AndroidX.GridLayout,1.0.0.8 -Xamarin.Android.Support.v7.MediaRouter,Xamarin.AndroidX.MediaRouter,Xamarin.Android.Support.v7.MediaRouter,Xamarin.AndroidX.MediaRouter,1.2.5 -Xamarin.Android.Support.v7.Palette,Xamarin.AndroidX.Palette,Xamarin.Android.Support.v7.Palette,Xamarin.AndroidX.Palette,1.0.0.8 -Xamarin.Android.Support.v7.Preference,Xamarin.AndroidX.Preference,Xamarin.Android.Support.v7.Preference,Xamarin.AndroidX.Preference,1.1.1.9 -Xamarin.Android.Support.v7.RecyclerView,Xamarin.AndroidX.RecyclerView,Xamarin.Android.Support.v7.RecyclerView,Xamarin.AndroidX.RecyclerView,1.2.1.1 -Xamarin.Android.Support.Vector.Drawable,Xamarin.AndroidX.VectorDrawable,Xamarin.Android.Support.Vector.Drawable,Xamarin.AndroidX.VectorDrawable,1.1.0.8 -Xamarin.Android.Support.VersionedParcelable,Xamarin.AndroidX.VersionedParcelable,Xamarin.Android.Support.VersionedParcelable,Xamarin.AndroidX.VersionedParcelable,1.1.1.8 -Xamarin.Android.Support.ViewPager,Xamarin.AndroidX.ViewPager,Xamarin.Android.Support.ViewPager,Xamarin.AndroidX.ViewPager,1.0.0.8 -Xamarin.Android.Support.Wear,Xamarin.AndroidX.Wear,Xamarin.Android.Support.Wear,Xamarin.AndroidX.Wear,1.2.0 -Xamarin.Android.Support.WebKit,Xamarin.AndroidX.WebKit,Xamarin.Android.Support.WebKit,Xamarin.AndroidX.WebKit,1.4.0.2 +Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,22.0.0.3 +Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,1.0.0.11 +Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.1.0.11 +Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,1.7.0.1 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,2.1.1.3 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,7.0.3.1 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,7.0.3.1 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,7.0.3.1 +Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,2.0.4.6 +Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,1.1.0.11 +Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,1.0.0.12 +Xamarin.Android.Support.Core.Utils,Xamarin.AndroidX.Legacy.Support.Core.Utils,Xamarin.Android.Support.Core.Utils,Xamarin.AndroidX.Legacy.Support.Core.Utils,1.0.0.11 +Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,1.0.0.11 +Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,1.3.0.9 +Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,1.1.0.10 +Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,2.2.21.3 +Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.2.1 +Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,1.1.0.4 +Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,1.4.0.5 +Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,1.5.31.3 +Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,1.0.1.11 +Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,1.1.1.6 +Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,1.0.0.11 +Xamarin.Android.Support.Emoji,Xamarin.AndroidX.Emoji,Xamarin.Android.Support.Emoji,Xamarin.AndroidX.Emoji,1.1.0.6 +Xamarin.Android.Support.Emoji.AppCompat,Xamarin.AndroidX.Emoji.AppCompat,Xamarin.Android.Support.Emoji.AppCompat,Xamarin.AndroidX.Emoji.AppCompat,1.1.0.6 +Xamarin.Android.Support.Emoji.Bundled,Xamarin.AndroidX.Emoji.Bundled,Xamarin.Android.Support.Emoji.Bundled,Xamarin.AndroidX.Emoji.Bundled,1.1.0.6 +Xamarin.Android.Support.Exif,Xamarin.AndroidX.ExifInterface,Xamarin.Android.Support.Exif,Xamarin.AndroidX.ExifInterface,1.3.3.3 +Xamarin.Android.Support.Fragment,Xamarin.AndroidX.Fragment,Xamarin.Android.Support.Fragment,Xamarin.AndroidX.Fragment,1.3.6.4 +Xamarin.Android.Support.HeifWriter,Xamarin.AndroidX.HeifWriter,Xamarin.Android.Support.HeifWriter,Xamarin.AndroidX.HeifWriter,1.0.0.11 +Xamarin.Android.Support.Interpolator,Xamarin.AndroidX.Interpolator,Xamarin.Android.Support.Interpolator,Xamarin.AndroidX.Interpolator,1.0.0.11 +Xamarin.Android.Support.Loader,Xamarin.AndroidX.Loader,Xamarin.Android.Support.Loader,Xamarin.AndroidX.Loader,1.1.0.11 +Xamarin.Android.Support.LocalBroadcastManager,Xamarin.AndroidX.LocalBroadcastManager,Xamarin.Android.Support.LocalBroadcastManager,Xamarin.AndroidX.LocalBroadcastManager,1.0.0.11 +Xamarin.Android.Support.Media.Compat,Xamarin.AndroidX.Media,Xamarin.Android.Support.Media.Compat,Xamarin.AndroidX.Media,1.4.3.1 +Xamarin.Android.Support.MultiDex,Xamarin.AndroidX.MultiDex,Xamarin.Android.Support.MultiDex,Xamarin.AndroidX.MultiDex,2.0.1.11 +Xamarin.Android.Support.Percent,Xamarin.AndroidX.PercentLayout,Xamarin.Android.Support.Percent,Xamarin.AndroidX.PercentLayout,1.0.0.12 +Xamarin.Android.Support.Print,Xamarin.AndroidX.Print,Xamarin.Android.Support.Print,Xamarin.AndroidX.Print,1.0.0.11 +Xamarin.Android.Support.Recommendation,Xamarin.AndroidX.Recommendation,Xamarin.Android.Support.Recommendation,Xamarin.AndroidX.Recommendation,1.0.0.11 +Xamarin.Android.Support.RecyclerView.Selection,Xamarin.AndroidX.RecyclerView.Selection,Xamarin.Android.Support.RecyclerView.Selection,Xamarin.AndroidX.RecyclerView.Selection,1.1.0.5 +Xamarin.Android.Support.Slices.Builders,Xamarin.AndroidX.Slice.Builders,Xamarin.Android.Support.Slices.Builders,Xamarin.AndroidX.Slice.Builders,1.0.0.11 +Xamarin.Android.Support.Slices.Core,Xamarin.AndroidX.Slice.Core,Xamarin.Android.Support.Slices.Core,Xamarin.AndroidX.Slice.Core,1.0.0.11 +Xamarin.Android.Support.Slices.View,Xamarin.AndroidX.Slice.View,Xamarin.Android.Support.Slices.View,Xamarin.AndroidX.Slice.View,1.0.0.11 +Xamarin.Android.Support.SlidingPaneLayout,Xamarin.AndroidX.SlidingPaneLayout,Xamarin.Android.Support.SlidingPaneLayout,Xamarin.AndroidX.SlidingPaneLayout,1.1.0.6 +Xamarin.Android.Support.SwipeRefreshLayout,Xamarin.AndroidX.SwipeRefreshLayout,Xamarin.Android.Support.SwipeRefreshLayout,Xamarin.AndroidX.SwipeRefreshLayout,1.1.0.6 +Xamarin.Android.Support.Transition,Xamarin.AndroidX.Transition,Xamarin.Android.Support.Transition,Xamarin.AndroidX.Transition,1.4.1.4 +Xamarin.Android.Support.TV.Provider,Xamarin.AndroidX.TvProvider,Xamarin.Android.Support.TV.Provider,Xamarin.AndroidX.TvProvider,1.0.0.13 +Xamarin.Android.Support.v13,Xamarin.AndroidX.Legacy.Support.V13,Xamarin.Android.Support.v13,Xamarin.AndroidX.Legacy.Support.V13,1.0.0.11 +Xamarin.Android.Support.v17.Leanback,Xamarin.AndroidX.Leanback,Xamarin.Android.Support.v17.Leanback,Xamarin.AndroidX.Leanback,1.0.0.13 +Xamarin.Android.Support.v17.Preference.Leanback,Xamarin.AndroidX.Leanback.Preference,Xamarin.Android.Support.v17.Preference.Leanback,Xamarin.AndroidX.Leanback.Preference,1.0.0.11 +Xamarin.Android.Support.v4,Xamarin.AndroidX.Legacy.Support.V4,Xamarin.Android.Support.v4,Xamarin.AndroidX.Legacy.Support.V4,1.0.0.11 +Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat,Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat,1.3.1.4 +Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat.AppCompatResources,Xamarin.Android.Support.v7.AppCompat,Xamarin.AndroidX.AppCompat.AppCompatResources,1.3.1.4 +Xamarin.Android.Support.v7.CardView,Xamarin.AndroidX.CardView,Xamarin.Android.Support.v7.CardView,Xamarin.AndroidX.CardView,1.0.0.12 +Xamarin.Android.Support.v7.GridLayout,Xamarin.AndroidX.GridLayout,Xamarin.Android.Support.v7.GridLayout,Xamarin.AndroidX.GridLayout,1.0.0.11 +Xamarin.Android.Support.v7.MediaRouter,Xamarin.AndroidX.MediaRouter,Xamarin.Android.Support.v7.MediaRouter,Xamarin.AndroidX.MediaRouter,1.2.5.3 +Xamarin.Android.Support.v7.Palette,Xamarin.AndroidX.Palette,Xamarin.Android.Support.v7.Palette,Xamarin.AndroidX.Palette,1.0.0.11 +Xamarin.Android.Support.v7.Preference,Xamarin.AndroidX.Preference,Xamarin.Android.Support.v7.Preference,Xamarin.AndroidX.Preference,1.1.1.12 +Xamarin.Android.Support.v7.RecyclerView,Xamarin.AndroidX.RecyclerView,Xamarin.Android.Support.v7.RecyclerView,Xamarin.AndroidX.RecyclerView,1.2.1.4 +Xamarin.Android.Support.Vector.Drawable,Xamarin.AndroidX.VectorDrawable,Xamarin.Android.Support.Vector.Drawable,Xamarin.AndroidX.VectorDrawable,1.1.0.11 +Xamarin.Android.Support.VersionedParcelable,Xamarin.AndroidX.VersionedParcelable,Xamarin.Android.Support.VersionedParcelable,Xamarin.AndroidX.VersionedParcelable,1.1.1.11 +Xamarin.Android.Support.ViewPager,Xamarin.AndroidX.ViewPager,Xamarin.Android.Support.ViewPager,Xamarin.AndroidX.ViewPager,1.0.0.11 +Xamarin.Android.Support.Wear,Xamarin.AndroidX.Wear,Xamarin.Android.Support.Wear,Xamarin.AndroidX.Wear,1.2.0.3 +Xamarin.Android.Support.WebKit,Xamarin.AndroidX.WebKit,Xamarin.Android.Support.WebKit,Xamarin.AndroidX.WebKit,1.4.0.5 diff --git a/mappings/dependencies.json b/mappings/dependencies.json index 0bab70ad3..a39648aaa 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1464,9 +1464,9 @@ "dependencies": [ "Xamarin.AndroidX.Annotation", "Xamarin.AndroidX.Concurrent.Futures", + "Xamarin.Google.Guava.ListenableFuture", "Xamarin.Kotlin.StdLib", "Xamarin.KotlinX.Coroutines.Guava", - "Xamarin.Google.Guava.ListenableFuture", "Xamarin.GooglePlayServices.Basement", "Xamarin.GooglePlayServices.Wearable" ] @@ -1474,9 +1474,9 @@ { "id": "Xamarin.KotlinX.Coroutines.Guava", "dependencies": [ + "Xamarin.Google.Guava", "Xamarin.Kotlin.StdLib.Jdk8", - "Xamarin.KotlinX.Coroutines.Core.Jvm", - "Xamarin.Google.Guava" + "Xamarin.KotlinX.Coroutines.Core.Jvm" ] }, { @@ -1591,10 +1591,6 @@ "Xamarin.Kotlin.StdLib" ] }, - { - "id": "Xamarin.Google.Guava", - "dependencies": [] - }, { "id": "Xamarin.KotlinX.Coroutines.Jdk8", "dependencies": [ From 9133be49a19361791603ebe2116c21b034f97740 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 16 Dec 2021 08:38:18 +0100 Subject: [PATCH 23/34] Update Xamarin.AndroidX.Migration.props --- source/migration/BuildTasks/Xamarin.AndroidX.Migration.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props index 267850c60..6f1f6ab3a 100644 --- a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props +++ b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props @@ -353,8 +353,8 @@ <_AndroidXMavenArtifact Include="com.google.auto.value.auto-value-annotations" /> <_AndroidXMavenArtifact Include="com.google.code.findbugs.jsr305" /> <_AndroidXMavenArtifact Include="com.google.code.gson.gson" /> - <_AndroidXMavenArtifact Include="com.google.errorprone.error_prone_annotations" /> <_AndroidXMavenArtifact Include="com.google.crypto.tink.tink-android" /> + <_AndroidXMavenArtifact Include="com.google.errorprone.error_prone_annotations" /> <_AndroidXMavenArtifact Include="com.google.firebase.firebase-appindexing" /> <_AndroidXMavenArtifact Include="com.google.guava.failureaccess" /> <_AndroidXMavenArtifact Include="com.google.guava.guava" /> From 8786a11331edf2b88aec4e5b3b4e98ff4e0bedda Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 16 Dec 2021 10:10:07 +0100 Subject: [PATCH 24/34] AndroidBinderatorVersion bumped --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 289983aae..abf28fe15 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,7 +6,7 @@ pr: - main variables: - AndroidBinderatorVersion: 0.5.2 + AndroidBinderatorVersion: 0.5.3 AndroidXMigrationVersion: 1.0.8 DotNetVersion: 6.0.100 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json From 2e62c94fd99544693f2fcea9de7d1b79d51883e8 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 16 Dec 2021 17:06:49 +0100 Subject: [PATCH 25/34] Update dependencies.json --- mappings/dependencies.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mappings/dependencies.json b/mappings/dependencies.json index a39648aaa..d4d372808 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1121,6 +1121,10 @@ "id": "Xamarin.AndroidX.MultiDex", "dependencies": [] }, + { + "id": "Xamarin.AndroidX.Migration.Tool", + "dependencies": [] + }, { "id": "Xamarin.AndroidX.Navigation.Common", "dependencies": [ From 22e2c2f90f071c79f755c80b64afdb6dc054b840 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 16 Dec 2021 18:50:44 +0100 Subject: [PATCH 26/34] Update dependencies.json --- mappings/dependencies.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mappings/dependencies.json b/mappings/dependencies.json index d4d372808..cd480b969 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1468,9 +1468,9 @@ "dependencies": [ "Xamarin.AndroidX.Annotation", "Xamarin.AndroidX.Concurrent.Futures", - "Xamarin.Google.Guava.ListenableFuture", "Xamarin.Kotlin.StdLib", "Xamarin.KotlinX.Coroutines.Guava", + "Xamarin.Google.Guava.ListenableFuture", "Xamarin.GooglePlayServices.Basement", "Xamarin.GooglePlayServices.Wearable" ] @@ -1478,9 +1478,9 @@ { "id": "Xamarin.KotlinX.Coroutines.Guava", "dependencies": [ - "Xamarin.Google.Guava", "Xamarin.Kotlin.StdLib.Jdk8", - "Xamarin.KotlinX.Coroutines.Core.Jvm" + "Xamarin.KotlinX.Coroutines.Core.Jvm", + "Xamarin.Google.Guava" ] }, { From 161255ac2a22195598853087349f85030bee211f Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 17 Dec 2021 15:56:57 +0100 Subject: [PATCH 27/34] Update dependencies.json --- mappings/dependencies.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mappings/dependencies.json b/mappings/dependencies.json index cd480b969..d4d372808 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1468,9 +1468,9 @@ "dependencies": [ "Xamarin.AndroidX.Annotation", "Xamarin.AndroidX.Concurrent.Futures", + "Xamarin.Google.Guava.ListenableFuture", "Xamarin.Kotlin.StdLib", "Xamarin.KotlinX.Coroutines.Guava", - "Xamarin.Google.Guava.ListenableFuture", "Xamarin.GooglePlayServices.Basement", "Xamarin.GooglePlayServices.Wearable" ] @@ -1478,9 +1478,9 @@ { "id": "Xamarin.KotlinX.Coroutines.Guava", "dependencies": [ + "Xamarin.Google.Guava", "Xamarin.Kotlin.StdLib.Jdk8", - "Xamarin.KotlinX.Coroutines.Core.Jvm", - "Xamarin.Google.Guava" + "Xamarin.KotlinX.Coroutines.Core.Jvm" ] }, { From d8b98a2febd72dcd3154e22ee023fd854d502bc1 Mon Sep 17 00:00:00 2001 From: moljac Date: Mon, 20 Dec 2021 07:08:02 +0100 Subject: [PATCH 28/34] DotNetVersion: 6.0.200 --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index abf28fe15..256f7d634 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -8,7 +8,7 @@ pr: variables: AndroidBinderatorVersion: 0.5.3 AndroidXMigrationVersion: 1.0.8 - DotNetVersion: 6.0.100 + DotNetVersion: 6.0.200 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json NuGetOrgSource: https://api.nuget.org/v3/index.json LegacyXamarinAndroidPkg: https://aka.ms/xamarin-android-commercial-d17-0-macos From fe0ce10d71fd2980acbec6bcea127398c4a3ebcb Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 21 Dec 2021 10:10:34 +0100 Subject: [PATCH 29/34] azure-pipelines.yml version bumps --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 256f7d634..2f70e965e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -8,7 +8,7 @@ pr: variables: AndroidBinderatorVersion: 0.5.3 AndroidXMigrationVersion: 1.0.8 - DotNetVersion: 6.0.200 + DotNetVersion: 6.0.101 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json NuGetOrgSource: https://api.nuget.org/v3/index.json LegacyXamarinAndroidPkg: https://aka.ms/xamarin-android-commercial-d17-0-macos From 024168f1df52e85ea389306df22d36dd1994531c Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 24 Dec 2021 10:09:58 +0100 Subject: [PATCH 30/34] guava tricks to build nugets --- config.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/config.json b/config.json index ba091497a..9d5267dd9 100644 --- a/config.json +++ b/config.json @@ -1567,11 +1567,27 @@ "groupId": "com.google.guava", "artifactId": "failureaccess", "version": "1.0.1", - "nugetVersion": "1.0.1.4", + "nugetVersion": "1.0.1.5", "nugetId": "Xamarin.Google.Guava.FailureAccess", "dependencyOnly": false, "templateSet": "guava" }, + { + "groupId": "com.google.guava", + "artifactId": "listenablefuture", + "version": "1.0", + "nugetVersion": "1.0.0.5", + "nugetId": "Xamarin.Google.Guava.ListenableFuture", + "dependencyOnly": true + }, + { + "groupId": "com.google.guava", + "artifactId": "failureaccess", + "version": "1.0.1", + "nugetVersion": "1.0.1.5", + "nugetId": "Xamarin.Google.Guava.FailureAccess", + "dependencyOnly": true + }, { "templateSet": "findbugs", "groupId": "com.google.code.findbugs", From 741bbea935ca2fb2e697979aad48a6779796bf7e Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 24 Dec 2021 10:10:28 +0100 Subject: [PATCH 31/34] fix for adding guava into dictionary during analysis --- utilities.cake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities.cake b/utilities.cake index 9275283f9..98db11696 100644 --- a/utilities.cake +++ b/utilities.cake @@ -500,7 +500,7 @@ Task ("api-diff-analysis") Information( $" artifactId = {artifactId}"); Information( $" artifactId fully qualified = {groupId}.{artifactId}"); - nugets_modified.Add(d_name, $"{groupId}.{artifactId}"); + nugets_modified.Add($"{nugetId}-{nugetVersion}", $"{groupId}.{artifactId}"); } } } From 0fa4dc83dee1c3f06fa19e1d7da86afe42eb90bb Mon Sep 17 00:00:00 2001 From: moljac Date: Mon, 3 Jan 2022 13:47:09 +0100 Subject: [PATCH 32/34] Update config.json --- config.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config.json b/config.json index 9d5267dd9..c9e8b3fce 100644 --- a/config.json +++ b/config.json @@ -1572,6 +1572,14 @@ "dependencyOnly": false, "templateSet": "guava" }, + { + "groupId": "com.google.guava", + "artifactId": "guava", + "version": "29.0-android", + "nugetVersion": "29.0.0", + "nugetId": "Xamarin.Google.Guava", + "dependencyOnly": true + }, { "groupId": "com.google.guava", "artifactId": "listenablefuture", From 1b2eb0f37165553e15229d1e6ad9b79a7abcb765 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 26 Jan 2022 15:46:44 +0100 Subject: [PATCH 33/34] Update utilities.cake --- utilities.cake | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/utilities.cake b/utilities.cake index 2a3de155c..65380ef75 100644 --- a/utilities.cake +++ b/utilities.cake @@ -564,6 +564,68 @@ Task("nuget-structure-analysis") ); +Task ("test-url-discovery") + .Does + ( + () => + { + using (StreamReader reader = System.IO.File.OpenText(@"./config.json")) + { + JsonTextReader jtr = new JsonTextReader(reader); + binderator_json_array = (JArray)JToken.ReadFrom(jtr); + } + + string group_id = null; + string artifact_id = null; + string version = null; + string extension = null; + string url_root = $"https://dl.google.com/android/maven2/"; + string uri = null; + + System.Net.Http.HttpClient client = new System.Net.Http.HttpClient(); + System.Net.Http.HttpResponseMessage result = null; + System.Net.HttpStatusCode sc; + + foreach(JObject jo in binderator_json_array[0]["artifacts"]) + { + bool? dependency_only = (bool?) jo["dependencyOnly"]; + if ( dependency_only == true) + { + continue; + } + + group_id = (string) jo["groupId"]; + artifact_id = (string) jo["artifactId"]; + version = (string) jo["version"]; + + string uri_group = group_id.Replace(".", "/"); + + extension = "aar"; + uri = $"{url_root}/{uri_group}/{artifact_id}/{version}/{artifact_id}-{version}.{extension}"; + result = client.GetAsync(uri).Result; + sc = result.StatusCode; + if ( sc == System.Net.HttpStatusCode.Accepted || sc == System.Net.HttpStatusCode.OK) + { + Information($"Probing found = {uri}"); + continue; + } + + extension = "jar"; + uri = $"{url_root}/{uri_group}/{artifact_id}/{version}/{artifact_id}-{version}.{extension}"; + result = client.GetAsync(uri).Result; + sc = result.StatusCode; + + if ( sc == System.Net.HttpStatusCode.Accepted || sc == System.Net.HttpStatusCode.OK) + { + Information($"Probing found = {uri}"); + continue; + } + + Information($"Probing missed = {uri}"); + } + } + ); + Task ("read-analysis-files") .IsDependentOn ("binderate-diff") .IsDependentOn ("api-diff-markdown-info-pr") From 2ea5927eb83a0c9f9f2c0c708359f5175cdcce14 Mon Sep 17 00:00:00 2001 From: moljac Date: Tue, 15 Mar 2022 17:36:53 +0100 Subject: [PATCH 34/34] Update config.json --- config.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config.json b/config.json index 36d4e5f11..e6a241dcf 100644 --- a/config.json +++ b/config.json @@ -1602,7 +1602,7 @@ "artifactId": "jsr305", "version": "3.0.2", "nugetVersion": "3.0.2", - "nugetId": "Xamarin.Google.Code.FindBugs", + "nugetId": "Xamarin.Google.Code.FindBugs.JSR305", "dependencyOnly": false }, { @@ -1620,7 +1620,7 @@ "artifactId": "error_prone_annotations", "version": "2.3.4", "nugetVersion": "2.3.4", - "nugetId": "Xamarin.Google.ErrorProne.ErrorProneAnnotations", + "nugetId": "Xamarin.Google.ErrorProne.Annotations", "dependencyOnly": false }, { @@ -1629,7 +1629,7 @@ "artifactId": "j2objc-annotations", "version": "1.3", "nugetVersion": "1.3.0", - "nugetId": "Xamarin.Google.J2Objc.J2ObjcAnnotations", + "nugetId": "Xamarin.Google.J2Objc.Annotations", "dependencyOnly": false }, {