/* * Copyright (c) 2025-2026 Meshtastic LLC * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import com.android.build.api.dsl.ApplicationExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.meshtastic.buildlogic.configureAndroidCompose import org.meshtastic.buildlogic.libs import org.meshtastic.buildlogic.plugin /** * Compose configuration for Android applications. * * Note: This has identical implementation to AndroidLibraryComposeConventionPlugin. Both use the same * configureAndroidCompose() function which works with CommonExtension. Kept separate to maintain explicit intent in * build.gradle.kts configuration despite duplication. */ class AndroidApplicationComposeConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { apply(plugin = libs.plugin("compose-compiler").get().pluginId) apply(plugin = libs.plugin("compose-multiplatform").get().pluginId) extensions.configure { configureAndroidCompose(this) } } } }