diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 747a4146e28..e55b60ded30 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -45,6 +45,7 @@ updates: - "/src/r8" - "/src/manifestmerger" - "/src/proguard-android" + - "/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib" schedule: interval: "weekly" - package-ecosystem: "gitsubmodule" diff --git a/.github/instructions/gradle.instructions.md b/.github/instructions/gradle.instructions.md index 7233969afe9..613a4edfead 100644 --- a/.github/instructions/gradle.instructions.md +++ b/.github/instructions/gradle.instructions.md @@ -37,9 +37,19 @@ Test the CI path locally: `$env:RunningOnCI='true'` (PowerShell) or `RunningOnCI The new package isn't cached in the feed yet. One-time setup, then ingest: 1. `iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) }"` (or the `.sh` equivalent) -2. `$env:RunningOnCI='true'; ./build-tools/gradle/gradlew.bat --project-dir src/ build` — sign in via the device-flow prompt; the feed proxies + caches the package. +2. ```powershell + $env:RunningOnCI='true' + $env:NUGET_CREDENTIALPROVIDER_VSTS_TOKENTYPE='SelfDescribing' + ./build-tools/gradle/gradlew.bat --project-dir src/ build + ``` + Sign in via the popup; the feed proxies + caches the package. `SelfDescribing` is required — the default `Compact` token is rejected by the feed when ingesting plugin markers (e.g. AGP plugin from `pluginManagement`). 3. Re-run CI on the Dependabot PR. No PR edit needed. +If the popup never appears or auth keeps cancelling, clear the cached session token and try again: +```powershell +Remove-Item "$env:LOCALAPPDATA\MicrosoftCredentialProvider\SessionTokenCache.dat" -ErrorAction SilentlyContinue +``` + The credprovider plugin is a no-op when no AzDO repos are configured (i.e. local builds without `RunningOnCI`). ## Don'ts diff --git a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties index d6e308a6378..221c4f98228 100644 --- a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties +++ b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/proguard-android/build.gradle b/src/proguard-android/build.gradle index 9be3b1b1e74..e70b9fa5fe7 100644 --- a/src/proguard-android/build.gradle +++ b/src/proguard-android/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.application' version '8.7.0' + id 'com.android.application' version '9.2.1' } android { diff --git a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/build.gradle b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/build.gradle index 8a2011238e7..3e75fba8418 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/build.gradle +++ b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/build.gradle @@ -1,26 +1,10 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - mavenCentral() - } +plugins { + id 'com.android.library' version '9.2.1' apply false } task clean(type: Delete) { - delete rootProject.buildDir + delete rootProject.layout.buildDirectory } diff --git a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/build.gradle b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/build.gradle index b5cb8374ce7..15b216479f5 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/build.gradle +++ b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/build.gradle @@ -1,21 +1,21 @@ -apply plugin: 'com.android.library' +plugins { + id 'com.android.library' +} android { - compileSdkVersion 25 + namespace 'com.example.javalib' + compileSdk 35 defaultConfig { - minSdkVersion 19 - targetSdkVersion 25 + minSdk 21 + targetSdk 35 versionCode 1 versionName "1.0" - - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } buildTypes { release { minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } diff --git a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/src/main/AndroidManifest.xml b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/src/main/AndroidManifest.xml index a2fb60b67f5..0a0938ae37e 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/src/main/AndroidManifest.xml +++ b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/library/src/main/AndroidManifest.xml @@ -1,3 +1,3 @@ - + diff --git a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/settings.gradle b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/settings.gradle index d8f14a134bf..571862a24e5 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/settings.gradle +++ b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/java/JavaLib/settings.gradle @@ -1 +1,15 @@ +// See: eng/gradle/plugin-repositories.gradle, eng/gradle/dependency-repositories.gradle +pluginManagement { + apply from: "${rootDir}/../../../../../eng/gradle/plugin-repositories.gradle", to: pluginManagement +} + +plugins { + id 'com.microsoft.azure.artifacts.credprovider' version '1.1.1' +} + +dependencyResolutionManagement { + apply from: "${rootDir}/../../../../../eng/gradle/dependency-repositories.gradle", to: dependencyResolutionManagement +} + +rootProject.name = 'JavaLib' include ':library'