From a9195f0f53d56e06830dbd174fcd6634b613657a Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Sat, 17 Feb 2024 20:34:04 +0530 Subject: [PATCH] build(build-logic): modularize :build-logic composite build --- .idea/compiler.xml | 3 + actions/build.gradle.kts | 19 ++++++ annotation-processors-ksp/build.gradle.kts | 5 +- annotation-processors/build.gradle.kts | 5 +- app/build.gradle.kts | 1 + build-info/build.gradle.kts | 62 +++++++++++-------- build-logic/build.gradle.kts | 25 ++++++++ build-logic/common/.gitignore | 1 + build-logic/common/build.gradle.kts | 32 ++++++++++ .../androidide/build/config}/BuildConfig.kt | 2 +- .../com/itsaky/androidide/build/config}/CI.kt | 21 ++++++- .../androidide/build/config}/FDroidConfig.kt | 17 +++++ .../androidide/build/config}/ProjectConfig.kt | 32 +++++----- .../androidide/build/config}/VersionUtils.kt | 16 ++--- .../itsaky/androidide/build/config}/config.kt | 2 +- .../itsaky/androidide/build/config}/utils.kt | 6 +- build-logic/{ide => plugins}/.gitignore | 0 build-logic/{ide => plugins}/build.gradle.kts | 12 ++-- .../java/build-logic.root-project.gradle.kts | 0 .../plugins/AndroidIDEAssetsPlugin.kt | 5 +- .../androidide/plugins/AndroidIDEPlugin.kt | 2 +- .../plugins/LexerGeneratorPlugin.kt | 2 +- .../plugins/PropertiesParserPlugin.kt | 4 +- .../androidide/plugins/SigningConfigPlugin.kt | 10 +-- .../TerminalBootstrapPackagesPlugin.kt | 0 .../plugins/conf/AndroidModuleConf.kt | 9 ++- .../androidide/plugins/conf/JavaModuleConf.kt | 2 +- .../plugins/conf/MavenPublishConf.kt | 4 +- .../tasks/AddAndroidJarToAssetsTask.kt | 2 +- .../plugins/tasks/AddFileToAssetsTask.kt | 0 .../plugins/tasks/GenerateInitScriptTask.kt | 2 +- .../plugins/tasks/GradleVersionResolver.java | 0 .../tasks/GradleWrapperGeneratorTask.kt | 0 .../plugins/tasks/IDEWrapperGenerator.java | 0 .../plugins/tasks/SetupAapt2Task.kt | 4 +- .../tasks/internal/WrapperDefaults.java | 0 .../tasks/internal/WrapperGenerator.java | 0 .../androidide/plugins/util/DownloadUtils.kt | 0 .../androidide/plugins/util/ELFUtils.kt | 0 .../androidide/plugins/util/SdkUtils.kt | 2 +- .../plugins/util/SigningKeyUtils.kt | 10 +-- build-logic/properties-parser/.gitignore | 1 + .../properties-parser/build.gradle.kts | 25 ++++++++ .../build/propparser}/PropertiesParser.java | 6 +- .../build/propparser}/gen/ClassGenerator.java | 22 +++---- .../build/propparser}/parser/Message.java | 2 +- .../build/propparser}/parser/MessageFile.java | 2 +- .../build/propparser}/parser/MessageInfo.java | 10 +-- .../build/propparser}/parser/MessageLine.java | 2 +- .../build/propparser}/parser/MessageType.java | 2 +- build-logic/settings.gradle.kts | 35 ++++++----- build.gradle.kts | 3 + common/build.gradle.kts | 2 + editor-api/build.gradle.kts | 2 + editor/build.gradle.kts | 2 + eventbus-android/build.gradle.kts | 3 + eventbus-events/build.gradle.kts | 2 + gradle-plugin/build.gradle.kts | 4 ++ gradle/libs.versions.toml | 1 + lexers/build.gradle.kts | 1 + logsender-sample/build.gradle.kts | 2 + logsender/build.gradle.kts | 2 + lsp/api/build.gradle.kts | 2 + lsp/java/build.gradle.kts | 3 + lsp/models/build.gradle.kts | 2 + lsp/xml/build.gradle.kts | 2 + preferences/build.gradle.kts | 2 + resources/build.gradle.kts | 2 + subprojects/aaptcompiler/build.gradle.kts | 2 + subprojects/flashbar/build.gradle.kts | 2 + subprojects/javac-services/build.gradle.kts | 2 + subprojects/layoutlib-api/build.gradle.kts | 3 + subprojects/projects/build.gradle.kts | 2 + subprojects/tooling-api-impl/build.gradle.kts | 2 + subprojects/xml-utils/build.gradle.kts | 2 + templates-api/build.gradle.kts | 2 + templates-impl/build.gradle.kts | 2 + termux/termux-app/build.gradle.kts | 1 + termux/termux-emulator/build.gradle.kts | 2 + termux/termux-shared/build.gradle.kts | 2 + termux/termux-view/build.gradle.kts | 2 + testing/android/build.gradle.kts | 2 + testing/lsp/build.gradle.kts | 2 + testing/unit/build.gradle.kts | 2 + uidesigner/build.gradle.kts | 2 + xml-inflater/build.gradle.kts | 2 +- 86 files changed, 364 insertions(+), 135 deletions(-) create mode 100644 build-logic/build.gradle.kts create mode 100644 build-logic/common/.gitignore create mode 100644 build-logic/common/build.gradle.kts rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/BuildConfig.kt (96%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/CI.kt (66%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/FDroidConfig.kt (79%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/ProjectConfig.kt (73%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/VersionUtils.kt (95%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/config.kt (96%) rename build-logic/{ide/src/main/java => common/src/main/java/com/itsaky/androidide/build/config}/utils.kt (97%) rename build-logic/{ide => plugins}/.gitignore (100%) rename build-logic/{ide => plugins}/build.gradle.kts (90%) rename build-logic/{ide => plugins}/src/main/java/build-logic.root-project.gradle.kts (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt (96%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt (89%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt (96%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt (95%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/AddFileToAssetsTask.kt (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt (97%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/GradleVersionResolver.java (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/GradleWrapperGeneratorTask.kt (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/IDEWrapperGenerator.java (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt (96%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperDefaults.java (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperGenerator.java (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/util/DownloadUtils.kt (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/util/ELFUtils.kt (100%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt (96%) rename build-logic/{ide => plugins}/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt (90%) create mode 100644 build-logic/properties-parser/.gitignore create mode 100644 build-logic/properties-parser/build.gradle.kts rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/PropertiesParser.java (95%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/gen/ClassGenerator.java (96%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/parser/Message.java (98%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/parser/MessageFile.java (97%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/parser/MessageInfo.java (91%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/parser/MessageLine.java (97%) rename build-logic/{ide/src/main/java/com/itsaky/androidide/plugins/properties => properties-parser/src/main/java/com/itsaky/androidide/build/propparser}/parser/MessageType.java (99%) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 990acf447..b9893a0e5 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -151,6 +151,9 @@ + + + diff --git a/actions/build.gradle.kts b/actions/build.gradle.kts index 03627edc0..2aa2b43ad 100644 --- a/actions/build.gradle.kts +++ b/actions/build.gradle.kts @@ -1,3 +1,22 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +import com.itsaky.androidide.build.config.BuildConfig + plugins{ id("com.android.library") id("kotlin-android") diff --git a/annotation-processors-ksp/build.gradle.kts b/annotation-processors-ksp/build.gradle.kts index 3e573d236..99567d82a 100644 --- a/annotation-processors-ksp/build.gradle.kts +++ b/annotation-processors-ksp/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - /* * This file is part of AndroidIDE. * @@ -17,6 +15,9 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile * along with AndroidIDE. If not, see . */ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.itsaky.androidide.build.config.BuildConfig + plugins { kotlin("jvm") } diff --git a/annotation-processors/build.gradle.kts b/annotation-processors/build.gradle.kts index 03c28ece2..f80a7adfc 100644 --- a/annotation-processors/build.gradle.kts +++ b/annotation-processors/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - /* * This file is part of AndroidIDE. * @@ -17,6 +15,9 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile * along with AndroidIDE. If not, see . */ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.itsaky.androidide.build.config.BuildConfig + plugins { kotlin("jvm") } diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 73310eb63..8b6a73caf 100755 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,7 @@ @file:Suppress("UnstableApiUsage") import com.itsaky.androidide.plugins.AndroidIDEAssetsPlugin +import com.itsaky.androidide.build.config.BuildConfig plugins { id("com.android.application") diff --git a/build-info/build.gradle.kts b/build-info/build.gradle.kts index e11780f92..30e451ff1 100644 --- a/build-info/build.gradle.kts +++ b/build-info/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.incremental.createDirectory - /* * This file is part of AndroidIDE. * @@ -17,14 +15,28 @@ import org.jetbrains.kotlin.incremental.createDirectory * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.AGP_VERSION_MINIMUM +import com.itsaky.androidide.build.config.BuildConfig +import com.itsaky.androidide.build.config.CI +import com.itsaky.androidide.build.config.FDroidConfig +import com.itsaky.androidide.build.config.ProjectConfig +import com.itsaky.androidide.build.config.VersionUtils +import com.itsaky.androidide.build.config.downloadVersion +import com.itsaky.androidide.build.config.publishingVersion +import com.itsaky.androidide.build.config.replaceContents +import com.itsaky.androidide.build.config.simpleVersionName +import org.jetbrains.kotlin.incremental.createDirectory + plugins { + //noinspection JavaPluginLanguageLevel id("java-library") id("com.vanniktech.maven.publish.base") } description = "Information about the AndroidIDE build" -val buildInfoGenDir: Provider = project.layout.buildDirectory.dir("generated/buildInfo").also { it.get().asFile.createDirectory() } +val buildInfoGenDir: Provider = project.layout.buildDirectory.dir("generated/buildInfo") + .also { it.get().asFile.createDirectory() } sourceSets { getByName("main").java.srcDir(buildInfoGenDir) } @@ -38,34 +50,34 @@ tasks.create("generateBuildInfo") { dest = buildInfo.asFile, comment = "//", candidates = - arrayOf( - "PACKAGE_NAME" to BuildConfig.packageName, - "MVN_GROUP_ID" to BuildConfig.packageName, + arrayOf( + "PACKAGE_NAME" to BuildConfig.packageName, + "MVN_GROUP_ID" to BuildConfig.packageName, - "VERSION_NAME" to rootProject.version.toString(), - "VERSION_NAME_SIMPLE" to rootProject.simpleVersionName, - "VERSION_NAME_PUBLISHING" to rootProject.publishingVersion, - "VERSION_NAME_DOWNLOAD" to rootProject.downloadVersion, + "VERSION_NAME" to rootProject.version.toString(), + "VERSION_NAME_SIMPLE" to rootProject.simpleVersionName, + "VERSION_NAME_PUBLISHING" to rootProject.publishingVersion, + "VERSION_NAME_DOWNLOAD" to rootProject.downloadVersion, - "FDROID_BUILD" to FDroidConfig.isFDroidBuild.toString(), - "FDROID_BUILD_VERSION_NAME" to (FDroidConfig.fDroidVersionName ?: "null"), - "FDROID_BUILD_VERSION_CODE" to (FDroidConfig.fDroidVersionCode ?: -1).toString(), + "FDROID_BUILD" to FDroidConfig.isFDroidBuild.toString(), + "FDROID_BUILD_VERSION_NAME" to (FDroidConfig.fDroidVersionName ?: "null"), + "FDROID_BUILD_VERSION_CODE" to (FDroidConfig.fDroidVersionCode ?: -1).toString(), - "CI_BUILD" to CI.isCiBuild.toString(), - "CI_GIT_BRANCH" to CI.branchName, - "CI_COMMIT_HASH" to CI.commitHash, + "CI_BUILD" to CI.isCiBuild.toString(), + "CI_GIT_BRANCH" to CI.branchName, + "CI_COMMIT_HASH" to CI.commitHash, - "REPO_HOST" to ProjectConfig.REPO_HOST, - "REPO_OWNER" to ProjectConfig.REPO_OWNER, - "REPO_NAME" to ProjectConfig.REPO_NAME, - "PROJECT_SITE" to ProjectConfig.PROJECT_SITE, + "REPO_HOST" to ProjectConfig.REPO_HOST, + "REPO_OWNER" to ProjectConfig.REPO_OWNER, + "REPO_NAME" to ProjectConfig.REPO_NAME, + "PROJECT_SITE" to ProjectConfig.PROJECT_SITE, - "AGP_VERSION_MININUM" to AGP_VERSION_MINIMUM, - "AGP_VERSION_LATEST" to libs.versions.agp.tooling.get(), + "AGP_VERSION_MININUM" to AGP_VERSION_MINIMUM, + "AGP_VERSION_LATEST" to libs.versions.agp.tooling.get(), - "SNAPSHOTS_REPOSITORY" to VersionUtils.SONATYPE_SNAPSHOTS_REPO, - "PUBLIC_REPOSITORY" to VersionUtils.SONATYPE_PUBLIC_REPO, - ) + "SNAPSHOTS_REPOSITORY" to VersionUtils.SONATYPE_SNAPSHOTS_REPO, + "PUBLIC_REPOSITORY" to VersionUtils.SONATYPE_PUBLIC_REPO, + ) ) } } diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts new file mode 100644 index 000000000..ad7249495 --- /dev/null +++ b/build-logic/build.gradle.kts @@ -0,0 +1,25 @@ +/* +* This file is part of AndroidIDE. +* +* AndroidIDE 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. +* +* AndroidIDE 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 AndroidIDE. If not, see . +*/ + +subprojects { + plugins.withId("java-library") { + extensions.getByType(JavaPluginExtension::class.java).apply { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + } +} \ No newline at end of file diff --git a/build-logic/common/.gitignore b/build-logic/common/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/build-logic/common/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/build-logic/common/build.gradle.kts b/build-logic/common/build.gradle.kts new file mode 100644 index 000000000..b15036d67 --- /dev/null +++ b/build-logic/common/build.gradle.kts @@ -0,0 +1,32 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + //noinspection JavaPluginLanguageLevel + id("java-library") + alias(libs.plugins.kotlin.jvm) +} + +tasks.withType { + kotlinOptions.jvmTarget = "17" +} + +dependencies { + api(gradleApi()) +} \ No newline at end of file diff --git a/build-logic/ide/src/main/java/BuildConfig.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/BuildConfig.kt similarity index 96% rename from build-logic/ide/src/main/java/BuildConfig.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/BuildConfig.kt index 16b7775e4..08201c47e 100644 --- a/build-logic/ide/src/main/java/BuildConfig.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/BuildConfig.kt @@ -1,4 +1,4 @@ -/* +package com.itsaky.androidide.build.config/* * This file is part of AndroidIDE. * * AndroidIDE is free software: you can redistribute it and/or modify diff --git a/build-logic/ide/src/main/java/CI.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/CI.kt similarity index 66% rename from build-logic/ide/src/main/java/CI.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/CI.kt index bb4d520ea..af62ce518 100644 --- a/build-logic/ide/src/main/java/CI.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/CI.kt @@ -15,8 +15,24 @@ * along with AndroidIDE. If not, see . */ +package com.itsaky.androidide.build.config/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + import java.io.File -import org.gradle.kotlin.dsl.provideDelegate /** * Information about the CI build. @@ -33,7 +49,8 @@ object CI { /** Name of the current branch. */ val branchName by lazy { - System.getenv("GITHUB_REF_NAME") ?: cmdOutput("git", "rev-parse", "--abbrev-ref", "HEAD") // by default, 'main' + System.getenv("GITHUB_REF_NAME") ?: cmdOutput("git", "rev-parse", "--abbrev-ref", + "HEAD") // by default, 'main' } /** Whether the current build is a CI build. */ diff --git a/build-logic/ide/src/main/java/FDroidConfig.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/FDroidConfig.kt similarity index 79% rename from build-logic/ide/src/main/java/FDroidConfig.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/FDroidConfig.kt index ea089c84c..8d65c1e6d 100644 --- a/build-logic/ide/src/main/java/FDroidConfig.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/FDroidConfig.kt @@ -15,6 +15,23 @@ * along with AndroidIDE. If not, see . */ +package com.itsaky.androidide.build.config/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + import org.gradle.api.Project import java.io.File diff --git a/build-logic/ide/src/main/java/ProjectConfig.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/ProjectConfig.kt similarity index 73% rename from build-logic/ide/src/main/java/ProjectConfig.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/ProjectConfig.kt index 85647534f..cc146f257 100644 --- a/build-logic/ide/src/main/java/ProjectConfig.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/ProjectConfig.kt @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +package com.itsaky.androidide.build.config + import org.gradle.api.Project /** @author Akash Yadav */ @@ -23,11 +25,11 @@ object ProjectConfig { const val REPO_HOST = "github.com" const val REPO_OWNER = "AndroidIDEOfficial" const val REPO_NAME = "AndroidIDE" - const val REPO_URL = "https://${REPO_HOST}/${REPO_OWNER}/${REPO_NAME}" + const val REPO_URL = "https://$REPO_HOST/$REPO_OWNER/$REPO_NAME" const val SCM_GIT = - "scm:git:git://${REPO_HOST}/${REPO_OWNER}/${REPO_NAME}.git" + "scm:git:git://$REPO_HOST/$REPO_OWNER/$REPO_NAME.git" const val SCM_SSH = - "scm:git:ssh://git@${REPO_HOST}/${REPO_OWNER}/${REPO_NAME}.git" + "scm:git:ssh://git@$REPO_HOST/$REPO_OWNER/$REPO_NAME.git" const val PROJECT_SITE = "https://m.androidide.com" } @@ -39,10 +41,10 @@ private var shouldPrintVersionName = true */ val Project.isFDroidBuild: Boolean get() { - if (!FDroidConfig.hasRead) { - FDroidConfig.load(this) + if (!com.itsaky.androidide.build.config.FDroidConfig.hasRead) { + com.itsaky.androidide.build.config.FDroidConfig.load(this) } - return FDroidConfig.isFDroidBuild + return com.itsaky.androidide.build.config.FDroidConfig.isFDroidBuild } val Project.simpleVersionName: String @@ -52,14 +54,14 @@ val Project.simpleVersionName: String val regex = Regex("^v\\d+\\.?\\d+\\.?\\d+-\\w+") val simpleVersion = regex.find(version)?.value?.substring(1)?.also { - if (shouldPrintVersionName) { + if (com.itsaky.androidide.build.config.shouldPrintVersionName) { logger.warn("Simple version name is '$it' (from version $version)") - shouldPrintVersionName = false + com.itsaky.androidide.build.config.shouldPrintVersionName = false } } if (simpleVersion == null) { - if (CI.isTestEnv) { + if (com.itsaky.androidide.build.config.CI.isTestEnv) { return "1.0.0-beta" } @@ -78,9 +80,9 @@ val Project.projectVersionCode: Int val regex = Regex("^\\d+\\.?\\d+\\.?\\d+") val versionCode = regex.find(version)?.value?.replace(".", "")?.toInt()?.also { - if (shouldPrintVersionCode) { + if (com.itsaky.androidide.build.config.shouldPrintVersionCode) { logger.warn("Version code is '$it' (from version ${version}).") - shouldPrintVersionCode = false + com.itsaky.androidide.build.config.shouldPrintVersionCode = false } } ?: throw IllegalStateException( @@ -100,8 +102,8 @@ val Project.publishingVersion: String return publishing } - if (CI.isCiBuild && CI.branchName != "main") { - publishing += "-${CI.commitHash}-SNAPSHOT" + if (com.itsaky.androidide.build.config.CI.isCiBuild && com.itsaky.androidide.build.config.CI.branchName != "main") { + publishing += "-${com.itsaky.androidide.build.config.CI.commitHash}-SNAPSHOT" } return publishing @@ -116,11 +118,11 @@ val Project.publishingVersion: String */ val Project.downloadVersion: String get() { - return if (CI.isCiBuild || isFDroidBuild) { + return if (com.itsaky.androidide.build.config.CI.isCiBuild || isFDroidBuild) { publishingVersion } else { // sometimes, when working locally, Gradle fails to download the latest snapshot version // this may cause issues while initializing the project in AndroidIDE - VersionUtils.getLatestSnapshotVersion("gradle-plugin") + com.itsaky.androidide.build.config.VersionUtils.getLatestSnapshotVersion("gradle-plugin") } } diff --git a/build-logic/ide/src/main/java/VersionUtils.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/VersionUtils.kt similarity index 95% rename from build-logic/ide/src/main/java/VersionUtils.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/VersionUtils.kt index 209a48389..2a0db67ac 100644 --- a/build-logic/ide/src/main/java/VersionUtils.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/VersionUtils.kt @@ -1,9 +1,3 @@ -import org.gradle.api.GradleException -import java.io.BufferedInputStream -import java.net.URI -import javax.xml.parsers.DocumentBuilderFactory -import javax.xml.xpath.XPathFactory - /* * This file is part of AndroidIDE. * @@ -21,6 +15,14 @@ import javax.xml.xpath.XPathFactory * along with AndroidIDE. If not, see . */ +package com.itsaky.androidide.build.config + +import org.gradle.api.GradleException +import java.io.BufferedInputStream +import java.net.URI +import javax.xml.parsers.DocumentBuilderFactory +import javax.xml.xpath.XPathFactory + /** * @author Akash Yadav */ @@ -57,7 +59,7 @@ object VersionUtils { } val groupId = BuildConfig.packageName.replace('.', '/') - val moduleMetadata = "${SONATYPE_SNAPSHOTS_REPO}/$groupId/${artifact}/maven-metadata.xml" + val moduleMetadata = "$SONATYPE_SNAPSHOTS_REPO/$groupId/${artifact}/maven-metadata.xml" return try { BufferedInputStream(URI.create(moduleMetadata).toURL().openStream()).use { inputStream -> val builderFactory = DocumentBuilderFactory.newInstance() diff --git a/build-logic/ide/src/main/java/config.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/config.kt similarity index 96% rename from build-logic/ide/src/main/java/config.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/config.kt index ef317dff3..05e84f4de 100644 --- a/build-logic/ide/src/main/java/config.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/config.kt @@ -1,4 +1,4 @@ -/* +package com.itsaky.androidide.build.config/* * This file is part of AndroidIDE. * * AndroidIDE is free software: you can redistribute it and/or modify diff --git a/build-logic/ide/src/main/java/utils.kt b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/utils.kt similarity index 97% rename from build-logic/ide/src/main/java/utils.kt rename to build-logic/common/src/main/java/com/itsaky/androidide/build/config/utils.kt index 76758186c..ebb1f1b36 100644 --- a/build-logic/ide/src/main/java/utils.kt +++ b/build-logic/common/src/main/java/com/itsaky/androidide/build/config/utils.kt @@ -1,5 +1,3 @@ -import java.io.File - /* * This file is part of AndroidIDE. * @@ -17,6 +15,10 @@ import java.io.File * along with AndroidIDE. If not, see . */ +package com.itsaky.androidide.build.config + +import java.io.File + /** @author Akash Yadav */ private const val generatedWarning = "DO NOT EDIT - Automatically generated file" diff --git a/build-logic/ide/.gitignore b/build-logic/plugins/.gitignore similarity index 100% rename from build-logic/ide/.gitignore rename to build-logic/plugins/.gitignore diff --git a/build-logic/ide/build.gradle.kts b/build-logic/plugins/build.gradle.kts similarity index 90% rename from build-logic/ide/build.gradle.kts rename to build-logic/plugins/build.gradle.kts index 82139f2f0..11f63b75f 100644 --- a/build-logic/ide/build.gradle.kts +++ b/build-logic/plugins/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - /* * This file is part of AndroidIDE. * @@ -17,6 +15,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile * along with AndroidIDE. If not, see . */ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { `kotlin-dsl` } @@ -27,17 +27,13 @@ repositories { mavenCentral() } -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 -} - tasks.withType { kotlinOptions.jvmTarget = "17" } dependencies { - implementation(gradleApi()) + implementation(projects.buildLogic.common) + implementation(projects.buildLogic.propertiesParser) implementation("com.android.tools.build:gradle:${libs.versions.agp.asProvider().get()}") implementation(libs.maven.publish) diff --git a/build-logic/ide/src/main/java/build-logic.root-project.gradle.kts b/build-logic/plugins/src/main/java/build-logic.root-project.gradle.kts similarity index 100% rename from build-logic/ide/src/main/java/build-logic.root-project.gradle.kts rename to build-logic/plugins/src/main/java/build-logic.root-project.gradle.kts diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt index 498a0869f..360458ceb 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEAssetsPlugin.kt @@ -17,16 +17,15 @@ package com.itsaky.androidide.plugins -import BuildConfig -import VersionUtils import com.android.build.api.variant.ApplicationAndroidComponentsExtension +import com.itsaky.androidide.build.config.BuildConfig +import com.itsaky.androidide.build.config.downloadVersion import com.itsaky.androidide.plugins.tasks.AddAndroidJarToAssetsTask import com.itsaky.androidide.plugins.tasks.AddFileToAssetsTask import com.itsaky.androidide.plugins.tasks.GenerateInitScriptTask import com.itsaky.androidide.plugins.tasks.GradleWrapperGeneratorTask import com.itsaky.androidide.plugins.tasks.SetupAapt2Task import com.itsaky.androidide.plugins.util.SdkUtils.getAndroidJar -import downloadVersion import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.configurationcache.extensions.capitalized diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt index caec88256..88fe965be 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt @@ -18,7 +18,7 @@ package com.itsaky.androidide.plugins import com.android.build.gradle.BaseExtension -import isFDroidBuild +import com.itsaky.androidide.build.config.isFDroidBuild import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt index 83b4fafc5..32d07f4f7 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/LexerGeneratorPlugin.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins -import BuildConfig +import com.itsaky.androidide.build.config.BuildConfig import org.antlr.v4.Tool import org.gradle.api.Plugin import org.gradle.api.Project diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt similarity index 96% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt index 022b62547..0cc380c42 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/PropertiesParserPlugin.kt @@ -17,8 +17,8 @@ package com.itsaky.androidide.plugins -import com.itsaky.androidide.plugins.properties.PropertiesParser -import com.itsaky.androidide.plugins.properties.gen.ClassGenerator +import com.itsaky.androidide.build.propparser.PropertiesParser +import com.itsaky.androidide.build.propparser.gen.ClassGenerator import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt similarity index 89% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt index 1db5b79ca..97a6db533 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/SigningConfigPlugin.kt @@ -17,16 +17,16 @@ package com.itsaky.androidide.plugins -import KEY_ALIAS -import KEY_PASS -import KEY_STORE_PASS +import com.itsaky.androidide.build.config.KEY_ALIAS +import com.itsaky.androidide.build.config.KEY_PASS +import com.itsaky.androidide.build.config.KEY_STORE_PASS import com.android.build.gradle.BaseExtension import com.itsaky.androidide.plugins.util.SigningKeyUtils.downloadSigningKey import com.itsaky.androidide.plugins.util.SigningKeyUtils.getEnvOrProp -import isFDroidBuild +import com.itsaky.androidide.build.config.isFDroidBuild import org.gradle.api.Plugin import org.gradle.api.Project -import signingKey +import com.itsaky.androidide.build.config.signingKey /** * Configures the signing keys to application modules. diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt similarity index 96% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt index b2dd41fa0..9f1a8d27f 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt @@ -17,20 +17,19 @@ package com.itsaky.androidide.plugins.conf -import BuildConfig -import FDroidConfig import com.android.build.api.dsl.CommonExtension import com.android.build.api.variant.AndroidComponentsExtension import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.api.variant.FilterConfiguration import com.android.build.api.variant.impl.getFilter import com.android.build.gradle.BaseExtension +import com.itsaky.androidide.build.config.BuildConfig +import com.itsaky.androidide.build.config.FDroidConfig +import com.itsaky.androidide.build.config.isFDroidBuild +import com.itsaky.androidide.build.config.projectVersionCode import com.itsaky.androidide.plugins.util.SdkUtils.getAndroidJar -import isFDroidBuild import org.gradle.api.Project import org.gradle.api.artifacts.Dependency -import org.gradle.kotlin.dsl.register -import projectVersionCode /** * ABIs for which the product flavors will be created. diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt similarity index 95% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt index 94ee12b27..89fe6849f 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/JavaModuleConf.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins.conf -import BuildConfig +import com.itsaky.androidide.build.config.BuildConfig import org.gradle.api.Project import org.gradle.api.plugins.JavaPluginExtension import org.gradle.kotlin.dsl.configure diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt index f855d47a8..03293ed44 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/MavenPublishConf.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins.conf -import ProjectConfig +import com.itsaky.androidide.build.config.ProjectConfig import com.vanniktech.maven.publish.AndroidMultiVariantLibrary import com.vanniktech.maven.publish.GradlePlugin import com.vanniktech.maven.publish.JavaLibrary @@ -32,7 +32,7 @@ import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.create import org.gradle.kotlin.dsl.withType -import publishingVersion +import com.itsaky.androidide.build.config.publishingVersion import java.io.File private val projectsRequiringMavenLocalForTests = arrayOf(":gradle-plugin") diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt index 7a5fb5c84..8d6bcc407 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/AddAndroidJarToAssetsTask.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins.tasks -import BuildConfig +import com.itsaky.androidide.build.config.BuildConfig import org.gradle.api.DefaultTask import org.gradle.api.GradleException import org.gradle.api.file.DirectoryProperty diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/AddFileToAssetsTask.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/AddFileToAssetsTask.kt similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/AddFileToAssetsTask.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/AddFileToAssetsTask.kt diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt index 9cb79e2ab..09b552291 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GenerateInitScriptTask.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins.tasks -import VersionUtils +import com.itsaky.androidide.build.config.VersionUtils import org.gradle.api.DefaultTask import org.gradle.api.file.DirectoryProperty import org.gradle.api.provider.Property diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GradleVersionResolver.java b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GradleVersionResolver.java similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GradleVersionResolver.java rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GradleVersionResolver.java diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GradleWrapperGeneratorTask.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GradleWrapperGeneratorTask.kt similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/GradleWrapperGeneratorTask.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/GradleWrapperGeneratorTask.kt diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/IDEWrapperGenerator.java b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/IDEWrapperGenerator.java similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/IDEWrapperGenerator.java rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/IDEWrapperGenerator.java diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt similarity index 96% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt index a6163fbc0..cc17979c5 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/SetupAapt2Task.kt @@ -17,10 +17,10 @@ package com.itsaky.androidide.plugins.tasks -import FDroidConfig +import com.itsaky.androidide.build.config.FDroidConfig import com.itsaky.androidide.plugins.util.DownloadUtils import com.itsaky.androidide.plugins.util.ELFUtils -import isFDroidBuild +import com.itsaky.androidide.build.config.isFDroidBuild import org.gradle.api.DefaultTask import org.gradle.api.file.DirectoryProperty import org.gradle.api.tasks.OutputDirectory diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperDefaults.java b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperDefaults.java similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperDefaults.java rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperDefaults.java diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperGenerator.java b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperGenerator.java similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperGenerator.java rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/tasks/internal/WrapperGenerator.java diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/DownloadUtils.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/DownloadUtils.kt similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/DownloadUtils.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/DownloadUtils.kt diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/ELFUtils.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/ELFUtils.kt similarity index 100% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/ELFUtils.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/ELFUtils.kt diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt similarity index 96% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt index b1f31f303..662845daa 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SdkUtils.kt @@ -17,7 +17,7 @@ package com.itsaky.androidide.plugins.util -import BuildConfig +import com.itsaky.androidide.build.config.BuildConfig import com.android.build.api.variant.AndroidComponentsExtension import java.io.File diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt similarity index 90% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt rename to build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt index 2125627af..02224e6fb 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt +++ b/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/util/SigningKeyUtils.kt @@ -17,12 +17,12 @@ package com.itsaky.androidide.plugins.util -import AUTH_PASS -import AUTH_USER -import KEY_BIN -import KEY_URL +import com.itsaky.androidide.build.config.AUTH_PASS +import com.itsaky.androidide.build.config.AUTH_USER +import com.itsaky.androidide.build.config.KEY_BIN +import com.itsaky.androidide.build.config.KEY_URL import org.gradle.api.Project -import signingKey +import com.itsaky.androidide.build.config.signingKey import java.util.Base64 /** diff --git a/build-logic/properties-parser/.gitignore b/build-logic/properties-parser/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/build-logic/properties-parser/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/build-logic/properties-parser/build.gradle.kts b/build-logic/properties-parser/build.gradle.kts new file mode 100644 index 000000000..77d00c5c5 --- /dev/null +++ b/build-logic/properties-parser/build.gradle.kts @@ -0,0 +1,25 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +plugins { + //noinspection JavaPluginLanguageLevel + id("java-library") +} + +dependencies { + api(projects.buildLogic.common) +} \ No newline at end of file diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/PropertiesParser.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/PropertiesParser.java similarity index 95% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/PropertiesParser.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/PropertiesParser.java index 6a4aef5f1..1727a2e1a 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/PropertiesParser.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/PropertiesParser.java @@ -23,10 +23,10 @@ * questions. */ -package com.itsaky.androidide.plugins.properties; +package com.itsaky.androidide.build.propparser; -import com.itsaky.androidide.plugins.properties.gen.ClassGenerator; -import com.itsaky.androidide.plugins.properties.parser.MessageFile; +import com.itsaky.androidide.build.propparser.gen.ClassGenerator; +import com.itsaky.androidide.build.propparser.parser.MessageFile; import java.io.File; import java.io.PrintStream; import java.util.Map; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/gen/ClassGenerator.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/gen/ClassGenerator.java similarity index 96% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/gen/ClassGenerator.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/gen/ClassGenerator.java index 52ac948f2..ce4eccf17 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/gen/ClassGenerator.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/gen/ClassGenerator.java @@ -23,20 +23,20 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.gen; +package com.itsaky.androidide.build.propparser.gen; import static java.util.stream.Collectors.toList; -import com.itsaky.androidide.plugins.properties.parser.Message; -import com.itsaky.androidide.plugins.properties.parser.MessageFile; -import com.itsaky.androidide.plugins.properties.parser.MessageInfo; -import com.itsaky.androidide.plugins.properties.parser.MessageLine; -import com.itsaky.androidide.plugins.properties.parser.MessageType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.CompoundType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.CustomType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.SimpleType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.UnionType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.Visitor; +import com.itsaky.androidide.build.propparser.parser.Message; +import com.itsaky.androidide.build.propparser.parser.MessageFile; +import com.itsaky.androidide.build.propparser.parser.MessageInfo; +import com.itsaky.androidide.build.propparser.parser.MessageLine; +import com.itsaky.androidide.build.propparser.parser.MessageType; +import com.itsaky.androidide.build.propparser.parser.MessageType.CompoundType; +import com.itsaky.androidide.build.propparser.parser.MessageType.CustomType; +import com.itsaky.androidide.build.propparser.parser.MessageType.SimpleType; +import com.itsaky.androidide.build.propparser.parser.MessageType.UnionType; +import com.itsaky.androidide.build.propparser.parser.MessageType.Visitor; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileWriter; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/Message.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/Message.java similarity index 98% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/Message.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/Message.java index 04cb3e046..6091cb535 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/Message.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/Message.java @@ -23,7 +23,7 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.parser; +package com.itsaky.androidide.build.propparser.parser; import java.util.ArrayList; import java.util.List; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageFile.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageFile.java similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageFile.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageFile.java index eb4a259b2..ee5f9ec1e 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageFile.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageFile.java @@ -23,7 +23,7 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.parser; +package com.itsaky.androidide.build.propparser.parser; import java.io.File; import java.io.IOException; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageInfo.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageInfo.java similarity index 91% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageInfo.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageInfo.java index 7e5de8d20..4958c1d82 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageInfo.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageInfo.java @@ -23,12 +23,12 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.parser; +package com.itsaky.androidide.build.propparser.parser; -import com.itsaky.androidide.plugins.properties.parser.MessageType.CompoundType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.OrType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.SimpleType; -import com.itsaky.androidide.plugins.properties.parser.MessageType.UnionType; +import com.itsaky.androidide.build.propparser.parser.MessageType.CompoundType; +import com.itsaky.androidide.build.propparser.parser.MessageType.OrType; +import com.itsaky.androidide.build.propparser.parser.MessageType.SimpleType; +import com.itsaky.androidide.build.propparser.parser.MessageType.UnionType; import java.util.ArrayList; import java.util.List; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageLine.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageLine.java similarity index 97% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageLine.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageLine.java index 54b30085c..dc6eb1dff 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageLine.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageLine.java @@ -23,7 +23,7 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.parser; +package com.itsaky.androidide.build.propparser.parser; import java.util.regex.Pattern; diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageType.java b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageType.java similarity index 99% rename from build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageType.java rename to build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageType.java index 34a08e1cd..5a2a38a18 100644 --- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/properties/parser/MessageType.java +++ b/build-logic/properties-parser/src/main/java/com/itsaky/androidide/build/propparser/parser/MessageType.java @@ -23,7 +23,7 @@ * questions. */ -package com.itsaky.androidide.plugins.properties.parser; +package com.itsaky.androidide.build.propparser.parser; /** * Common interface to all kinds of diagnostic argument types. diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index 70fb84e5d..7c01c9c9f 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -1,20 +1,21 @@ /* - * This file is part of AndroidIDE. - * - * AndroidIDE 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. - * - * AndroidIDE 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 AndroidIDE. If not, see . - */ +* This file is part of AndroidIDE. +* +* AndroidIDE 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. +* +* AndroidIDE 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 AndroidIDE. If not, see . +*/ +@file:Suppress("UnstableApiUsage") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") @@ -31,7 +32,9 @@ dependencyResolutionManagement { } include( - ":ide" + ":common", + ":plugins", + ":properties-parser" ) rootProject.name = "build-logic" \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 8165438ea..1c4a8dc82 100755 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,9 @@ @file:Suppress("UnstableApiUsage") +import com.itsaky.androidide.build.config.BuildConfig +import com.itsaky.androidide.build.config.FDroidConfig +import com.itsaky.androidide.build.config.publishingVersion import com.itsaky.androidide.plugins.AndroidIDEPlugin import com.itsaky.androidide.plugins.conf.configureAndroidModule import com.itsaky.androidide.plugins.conf.configureJavaModule diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 72b97b462..d8146a0df 100755 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/editor-api/build.gradle.kts b/editor-api/build.gradle.kts index bd74bfcc7..18290e85a 100644 --- a/editor-api/build.gradle.kts +++ b/editor-api/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/editor/build.gradle.kts b/editor/build.gradle.kts index 8907e748f..309d7ec16 100644 --- a/editor/build.gradle.kts +++ b/editor/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/eventbus-android/build.gradle.kts b/eventbus-android/build.gradle.kts index faba9795e..9de17e7f7 100644 --- a/eventbus-android/build.gradle.kts +++ b/eventbus-android/build.gradle.kts @@ -14,6 +14,9 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ + +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("org.jetbrains.kotlin.android") diff --git a/eventbus-events/build.gradle.kts b/eventbus-events/build.gradle.kts index bd68ed52f..f256d2981 100644 --- a/eventbus-events/build.gradle.kts +++ b/eventbus-events/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts index a60083ce6..579b7e4b2 100644 --- a/gradle-plugin/build.gradle.kts +++ b/gradle-plugin/build.gradle.kts @@ -15,6 +15,10 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.AGP_VERSION_MINIMUM +import com.itsaky.androidide.build.config.BuildConfig +import com.itsaky.androidide.build.config.ProjectConfig + plugins { id("java-gradle-plugin") id("org.jetbrains.kotlin.jvm") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d6fd2fd87..96cce6183 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -147,5 +147,6 @@ maven-publish = { module = "com.vanniktech:gradle-maven-publish-plugin", version android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } maven-publish = { id = "com.vanniktech.maven.publish.base", version.ref = "maven-publish-plugin" } gradle-publish = { id = "com.gradle.plugin-publish", version = "1.2.1" } diff --git a/lexers/build.gradle.kts b/lexers/build.gradle.kts index 8370f4106..03c8d35d2 100755 --- a/lexers/build.gradle.kts +++ b/lexers/build.gradle.kts @@ -16,6 +16,7 @@ */ import com.itsaky.androidide.plugins.LexerGeneratorPlugin +import com.itsaky.androidide.build.config.BuildConfig plugins { id("java-library") diff --git a/logsender-sample/build.gradle.kts b/logsender-sample/build.gradle.kts index f488ae7ba..67bc7ebba 100644 --- a/logsender-sample/build.gradle.kts +++ b/logsender-sample/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.application") } diff --git a/logsender/build.gradle.kts b/logsender/build.gradle.kts index 6a278a57d..c056df3c1 100644 --- a/logsender/build.gradle.kts +++ b/logsender/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("com.vanniktech.maven.publish.base") diff --git a/lsp/api/build.gradle.kts b/lsp/api/build.gradle.kts index 1eb932872..f189a045f 100644 --- a/lsp/api/build.gradle.kts +++ b/lsp/api/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/lsp/java/build.gradle.kts b/lsp/java/build.gradle.kts index d386d766f..1bebb80a0 100644 --- a/lsp/java/build.gradle.kts +++ b/lsp/java/build.gradle.kts @@ -14,6 +14,9 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ + +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/lsp/models/build.gradle.kts b/lsp/models/build.gradle.kts index e4e442b3e..02bc6580c 100644 --- a/lsp/models/build.gradle.kts +++ b/lsp/models/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/lsp/xml/build.gradle.kts b/lsp/xml/build.gradle.kts index 990974d6c..0faf59e0d 100644 --- a/lsp/xml/build.gradle.kts +++ b/lsp/xml/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/preferences/build.gradle.kts b/preferences/build.gradle.kts index 353cb3bc3..18e5bf0ae 100644 --- a/preferences/build.gradle.kts +++ b/preferences/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/resources/build.gradle.kts b/resources/build.gradle.kts index 83b6d0ed0..601ed3e11 100644 --- a/resources/build.gradle.kts +++ b/resources/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") } diff --git a/subprojects/aaptcompiler/build.gradle.kts b/subprojects/aaptcompiler/build.gradle.kts index 40fd2d340..3d59d1082 100644 --- a/subprojects/aaptcompiler/build.gradle.kts +++ b/subprojects/aaptcompiler/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/subprojects/flashbar/build.gradle.kts b/subprojects/flashbar/build.gradle.kts index db32a8f27..f5049b943 100644 --- a/subprojects/flashbar/build.gradle.kts +++ b/subprojects/flashbar/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/subprojects/javac-services/build.gradle.kts b/subprojects/javac-services/build.gradle.kts index c32cfb908..46040c98e 100644 --- a/subprojects/javac-services/build.gradle.kts +++ b/subprojects/javac-services/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/subprojects/layoutlib-api/build.gradle.kts b/subprojects/layoutlib-api/build.gradle.kts index b774e02f2..510d8dcf6 100644 --- a/subprojects/layoutlib-api/build.gradle.kts +++ b/subprojects/layoutlib-api/build.gradle.kts @@ -14,6 +14,9 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ + +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/subprojects/projects/build.gradle.kts b/subprojects/projects/build.gradle.kts index 1e3bdc0d7..2493a9132 100644 --- a/subprojects/projects/build.gradle.kts +++ b/subprojects/projects/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/subprojects/tooling-api-impl/build.gradle.kts b/subprojects/tooling-api-impl/build.gradle.kts index e3e3f529c..3030cc18a 100644 --- a/subprojects/tooling-api-impl/build.gradle.kts +++ b/subprojects/tooling-api-impl/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + @Suppress("JavaPluginLanguageLevel") plugins { id("com.github.johnrengelman.shadow") version "8.1.1" diff --git a/subprojects/xml-utils/build.gradle.kts b/subprojects/xml-utils/build.gradle.kts index 68aed9bb2..3b7ff130a 100644 --- a/subprojects/xml-utils/build.gradle.kts +++ b/subprojects/xml-utils/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/templates-api/build.gradle.kts b/templates-api/build.gradle.kts index cb94a094c..e8b2d9909 100644 --- a/templates-api/build.gradle.kts +++ b/templates-api/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("org.jetbrains.kotlin.android") diff --git a/templates-impl/build.gradle.kts b/templates-impl/build.gradle.kts index 8bf63d292..471409d24 100644 --- a/templates-impl/build.gradle.kts +++ b/templates-impl/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("org.jetbrains.kotlin.android") diff --git a/termux/termux-app/build.gradle.kts b/termux/termux-app/build.gradle.kts index 0606c8487..88c059ed9 100644 --- a/termux/termux-app/build.gradle.kts +++ b/termux/termux-app/build.gradle.kts @@ -1,6 +1,7 @@ @file:Suppress("UnstableApiUsage") import com.itsaky.androidide.plugins.TerminalBootstrapPackagesPlugin +import com.itsaky.androidide.build.config.BuildConfig plugins { id("com.android.library") diff --git a/termux/termux-emulator/build.gradle.kts b/termux/termux-emulator/build.gradle.kts index 672e2f663..8c3fd82a0 100644 --- a/termux/termux-emulator/build.gradle.kts +++ b/termux/termux-emulator/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/termux/termux-shared/build.gradle.kts b/termux/termux-shared/build.gradle.kts index c963db9aa..59df34aee 100644 --- a/termux/termux-shared/build.gradle.kts +++ b/termux/termux-shared/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id ("com.android.library") id("kotlin-android") diff --git a/termux/termux-view/build.gradle.kts b/termux/termux-view/build.gradle.kts index 84adc7146..800a69dab 100644 --- a/termux/termux-view/build.gradle.kts +++ b/termux/termux-view/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/testing/android/build.gradle.kts b/testing/android/build.gradle.kts index bc10c2b34..123180f8e 100644 --- a/testing/android/build.gradle.kts +++ b/testing/android/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") kotlin("android") diff --git a/testing/lsp/build.gradle.kts b/testing/lsp/build.gradle.kts index 8b3c3b729..2bd3f2929 100644 --- a/testing/lsp/build.gradle.kts +++ b/testing/lsp/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/testing/unit/build.gradle.kts b/testing/unit/build.gradle.kts index 3fb4b2be0..145181e94 100644 --- a/testing/unit/build.gradle.kts +++ b/testing/unit/build.gradle.kts @@ -15,6 +15,8 @@ * along with AndroidIDE. If not, see . */ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") kotlin("android") diff --git a/uidesigner/build.gradle.kts b/uidesigner/build.gradle.kts index 23071be32..87ccca792 100644 --- a/uidesigner/build.gradle.kts +++ b/uidesigner/build.gradle.kts @@ -1,3 +1,5 @@ +import com.itsaky.androidide.build.config.BuildConfig + plugins { id("com.android.library") id("kotlin-android") diff --git a/xml-inflater/build.gradle.kts b/xml-inflater/build.gradle.kts index 853a002a6..8f2db5ccf 100644 --- a/xml-inflater/build.gradle.kts +++ b/xml-inflater/build.gradle.kts @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -@file:Suppress("UnstableApiUsage") +import com.itsaky.androidide.build.config.BuildConfig plugins { id("com.android.library")