Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AndroidApp/.idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions AndroidApp/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Androidアプリ

### 開発環境
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

見出しレベルの飛びを修正してください(MD001)。
### から始まっており、前段に ## がないため見出しレベルが1段飛びになっています。

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
In `@AndroidApp/README.md` at line 3, 見出しレベルが「###
開発環境」となっており前に「##」がないためMD001違反になっています。該当箇所の見出し("###
開発環境")を見つけて、前後の構成に合わせて一段上げる("## 開発環境" に変更)か、もし意図的にセクションを細分化しているなら直前に適切な "##"
見出しを追加して見出しレベルの飛びを解消してください。


- Android Studio Otter 3 Feature Drop | 2025.2.3
- Windows 11
- 一部 wsl2(Ubuntu 22.04.5 LTS)
Comment on lines +6 to +7
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

入れ子リストのインデントを統一してください(MD007)。
- 一部 wsl2(...) のインデントが4スペースになっており、期待値2スペースに合っていません。

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

7-7: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

🤖 Prompt for AI Agents
In `@AndroidApp/README.md` around lines 6 - 7, Markdown lint MD007: normalize
nested list indentation to 2 spaces by changing the line containing "- 一部
wsl2(Ubuntu 22.04.5 LTS)" so its leading indentation is two spaces (not four).
Locate the nested item under "Windows 11" in README.md and adjust its indent to
match the parent list style (2-space indent) so the list passes MD007.


### テスト

###### ユニットテスト
Expand Down
6 changes: 0 additions & 6 deletions AndroidApp/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,6 @@ android {
}
}

kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}

dependencies {
implementation(project(":ui"))
// diのために必要
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ class CommonApplication : Plugin<Project> {
with(target) {
with(pluginManager) {
apply("com.android.application")
apply("org.jetbrains.kotlin.android")
}
extensions.configure<ApplicationExtension> {
configureApplication(this)
Expand Down
1 change: 0 additions & 1 deletion AndroidApp/build-logic/src/main/kotlin/CommonLibrary.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ class CommonLibrary : Plugin<Project> {
with(target) {
with(pluginManager) {
apply("com.android.library")
apply("org.jetbrains.kotlin.android")
}
extensions.configure<LibraryExtension> {
configureLibrary(this)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ class CommonLibraryCompose : Plugin<Project> {
with(target) {
with(pluginManager) {
apply("com.android.library")
apply("org.jetbrains.kotlin.android")
apply("org.jetbrains.kotlin.plugin.compose")
}
extensions.configure<LibraryExtension> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
package me.nya_n.notificationnotifier

import com.android.build.api.dsl.ApplicationExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Project

internal fun Project.configureApplication(
extension: ApplicationExtension
) {
configureCommon(extension)
extension.apply {
compileSdk = libs.version("compileSdk").toInt()
defaultConfig {
minSdk = libs.version("minSdk").toInt()
targetSdk = libs.version("targetSdk").toInt()
versionCode = libs.version("versionCode").toInt()
versionName = libs.version("versionName")
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
Expand All @@ -25,9 +22,5 @@ internal fun Project.configureApplication(
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package me.nya_n.notificationnotifier

import com.android.build.api.dsl.CommonExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Project

internal fun Project.configureCommon(
extension: CommonExtension
) {
extension.apply {
compileSdk = libs.version("compileSdk").toInt()
defaultConfig.apply {
minSdk = libs.version("minSdk").toInt()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions.apply {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Project

internal fun Project.configureCompose(
extension: CommonExtension<*, *, *, *, *, *>
extension: CommonExtension
) {
extension.apply {
buildFeatures {
buildFeatures.apply {
compose = true
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
package me.nya_n.notificationnotifier

import com.android.build.api.dsl.LibraryExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Project

internal fun Project.configureLibrary(
extension: LibraryExtension
) {
configureCommon(extension)
extension.apply {
compileSdk = libs.version("compileSdk").toInt()
defaultConfig {
minSdk = libs.version("minSdk").toInt()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
Expand All @@ -22,9 +17,5 @@ internal fun Project.configureLibrary(
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
}
6 changes: 0 additions & 6 deletions AndroidApp/data/repository/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@ android {
namespace = "me.nya_n.notificationnotifier.data.repository"
}

kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}

dependencies {
api(project(":model"))

Expand Down
2 changes: 1 addition & 1 deletion AndroidApp/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ versionName = "1.1"
# ---------------------------------------------------------

# Library
agp = "8.13.2"
agp = "9.0.0"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

git ls-files | grep -E "(gradle|versions)" | head -20

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 642


🏁 Script executed:

find . -name "gradle-wrapper.properties" -o -name "build.gradle*" | head -10

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 390


🏁 Script executed:

cat -n AndroidApp/gradle/libs.versions.toml | head -20

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 688


🏁 Script executed:

cat -n AndroidApp/gradle/wrapper/gradle-wrapper.properties

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 379


🏁 Script executed:

cat -n AndroidApp/gradle.properties

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 1466


🏁 Script executed:

cat -n AndroidApp/build.gradle.kts | head -30

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 502


🌐 Web query:

Android Gradle Plugin 9.0.0 Gradle 9.1.0 Kotlin 2.3.0 compatibility requirements

💡 Result:

Short answer — compatibility checklist:

  • AGP 9.0.0 requires Gradle 9.1.0 (minimum). [1]
  • AGP 9.0 introduces built‑in Kotlin and has a runtime dependency on the Kotlin Gradle Plugin (KGP) 2.2.10 — AGP will upgrade a lower KGP automatically. [2]
  • Kotlin 2.3.0 is supported, but Kotlin 2.3.x deprecates usage of the org.jetbrains.kotlin.android (kotlin-android) plugin when used with AGP ≥ 9.0; you must migrate to AGP’s built‑in Kotlin (or opt out) and follow the migration steps (remove kotlin-android, migrate kapt/sourceSet DSLs, etc.). [3][2]

If you want, I can give the exact gradle.properties / buildscript snippets and the minimal changes to migrate Kotlin plugins.

Sources: [1] Android AGP — minimum Gradle table; [2] AGP 9.0 release notes (built‑in Kotlin, runtime KGP 2.2.10); [3] Kotlin 2.3 compatibility / deprecation notes.


🏁 Script executed:

cat -n AndroidApp/gradle/libs.versions.toml | grep -A 50 "plugins"

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 4060


🏁 Script executed:

grep -r "kotlin\.android" AndroidApp/build-logic/ AndroidApp/*.gradle.kts

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 171


🏁 Script executed:

grep -r "kotlin-android" AndroidApp/ --include="*.gradle.kts" --include="*.toml"

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 210


🏁 Script executed:

grep -n "org.jetbrains.kotlin.android\|kotlin.android" AndroidApp/app/build.gradle.kts AndroidApp/domain/build.gradle.kts AndroidApp/model/build.gradle.kts AndroidApp/ui/build.gradle.kts AndroidApp/data/repository/build.gradle.kts 2>/dev/null | head -20

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 61


🏁 Script executed:

cat -n AndroidApp/app/build.gradle.kts | head -40

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 901


🏁 Script executed:

cat -n AndroidApp/build-logic/build.gradle.kts

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 799


🏁 Script executed:

find AndroidApp/build-logic -name "*.gradle.kts" -exec grep -l "kotlin.android\|kotlin-android" {} \;

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 61


🏁 Script executed:

find AndroidApp/build-logic -type f -name "*.gradle.kts" | xargs ls -la

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 257


🏁 Script executed:

find AndroidApp/build-logic -type f \( -name "*.kt" -o -name "*.kts" \) -not -path "*/build/*"

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 746


🏁 Script executed:

find AndroidApp/build-logic -type f -name "*.kt" -exec cat -n {} \;

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 5761


🏁 Script executed:

grep -r "kapt\|kotlin.android\|sourceSet" AndroidApp/app/build.gradle.kts AndroidApp/domain/build.gradle.kts AndroidApp/model/build.gradle.kts AndroidApp/ui/build.gradle.kts AndroidApp/data/repository/build.gradle.kts 2>/dev/null

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 61


🏁 Script executed:

grep -r "kotlinOptions\|compileKotlin" AndroidApp/ --include="*.gradle.kts" 2>/dev/null | grep -v ".gradle"

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 61


🏁 Script executed:

cat -n AndroidApp/domain/build.gradle.kts

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 1491


🏁 Script executed:

cat -n AndroidApp/ui/build.gradle.kts

Repository: ptkNktq/AndroidNotificationNotifier

Length of output: 1300


Kotlin 2.3.0 と AGP 9.0.0 の非推奨使用法に注意。

Gradle 9.1.0 との互換性は確認されていますが、Kotlin 2.3.0 は AGP ≥ 9.0 での org.jetbrains.kotlin.android プラグインの使用を非推奨としています。コードベースはすでに AGP の組み込み Kotlin(kotlin { compilerOptions { ... } })に正しく移行されており、このプラグインは適用されていません。ただし、libs.versions.tomlorg-jetbrains-kotlin-android 宣言と root build.gradle.kts の記述は不要となったため、削除することを推奨します。

🤖 Prompt for AI Agents
In `@AndroidApp/gradle/libs.versions.toml` at line 13, Remove the now-unnecessary
Kotlin plugin declaration from libs.versions.toml (the
org-jetbrains-kotlin-android alias) and delete the corresponding plugin
application/alias reference in the root build.gradle.kts; ensure the project is
using AGP's built-in Kotlin configuration (kotlin { compilerOptions { ... } })
and that no code still applies the org.jetbrains.kotlin.android plugin before
committing the change.

kotlin = "2.3.0"
kotlinx-coroutines = "1.10.2"
com-google-devtools-ksp = "2.3.4"
Expand Down
2 changes: 1 addition & 1 deletion AndroidApp/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
11 changes: 1 addition & 10 deletions AndroidApp/model/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
plugins {
id("common.library.compose")
id("common.library")
alias(libs.plugins.com.google.devtools.ksp)
}

android {
namespace = "me.nya_n.notificationnotifier.model"
}

kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}

dependencies {
// androidx
// room
implementation(libs.androidx.room.runtime)
ksp(libs.androidx.room.compiler)
// compose for @Stable annotation
implementation(platform(libs.androidx.compose.bom))
api(libs.androidx.compose.runtime)

// その他
api(libs.com.google.code.gson)
Expand Down
10 changes: 2 additions & 8 deletions AndroidApp/ui/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
plugins {
id("common.library.compose")
alias(libs.plugins.com.jaredsburrows.license)
// note: 最新のgradle/agp非対応
// alias(libs.plugins.com.jaredsburrows.license)
alias(libs.plugins.screenshot)
}

android {
namespace = "me.nya_n.notificationnotifier.ui"
@Suppress("UnstableApiUsage")
experimentalProperties["android.experimental.enableScreenshotTest"] = true
}

kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}

dependencies {
implementation(project(":domain"))

Expand Down