Fixed
Status Update
Comments
ya...@google.com <ya...@google.com>
je...@google.com <je...@google.com>
so...@google.com <so...@google.com> #2
Some things to work out before making the annotations type-use:
- Determine guidelines for type nullability in public API
- Determine rules for when type nullability can change in public API
- Confirm that intellij nullability lint works as expected for type-use nullability annotations
- Test what the impact would be on existing arrays (due to ambiguities of type-use annotations on arrays)
- Confirm usage of type-use
androidx.annotation.NonNull/Nullable
in metalava won't break anything for platform
ga...@google.com <ga...@google.com> #4
al...@snappautomotive.io <al...@snappautomotive.io> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 558f17c6f9e237897fcc87fa556ca4af5c1808c6
Author: Julia McClellan <juliamcclellan@google.com>
Date: Thu Sep 19 14:50:25 2024
Add JSpecify to list of Dackka allowed nullness annotations
Test: Compared the output of `./gradlew docs-tip-of-tree:docs` with the current codebase and aosp/3190072, which switches all nullness annotations to jspecify. Only observed changes were updated nullness annotation links and additional copies of some inherited methods when a parent used a different nullness annotation (similar to b/280845383 )
Bug: 326456246
Change-Id: I40ede9c84dbae3a1ac7d3d4e98f77a56e119caaa
M buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt
https://android-review.googlesource.com/3272873
Branch: androidx-main
commit 558f17c6f9e237897fcc87fa556ca4af5c1808c6
Author: Julia McClellan <juliamcclellan@google.com>
Date: Thu Sep 19 14:50:25 2024
Add JSpecify to list of Dackka allowed nullness annotations
Test: Compared the output of `./gradlew docs-tip-of-tree:docs` with the current codebase and aosp/3190072, which switches all nullness annotations to jspecify. Only observed changes were updated nullness annotation links and additional copies of some inherited methods when a parent used a different nullness annotation (similar to
Bug: 326456246
Change-Id: I40ede9c84dbae3a1ac7d3d4e98f77a56e119caaa
M buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt
ga...@google.com <ga...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit c8f5025ba9bf1deb5effbebb7e79683ee7ff9f50
Author: Julia McClellan <juliamcclellan@google.com>
Date: Fri Sep 20 12:31:45 2024
Add JSpecify package-list
Bug: 326456246
Test: checking links in output of `./gradlew docs-tip-of-tree:docs` with aosp/3190072 which switches annotations to jspecify
Change-Id: Ic52ecc37cfb84002ba830dfca6186db2dc5bae67
M buildSrc/private/src/main/kotlin/androidx/build/dackka/DackkaTask.kt
A docs-public/package-lists/jspecify/package-list
https://android-review.googlesource.com/3275171
Branch: androidx-main
commit c8f5025ba9bf1deb5effbebb7e79683ee7ff9f50
Author: Julia McClellan <juliamcclellan@google.com>
Date: Fri Sep 20 12:31:45 2024
Add JSpecify package-list
Bug: 326456246
Test: checking links in output of `./gradlew docs-tip-of-tree:docs` with aosp/3190072 which switches annotations to jspecify
Change-Id: Ic52ecc37cfb84002ba830dfca6186db2dc5bae67
M buildSrc/private/src/main/kotlin/androidx/build/dackka/DackkaTask.kt
A docs-public/package-lists/jspecify/package-list
al...@snappautomotive.io <al...@snappautomotive.io> #7
Project: platform/frameworks/support
Branch: androidx-main
commit b05578cabee04fdccd2f24c7e2d6a8b25b94a97a
Author: Julia McClellan <juliamcclellan@google.com>
Date: Mon Sep 23 11:21:48 2024
Add java format task
Will be used by the jspecify update script
Bug: 326456246
Test: `./gradlew core:core:javaFormat`, `./gradlew core:core:javaFormat --fix-imports-only` to check java diffs. `./gradlew paging:paging-guava:javaFormat` to check the task succeeds for a project with no java files
Change-Id: I6027419d4ad520a4bd82decd009d252b7077d8a6
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
A buildSrc/private/src/main/kotlin/androidx/build/JavaFormat.kt
M gradle/libs.versions.toml
https://android-review.googlesource.com/3277031
Branch: androidx-main
commit b05578cabee04fdccd2f24c7e2d6a8b25b94a97a
Author: Julia McClellan <juliamcclellan@google.com>
Date: Mon Sep 23 11:21:48 2024
Add java format task
Will be used by the jspecify update script
Bug: 326456246
Test: `./gradlew core:core:javaFormat`, `./gradlew core:core:javaFormat --fix-imports-only` to check java diffs. `./gradlew paging:paging-guava:javaFormat` to check the task succeeds for a project with no java files
Change-Id: I6027419d4ad520a4bd82decd009d252b7077d8a6
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
A buildSrc/private/src/main/kotlin/androidx/build/JavaFormat.kt
M gradle/libs.versions.toml
ga...@google.com <ga...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit 7d0e9ad06dd1a8372872053b882be71ec2208df7
Author: Julia McClellan <juliamcclellan@google.com>
Date: Fri Sep 20 13:55:03 2024
Add script to migrate projects to JSpecify
This script runs lint to update usage of AndroidX nullness annotations to type-use position, switches the imports to point to JSpecify, and adds a dependency in each build.gradle file.
Bug: 326456246
Test: `development/jspecify_update.py` runs over all projects and created aosp/3190072. Tested `development/jspecify_update.py cursoradapter` to run over a specific directory.
Change-Id: Id0b0620d4d2dd12f88bdd6ece6885b8abb7b7843
A development/jspecify_update.py
https://android-review.googlesource.com/3275093
Branch: androidx-main
commit 7d0e9ad06dd1a8372872053b882be71ec2208df7
Author: Julia McClellan <juliamcclellan@google.com>
Date: Fri Sep 20 13:55:03 2024
Add script to migrate projects to JSpecify
This script runs lint to update usage of AndroidX nullness annotations to type-use position, switches the imports to point to JSpecify, and adds a dependency in each build.gradle file.
Bug: 326456246
Test: `development/jspecify_update.py` runs over all projects and created aosp/3190072. Tested `development/jspecify_update.py cursoradapter` to run over a specific directory.
Change-Id: Id0b0620d4d2dd12f88bdd6ece6885b8abb7b7843
A development/jspecify_update.py
ga...@google.com <ga...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-main
commit 619650cc911ddda040d11f5162d6cdd3bcd48b04
Author: Julia McClellan <juliamcclellan@google.com>
Date: Mon Sep 23 11:38:03 2024
Add kotlin compiler args for JSpecify
These arguments make the kotlin compiler enforce correct usage of jspecify nullness annotations. They will become default in language version 2.1 but are needed until then.
Bug: 326456246
Test: Local testing of running `compileKotlin` when using jspecify nullness incorrectly
Change-Id: I635baf825df0e67d489879dcb2e812b3ee3cffb4
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
https://android-review.googlesource.com/3277032
Branch: androidx-main
commit 619650cc911ddda040d11f5162d6cdd3bcd48b04
Author: Julia McClellan <juliamcclellan@google.com>
Date: Mon Sep 23 11:38:03 2024
Add kotlin compiler args for JSpecify
These arguments make the kotlin compiler enforce correct usage of jspecify nullness annotations. They will become default in language version 2.1 but are needed until then.
Bug: 326456246
Test: Local testing of running `compileKotlin` when using jspecify nullness incorrectly
Change-Id: I635baf825df0e67d489879dcb2e812b3ee3cffb4
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
Description
AI-213.7172.25.2113.9123335, JRE 11.0.13+0-b1751.21-8125866x64 JetBrains s.r.o., OS Windows 11(amd64) v10.0 , screens 2880.0x1620.0
AS: Dolphin | 2021.3.1 Patch 1
Kotlin plugin: 213-1.7.20-release-for-android-studio-AS6777.52
Android Gradle Plugin: (plugin information not found)
Gradle: (gradle version information not found)
Gradle JDK: Eclipse Temurin version 11.0.17
NDK: from local.properties: (not specified), latest from SDK: 22.1.7171670
CMake: from local.properties: (not specified), latest from SDK: 3.22.1-g37088a8-dirty, from PATH: (not found)Source: send_feedback_icon
Stack Trace;
java.util.NoSuchElementException: Collection contains no element matching the predicate.
at com.android.tools.idea.gradle.project.sync.idea.SdkSyncUtil.findMatchingSdkForAddon(SdkSyncUtil.kt:175)
at com.android.tools.idea.gradle.project.sync.idea.SdkSyncUtil.computeSdkReloadingAsNeeded(SdkSyncUtil.kt:127)
at com.android.tools.idea.projectsystem.gradle.sync.AndroidModuleDataService.postProcess(AndroidModuleDataService.kt:249)
at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.lambda$doImportData$1(ProjectDataManagerImpl.java:299)
at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:134)
at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:229)
at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:236)
at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populateProject(IdeaSyncPopulateProjectTask.java:57)
at com.android.tools.idea.gradle.project.sync.idea.ProjectSetUpTask.doPopulateProject(ProjectSetUpTask.java:54)
at com.android.tools.idea.gradle.project.sync.idea.ProjectSetUpTask.onSuccess(ProjectSetUpTask.java:48)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.handExecutionResult(ExternalSystemUtil.java:545)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.executeImpl(ExternalSystemUtil.java:525)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.lambda$execute$0(ExternalSystemUtil.java:353)
at com.intellij.openapi.project.DumbServiceHeavyActivities.suspendIndexingAndRun(DumbServiceHeavyActivities.java:21)
at com.intellij.openapi.project.DumbServiceImpl.suspendIndexingAndRun(DumbServiceImpl.java:187)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.execute(ExternalSystemUtil.java:353)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4.run(ExternalSystemUtil.java:637)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:436)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:120)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:496)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:244)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:244)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
2022-09-27 11:33:17,767 [2379038] ERROR - intellij.openapi.progress.Task - Android Studio Dolphin | 2021.3.1 Build #AI-213.7172.25.2113.9014738
2022-09-27 11:33:17,783 [2379054] ERROR - intellij.openapi.progress.Task - JDK: 11.0.13; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2022-09-27 11:33:17,783 [2379054] ERROR - intellij.openapi.progress.Task - OS: Windows 11
2022-09-27 11:33:17,783 [2379054] ERROR - intellij.openapi.progress.Task - Last Action: OpenFile