diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 38d0479b5..d1b013add 100755
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -82,6 +82,9 @@
+
+
+
@@ -91,6 +94,7 @@
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 668557c7f..1fc884c9c 100755
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -76,5 +76,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/actions/build.gradle b/actions/build.gradle
deleted file mode 100644
index 1ab81284c..000000000
--- a/actions/build.gradle
+++ /dev/null
@@ -1,45 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.actions"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-}
-
-dependencies {
- implementation project (':common')
- implementation project (':resources')
- implementation common.editor
- implementation common.kotlin
- implementation common.utilcode
-
- implementation androidx.ktx
- implementation google.material
-}
-
-repositories {
- mavenCentral ()
-}
\ No newline at end of file
diff --git a/actions/build.gradle.kts b/actions/build.gradle.kts
new file mode 100644
index 000000000..4eb3426b5
--- /dev/null
+++ b/actions/build.gradle.kts
@@ -0,0 +1,19 @@
+plugins{
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.actions"
+}
+
+dependencies {
+ implementation(projects.common)
+ implementation(projects.resources)
+ implementation(libs.common.editor)
+ implementation(libs.common.kotlin)
+ implementation(libs.common.utilcode)
+
+ implementation(libs.androidx.ktx)
+ implementation(libs.google.material)
+}
\ No newline at end of file
diff --git a/actions/proguard-rules.pro b/actions/proguard-rules.pro
index 481bb4348..ff59496d8 100644
--- a/actions/proguard-rules.pro
+++ b/actions/proguard-rules.pro
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
+# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/annotation-processors/build.gradle b/annotation-processors/build.gradle
deleted file mode 100644
index 3f9602852..000000000
--- a/annotation-processors/build.gradle
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 {
- id 'java-library'
- id 'kotlin'
- id 'kotlin-kapt'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation common.jkotlin
- implementation common.javapoet
- implementation google.auto_service
-
- implementation project(path: ':annotations')
- implementation project(path: ':shared')
-
- kapt google.auto_service
- kapt project (path: ':subprojects:framework-stubs')
-}
\ No newline at end of file
diff --git a/annotation-processors/build.gradle.kts b/annotation-processors/build.gradle.kts
new file mode 100644
index 000000000..2979f3368
--- /dev/null
+++ b/annotation-processors/build.gradle.kts
@@ -0,0 +1,35 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("kotlin")
+}
+
+
+dependencies {
+ implementation(libs.common.jkotlin)
+ implementation(libs.common.javapoet)
+ implementation(libs.google.auto.service)
+
+ implementation(projects.annotations)
+ implementation(projects.shared)
+
+ kapt(libs.google.auto.service)
+ kapt(projects.subprojects.frameworkStubs)
+}
diff --git a/annotations/build.gradle b/annotations/build.gradle
deleted file mode 100644
index 881f71240..000000000
--- a/annotations/build.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
-plugins {
- id 'java-library'
- id 'kotlin'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation androidx.annotation
- implementation common.jkotlin
- compileOnly project (path: ':shared')
- compileOnly project (path: ':subprojects:framework-stubs')
-}
\ No newline at end of file
diff --git a/annotations/build.gradle.kts b/annotations/build.gradle.kts
new file mode 100644
index 000000000..de7f271cf
--- /dev/null
+++ b/annotations/build.gradle.kts
@@ -0,0 +1,29 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.androidx.annotation)
+ implementation(libs.common.jkotlin)
+ compileOnly(projects.shared)
+ compileOnly(projects.subprojects.frameworkStubs)
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
deleted file mode 100755
index eff156802..000000000
--- a/app/build.gradle
+++ /dev/null
@@ -1,181 +0,0 @@
-plugins {
- id 'com.android.application'
- id 'kotlin-android'
- id 'kotlin-parcelize'
- id 'com.google.android.gms.oss-licenses-plugin'
-}
-
-android {
- namespace "com.itsaky.androidide"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- applicationId rootProject.ext.packageName
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- versionCode rootProject.ext.versionCode
- versionName rootProject.ext.versionName
-
- multiDexEnabled true
- vectorDrawables.useSupportLibrary = true
- }
-
- compileOptions {
- coreLibraryDesugaringEnabled true
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
-
- buildFeatures {
- viewBinding true
- }
-
- signingConfigs {
-
- debug {
- storeFile file ("dev.keystore")
- keyAlias "androidide"
- storePassword "ed68424fb109e5aa8146e4b86caa72e3"
- keyPassword "ed68424fb109e5aa8146e4b86caa72e3"
- }
-
- release {
- storeFile file ("dev.keystore")
- keyAlias "androidide"
- storePassword "ed68424fb109e5aa8146e4b86caa72e3"
- keyPassword "ed68424fb109e5aa8146e4b86caa72e3"
- }
- }
-
- buildTypes {
- debug {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.debug
- }
- release {
- minifyEnabled true
- shrinkResources true
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
- }
- }
-
- packagingOptions {
- resources {
- excludes += ['META-INF/eclipse.inf',
- 'META-INF/CHANGES',
- 'META-INF/README.md',
- 'about_files/LICENSE-2.0.txt',
- 'META-INF/AL2.0',
- 'META-INF/LGPL2.1',
- 'plugin.xml',
- 'plugin.properties',
- 'about.mappings',
- 'about.properties',
- 'about.ini',
- 'modeling32.png']
- }
- }
-
- lint {
- abortOnError false
- disable 'VectorPath', 'NestedWeights', 'ContentDescription', 'SmallSp'
- }
-}
-
-configurations.all {
- exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
-}
-
-kapt {
- arguments {
- arg ('eventBusIndex', 'com.itsaky.androidide.events.AppEventsIndex')
- }
-}
-
-dependencies {
-
- // Annotation processors
- kapt common.glide_ap
- kapt common.eventbus_ap
- kapt google.auto_service
-
- implementation common.editor
- implementation common.utilcode
- implementation common.glide
- implementation common.jsoup
-
- implementation google.auto_service_annotations
- implementation google.gson
- implementation google.guava
-
- //Git
- implementation git.jgit
-
- // AndroidX
- implementation androidx.splashscreen
- implementation androidx.annotation
- implementation androidx.appcompat
- implementation androidx.cardview
- implementation androidx.constraintlayout
- implementation androidx.coordinatorlayout
- implementation androidx.drawer
- implementation androidx.grid
- implementation androidx.preference
- implementation androidx.recyclerview
- implementation androidx.vectors
- implementation androidx.animated_vectors
- implementation google.material
- implementation google.oss_licenses
-
- // Kotlin
- implementation androidx.ktx
- implementation common.kotlin
-
- // Local projects here
- implementation project (':actions')
- implementation project (':common')
- implementation project (':editor')
- implementation project (':emulatorview')
- implementation project (':eventbus')
- implementation project (':eventbus-android')
- implementation project (':eventbus-events')
- implementation project (':subprojects:aaptcompiler')
- implementation project (':subprojects:javac-services')
- implementation project (':subprojects:xml-utils')
- implementation project (':subprojects:projects')
- implementation project (':subprojects:tooling-api')
- implementation project (':lsp:api')
- implementation project (':lsp:java')
- implementation project (':lsp:xml')
- implementation project (':lexers')
- implementation project (':lookup')
- implementation project (':preferences')
- implementation project (':resources')
- implementation project (':treeview')
- implementation project (':uidesigner')
- implementation project (':xml-inflater')
-
- implementation fileTree (dir: 'libs', include: ['*.jar'])
-
- coreLibraryDesugaring androidx.lib_desugaring
-
- // This is to build the tooling-api-impl project before the app is built
- // So we always copy the latest JAR file to assets
- compileOnly project (path: ':subprojects:tooling-api-impl')
-
- testImplementation common.editor
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
- androidTestImplementation tests.androidx_junit
- androidTestImplementation tests.androidx_espresso
- androidTestImplementation tests.google_truth
-}
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100755
index 000000000..1f22f23bf
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,135 @@
+plugins {
+ id("com.android.application")
+ id("kotlin-android")
+ id("kotlin-parcelize")
+ id("com.google.android.gms.oss-licenses-plugin")
+}
+
+android {
+ namespace = "com.itsaky.androidide"
+
+ defaultConfig {
+ applicationId = "com.itsaky.androidide"
+ vectorDrawables.useSupportLibrary = true
+ }
+
+ compileOptions { isCoreLibraryDesugaringEnabled = true }
+
+ signingConfigs.create("common") {
+ storeFile = file("dev.keystore")
+ keyAlias = "androidide"
+ storePassword = "ed68424fb109e5aa8146e4b86caa72e3"
+ keyPassword = "ed68424fb109e5aa8146e4b86caa72e3"
+ }
+
+ buildTypes {
+ debug { signingConfig = signingConfigs.getByName("common") }
+ release {
+ isShrinkResources = true
+ signingConfig = signingConfigs.getByName("common")
+ }
+ }
+
+ packagingOptions {
+ resources.excludes.addAll(
+ arrayOf(
+ "META-INF/eclipse.inf",
+ "META-INF/CHANGES",
+ "META-INF/README.md",
+ "about_files/LICENSE-2.0.txt",
+ "META-INF/AL2.0",
+ "META-INF/LGPL2.1",
+ "plugin.xml",
+ "plugin.properties",
+ "about.mappings",
+ "about.properties",
+ "about.ini",
+ "modeling32.png"
+ )
+ )
+ }
+
+ lint {
+ abortOnError = false
+ disable.addAll(arrayOf("VectorPath", "NestedWeights", "ContentDescription", "SmallSp"))
+ }
+}
+
+kapt { arguments { arg("eventBusIndex", "com.itsaky.androidide.events.AppEventsIndex") } }
+
+dependencies {
+
+ // Annotation processors
+ kapt(libs.common.glide.ap)
+ kapt(libs.common.eventbus.ap)
+ kapt(libs.google.auto.service)
+
+ implementation(libs.common.editor)
+ implementation(libs.common.utilcode)
+ implementation(libs.common.glide)
+ implementation(libs.common.jsoup)
+
+ implementation(libs.google.auto.service.annotations)
+ implementation(libs.google.gson)
+ implementation(libs.google.guava)
+
+ // Git
+ implementation(libs.git.jgit)
+
+ // AndroidX
+ implementation(libs.androidx.splashscreen)
+ implementation(libs.androidx.annotation)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.cardview)
+ implementation(libs.androidx.constraintlayout)
+ implementation(libs.androidx.coordinatorlayout)
+ implementation(libs.androidx.drawer)
+ implementation(libs.androidx.grid)
+ implementation(libs.androidx.preference)
+ implementation(libs.androidx.recyclerview)
+ implementation(libs.androidx.vectors)
+ implementation(libs.androidx.animated.vectors)
+ implementation(libs.google.material)
+ implementation(libs.google.oss.licenses)
+
+ // Kotlin
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+
+ // Local projects here
+ implementation(projects.actions)
+ implementation(projects.common)
+ implementation(projects.editor)
+ implementation(projects.emulatorview)
+ implementation(projects.eventbus)
+ implementation(projects.eventbusAndroid)
+ implementation(projects.eventbusEvents)
+ implementation(projects.subprojects.aaptcompiler)
+ implementation(projects.subprojects.javacServices)
+ implementation(projects.subprojects.xmlUtils)
+ implementation(projects.subprojects.projects)
+ implementation(projects.subprojects.toolingApi)
+ implementation(projects.lsp.api)
+ implementation(projects.lsp.java)
+ implementation(projects.lsp.xml)
+ implementation(projects.lexers)
+ implementation(projects.lookup)
+ implementation(projects.preferences)
+ implementation(projects.resources)
+ implementation(projects.treeview)
+ implementation(projects.uidesigner)
+
+ coreLibraryDesugaring(libs.androidx.lib.desugaring)
+
+ // This is to build the tooling-api-impl project before the app is built
+ // So we always copy the latest JAR file to assets
+ compileOnly(projects.subprojects.toolingApiImpl)
+
+ testImplementation(libs.common.editor)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+ androidTestImplementation(libs.tests.androidx.junit)
+ androidTestImplementation(libs.tests.androidx.espresso)
+ androidTestImplementation(libs.tests.google.truth)
+}
diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar
index 1e4850fcb..9024776d5 100644
Binary files a/app/src/main/assets/data/common/tooling-api-all.jar and b/app/src/main/assets/data/common/tooling-api-all.jar differ
diff --git a/buildSrc/.gitignore b/build-logic/.gitignore
similarity index 100%
rename from buildSrc/.gitignore
rename to build-logic/.gitignore
diff --git a/build-logic/gradle.properties b/build-logic/gradle.properties
new file mode 100644
index 000000000..13a405a54
--- /dev/null
+++ b/build-logic/gradle.properties
@@ -0,0 +1,20 @@
+#
+# 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 .
+#
+
+org.gradle.parallel=true
+org.gradle.caching=true
+org.gradle.configureondemand=true
\ No newline at end of file
diff --git a/build-logic/gradle/wrapper/gradle-wrapper.jar b/build-logic/gradle/wrapper/gradle-wrapper.jar
new file mode 100755
index 000000000..41d9927a4
Binary files /dev/null and b/build-logic/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/build-logic/gradle/wrapper/gradle-wrapper.properties b/build-logic/gradle/wrapper/gradle-wrapper.properties
new file mode 100755
index 000000000..ae04661ee
--- /dev/null
+++ b/build-logic/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/build-logic/ide/.gitignore b/build-logic/ide/.gitignore
new file mode 100644
index 000000000..796b96d1c
--- /dev/null
+++ b/build-logic/ide/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/buildSrc/build.gradle.kts b/build-logic/ide/build.gradle.kts
similarity index 100%
rename from buildSrc/build.gradle.kts
rename to build-logic/ide/build.gradle.kts
diff --git a/buildSrc/src/main/java/com/itsaky/androidide/Versions.kt b/build-logic/ide/src/main/kotlin/Versions.kt
similarity index 96%
rename from buildSrc/src/main/java/com/itsaky/androidide/Versions.kt
rename to build-logic/ide/src/main/kotlin/Versions.kt
index fc614462b..c62087d75 100644
--- a/buildSrc/src/main/java/com/itsaky/androidide/Versions.kt
+++ b/build-logic/ide/src/main/kotlin/Versions.kt
@@ -15,8 +15,7 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide
-
+import com.itsaky.androidide.CI
import org.gradle.api.JavaVersion
/**
@@ -56,6 +55,7 @@ object Versions {
/** The source and target Java compatibility. */
val javaVersion = JavaVersion.VERSION_11
+ val javaVersionMajor = 11
/** The release version name. */
const val releaseVersionName = "2.1.3-beta"
diff --git a/build-logic/ide/src/main/kotlin/build-logic.root-project.gradle.kts b/build-logic/ide/src/main/kotlin/build-logic.root-project.gradle.kts
new file mode 100644
index 000000000..3c495b263
--- /dev/null
+++ b/build-logic/ide/src/main/kotlin/build-logic.root-project.gradle.kts
@@ -0,0 +1,20 @@
+/*
+ * 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 .
+ */
+
+require(project == rootProject) {
+ "This script must be apply to the root project."
+}
\ No newline at end of file
diff --git a/buildSrc/src/main/java/com/itsaky/androidide/CI.kt b/build-logic/ide/src/main/kotlin/com/itsaky/androidide/CI.kt
similarity index 100%
rename from buildSrc/src/main/java/com/itsaky/androidide/CI.kt
rename to build-logic/ide/src/main/kotlin/com/itsaky/androidide/CI.kt
diff --git a/buildSrc/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt b/build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
similarity index 100%
rename from buildSrc/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
rename to build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
diff --git a/buildSrc/src/main/java/com/itsaky/androidide/plugins/GoogleJavaFormatPlugin.kt b/build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/GoogleJavaFormatPlugin.kt
similarity index 100%
rename from buildSrc/src/main/java/com/itsaky/androidide/plugins/GoogleJavaFormatPlugin.kt
rename to build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/GoogleJavaFormatPlugin.kt
diff --git a/buildSrc/src/main/java/com/itsaky/androidide/plugins/TranslationCheckerPlugin.kt b/build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/TranslationCheckerPlugin.kt
similarity index 100%
rename from buildSrc/src/main/java/com/itsaky/androidide/plugins/TranslationCheckerPlugin.kt
rename to build-logic/ide/src/main/kotlin/com/itsaky/androidide/plugins/TranslationCheckerPlugin.kt
diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts
new file mode 100644
index 000000000..70fb84e5d
--- /dev/null
+++ b/build-logic/settings.gradle.kts
@@ -0,0 +1,37 @@
+/*
+ * 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 .
+ */
+
+
+enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
+
+dependencyResolutionManagement {
+ repositories {
+ google()
+ mavenCentral()
+ }
+ versionCatalogs {
+ create("libs") {
+ from(files("../gradle/libs.versions.toml"))
+ }
+ }
+}
+
+include(
+ ":ide"
+)
+
+rootProject.name = "build-logic"
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
deleted file mode 100755
index 10343b243..000000000
--- a/build.gradle
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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.google.googlejavaformat.java.Formatter
-import com.google.googlejavaformat.java.JavaFormatterOptions
-import com.itsaky.androidide.Versions
-import com.itsaky.androidide.plugins.AndroidIDEPlugin
-
-import java.nio.charset.StandardCharsets
-import java.nio.file.Files
-import java.nio.file.Path
-import java.nio.file.Paths
-import java.util.stream.Collectors
-
-buildscript {
- apply from: "dependencies.gradle"
-
- project.ext {
- compileSdk = Versions.INSTANCE.compileSdk
- buildTools = Versions.INSTANCE.buildTools
- minSdk = Versions.INSTANCE.minSdk
- targetSdk = Versions.INSTANCE.targetSdk
- versionCode = Versions.INSTANCE.versionCode
- versionName = Versions.INSTANCE.versionName
- packageName = "com.itsaky.androidide"
-
- javaSourceVersion = Versions.INSTANCE.javaVersion
- javaTargetVersion = Versions.INSTANCE.javaVersion
- }
-
- repositories {
- mavenLocal ()
-
- // Do not use mavenCentral()
- maven {
- url 'https://repo1.maven.org/maven2'
- }
-
- // Do not use google()
- maven {
- url 'https://maven.google.com'
- }
-
- maven {
- url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
- }
-
- maven {
- url 'https://jitpack.io'
- }
- }
-
- dependencies {
- classpath classpaths.agp
- classpath classpaths.kotlin_gradle_plugin
- classpath classpaths.nav_safeargs
- classpath classpaths.oss_licenses
- classpath google.guava_jre
- }
-}
-
-subprojects {
- apply plugin: 'kotlin-kapt'
- apply plugin: AndroidIDEPlugin
-}
-
-allprojects {
-
- tasks.withType (org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
- kotlinOptions {
- freeCompilerArgs += '-Xjvm-default=all'
- }
- }
-
- repositories {
- mavenLocal ()
-
- // Do not use mavenCentral()
- maven {
- url 'https://repo1.maven.org/maven2'
- }
-
- // Do not use google()
- maven {
- url 'https://maven.google.com'
- }
-
- maven {
- url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
- }
-
- maven {
- url 'https://jitpack.io'
- }
- }
-}
-
-
-task clean (type: Delete) {
- delete rootProject.buildDir
-}
-
-task formatJavaSources () {
- doLast {
- }
-}
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100755
index 000000000..a4ac64300
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,82 @@
+/*
+ * 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.android.build.gradle.BaseExtension
+import com.itsaky.androidide.plugins.AndroidIDEPlugin
+import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
+
+@Suppress("DSL_SCOPE_VIOLATION")
+plugins {
+ id("build-logic.root-project")
+ alias(libs.plugins.android.application) apply false
+ alias(libs.plugins.android.library) apply false
+ alias(libs.plugins.kotlin) apply false
+}
+
+buildscript { dependencies { classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
+
+fun Project.configureBaseExtension() {
+ extensions.findByType(BaseExtension::class)?.run {
+ compileSdkVersion(Versions.compileSdk)
+ buildToolsVersion = Versions.buildTools
+
+ defaultConfig {
+ minSdk = Versions.minSdk
+ targetSdk = Versions.targetSdk
+ versionCode = Versions.versionCode
+ versionName = Versions.versionName
+ }
+
+ compileOptions {
+ sourceCompatibility = Versions.javaVersion
+ targetCompatibility = Versions.javaVersion
+ }
+
+ buildTypes.getByName("debug") { isMinifyEnabled = false }
+ buildTypes.getByName("release") {
+ isMinifyEnabled = true
+ proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
+ }
+
+ testOptions { unitTests.isIncludeAndroidResources = true }
+
+ buildFeatures.viewBinding = true
+ }
+}
+
+subprojects {
+ apply {
+ plugin("kotlin-kapt")
+ plugin(AndroidIDEPlugin::class.java)
+ }
+
+ plugins.withId("com.android.application") { configureBaseExtension() }
+ plugins.withId("com.android.library") { configureBaseExtension() }
+
+ plugins.withType(JavaLibraryPlugin::class.java) {
+ configure {
+ sourceCompatibility = Versions.javaVersion
+ targetCompatibility = Versions.javaVersion
+ }
+ }
+
+ plugins.withId("kotlin-android") {
+ configure { jvmToolchain(Versions.javaVersionMajor) }
+ }
+}
+
+tasks.register("clean") { delete(rootProject.buildDir) }
diff --git a/common/build.gradle b/common/build.gradle
deleted file mode 100755
index 967b25f0e..000000000
--- a/common/build.gradle
+++ /dev/null
@@ -1,66 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.common"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation fileTree (dir: 'libs', include: ['*.jar'])
- implementation common.editor
- implementation common.lang3
- implementation common.utilcode
- implementation google.guava
- implementation google.material
-
- implementation androidx.appcompat
- implementation androidx.preference
- implementation androidx.vectors
- implementation androidx.animated_vectors
-
- implementation androidx.ktx
- implementation common.kotlin
-
- implementation project (path: ':eventbus-events')
- implementation project (path: ':lexers')
- implementation project (path: ':resources')
-
- api androidx.multidex
-
- api project (path: ':shared')
- api project (path: ':logger')
-
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
-}
diff --git a/common/build.gradle.kts b/common/build.gradle.kts
new file mode 100755
index 000000000..6b9494711
--- /dev/null
+++ b/common/build.gradle.kts
@@ -0,0 +1,35 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.common"
+}
+
+dependencies {
+ implementation(libs.common.editor)
+ implementation(libs.common.lang3)
+ implementation(libs.common.utilcode)
+ implementation(libs.google.guava)
+ implementation(libs.google.material)
+
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.preference)
+ implementation(libs.androidx.vectors)
+ implementation(libs.androidx.animated.vectors)
+
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+
+ implementation(projects.eventbusEvents)
+ implementation(projects.lexers)
+ implementation(projects.resources)
+
+ api(projects.shared)
+ api(projects.logger)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+}
diff --git a/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java b/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java
index a3f631f75..dbb9ece72 100644
--- a/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java
+++ b/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java
@@ -17,6 +17,7 @@
package com.itsaky.androidide.app;
import android.annotation.SuppressLint;
+import android.app.Application;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Intent;
@@ -24,12 +25,9 @@ import android.net.Uri;
import android.os.Build;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.app.NotificationManagerCompat;
-import androidx.multidex.MultiDexApplication;
import com.blankj.utilcode.util.ThrowableUtils;
-import com.google.android.material.color.DynamicColors;
import com.itsaky.androidide.managers.PreferenceManager;
import com.itsaky.androidide.managers.ToolsManager;
import com.itsaky.androidide.resources.R;
@@ -43,7 +41,7 @@ import com.itsaky.toaster.Toaster;
import java.io.File;
import java.util.Arrays;
-public abstract class BaseApplication extends MultiDexApplication {
+public abstract class BaseApplication extends Application {
public static final String NOTIFICATION_GRADLE_BUILD_SERVICE = "17571";
public static final String TELEGRAM_GROUP_URL = "https://t.me/androidide_discussions";
diff --git a/dependencies.gradle b/dependencies.gradle
deleted file mode 100644
index dd8b641fa..000000000
--- a/dependencies.gradle
+++ /dev/null
@@ -1,109 +0,0 @@
-ext {
- agp_version = '7.4.0-rc01'
- kotlin_version = '1.7.22'
- google_java_format_version = '1.15.0'
- oss_licenses_version = '0.10.6'
- nav_safeargs_version = '2.5.3'
-
- ats_version = '1.0.10'
- editor_version = '0.20.2'
-
- classpaths = [
- agp : "com.android.tools.build:gradle:$agp_version",
- kotlin_gradle_plugin: "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version",
- google_java_format : "com.google.googlejavaformat:google-java-format:$google_java_format_version",
- oss_licenses : "com.google.android.gms:oss-licenses-plugin:$oss_licenses_version",
- nav_safeargs : "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_safeargs_version"
- ]
-
- androidide = [
- javac : 'io.github.itsaky:nb-javac-android:17.0.0.4-SNAPSHOT',
- ats : "io.github.itsaky:android-tree-sitter:$ats_version",
- ts_java: "io.github.itsaky:tree-sitter-java:$ats_version",
- ts_xml: "io.github.itsaky:tree-sitter-xml:$ats_version"
- ]
-
- common = [
- editor : "io.github.Rosemoe.sora-editor:editor:$editor_version",
- editor_ts : "io.github.Rosemoe.sora-editor:language-treesitter:$editor_version",
- utilcode : 'com.blankj:utilcodex:1.31.1',
- glide : 'com.github.bumptech.glide:glide:4.14.2',
- glide_ap : 'com.github.bumptech.glide:compiler:4.14.2',
- jsoup : 'org.jsoup:jsoup:1.15.3',
- antlr4 : 'org.antlr:antlr4-runtime:4.9.3',
- javaparser : 'com.github.javaparser:javaparser-symbol-solver-core:3.24.9',
- lang3 : 'org.apache.commons:commons-lang3:3.12.0',
- io : 'commons-io:commons-io:2.11.0',
- kotlin : 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.22',
- jkotlin : 'org.jetbrains.kotlin:kotlin-stdlib-jdk8',
- eventbus_ap: 'org.greenrobot:eventbus-annotation-processor:3.3.1',
- javapoet : 'com.squareup:javapoet:1.13.0'
- ]
-
- androidx = [
- annotation : 'androidx.annotation:annotation:1.5.0',
- appcompat : 'androidx.appcompat:appcompat:1.5.1',
- cardview : 'androidx.cardview:cardview:1.0.0',
- constraintlayout : 'androidx.constraintlayout:constraintlayout:2.1.4',
- coordinatorlayout : 'androidx.coordinatorlayout:coordinatorlayout:1.2.0',
- drawer : 'androidx.drawerlayout:drawerlayout:1.1.1',
- grid : 'androidx.gridlayout:gridlayout:1.0.0',
- preference : 'androidx.preference:preference:1.2.0',
- recyclerview : 'androidx.recyclerview:recyclerview:1.2.1',
- vectors : 'androidx.vectordrawable:vectordrawable:1.1.0',
- animated_vectors : 'androidx.vectordrawable:vectordrawable-animated:1.1.0',
- multidex : 'androidx.multidex:multidex:2.0.1',
- ktx : 'androidx.core:core-ktx:1.9.0',
- fragment_ktx : 'androidx.fragment:fragment-ktx:1.5.5',
- lib_desugaring : 'com.android.tools:desugar_jdk_libs:1.1.6',
- splashscreen : 'androidx.core:core-splashscreen:1.0.0',
-
- nav_frag : 'androidx.navigation:navigation-fragment-ktx:2.5.3',
- nav_ui : 'androidx.navigation:navigation-ui-ktx:2.5.3',
- nav_dynamic_features: 'androidx.navigation:navigation-dynamic-features-fragment:2.5.3'
-
- ]
-
- google = [
- material : 'com.google.android.material:material:1.7.0',
- gson : 'com.google.code.gson:gson:2.10',
- guava : 'com.google.guava:guava:31.1-android',
- guava_jre : 'com.google.guava:guava:31.1-jre',
- auto_val_annotations : 'com.google.auto.value:auto-value-annotations:1.10.1',
- auto_val_ap : 'com.google.auto.value:auto-value:1.10',
- auto_service_annotations: 'com.google.auto.service:auto-service-annotations:1.0.1',
- auto_service : 'com.google.auto.service:auto-service:1.0.1',
- oss_licenses : 'com.google.android.gms:play-services-oss-licenses:17.0.0',
- protobuf : 'com.google.protobuf:protobuf-java:3.10.0'
- ]
-
- aapt = [
- common : 'com.android.tools:common:30.2.2',
- annotations : 'com.android.tools:annotations:30.2.2',
- jb_annotations: 'org.jetbrains:annotations:13.0',
- proto : 'com.android.tools.build:aapt2-proto:7.2.2-7984345'
- ]
-
- xml = [
- xercesImpl : 'xerces:xercesImpl:2.12.2',
- apis : 'xml-apis:xml-apis:2.0.2',
- remark : 'com.kotcrab.remark:remark:1.2.0',
- resolver : 'xml-resolver:xml-resolver:1.2',
- lsp4j : 'org.eclipse.lsp4j:org.eclipse.lsp4j:0.12.0',
- jb_annotations: 'org.jetbrains:annotations:23.0.0'
- ]
-
- git = [
- jgit: 'org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r'
- ]
-
- tests = [
- junit : 'junit:junit:4.13.2',
- google_truth : 'com.google.truth:truth:1.1.3',
- robolectric : 'org.robolectric:robolectric:4.9',
- androidx_test_core: 'androidx.test:core:1.5.0',
- androidx_junit : 'androidx.test.ext:junit:1.1.4',
- androidx_espresso : 'androidx.test.espresso:espresso-core:3.5.0',
- mockito_kotlin : 'org.mockito.kotlin:mockito-kotlin:4.1.0'
- ]
-}
diff --git a/editor/build.gradle b/editor/build.gradle
deleted file mode 100644
index b4fb5f13d..000000000
--- a/editor/build.gradle
+++ /dev/null
@@ -1,69 +0,0 @@
-plugins {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.editor"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
-
- api androidide.ats
- api androidide.ts_java
- api androidide.ts_xml
- api common.editor
- api common.editor_ts
-
- implementation androidx.annotation
- implementation androidx.appcompat
- implementation androidx.constraintlayout
-
- implementation common.utilcode
-
- implementation google.material
-
- implementation project (path: ":actions")
- implementation project (path: ":common")
- implementation project (path: ":lexers")
- implementation project (path: ":shared")
- implementation project (path: ":resources")
-
- implementation project (path: ":lsp:api")
- implementation project (path: ":lsp:java")
- implementation project (path: ":lsp:xml")
-
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
-}
\ No newline at end of file
diff --git a/editor/build.gradle.kts b/editor/build.gradle.kts
new file mode 100644
index 000000000..8e0daa312
--- /dev/null
+++ b/editor/build.gradle.kts
@@ -0,0 +1,39 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.editor"
+}
+
+dependencies {
+
+ api(libs.androidide.ts)
+ api(libs.androidide.ts.java)
+ api(libs.androidide.ts.xml)
+ api(libs.common.editor)
+ api(libs.common.editor.ts)
+
+ implementation(libs.androidx.annotation)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.constraintlayout)
+
+ implementation(libs.common.utilcode)
+
+ implementation(libs.google.material)
+
+ implementation(projects.actions)
+ implementation(projects.common)
+ implementation(projects.lexers)
+ implementation(projects.shared)
+ implementation(projects.resources)
+
+ implementation(projects.lsp.api)
+ implementation(projects.lsp.java)
+ implementation(projects.lsp.xml)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+}
\ No newline at end of file
diff --git a/editor/proguard-rules.pro b/editor/proguard-rules.pro
index 481bb4348..ff59496d8 100644
--- a/editor/proguard-rules.pro
+++ b/editor/proguard-rules.pro
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
+# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/emulatorview/build.gradle b/emulatorview/build.gradle
deleted file mode 100755
index 9ad532b86..000000000
--- a/emulatorview/build.gradle
+++ /dev/null
@@ -1,29 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- namespace "com.itsaky.terminal.view"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-}
-
-dependencies {
- implementation androidx.annotation
- implementation androidx.appcompat
- implementation project(path: ':resources')
-}
diff --git a/emulatorview/build.gradle.kts b/emulatorview/build.gradle.kts
new file mode 100755
index 000000000..b5c5d21a0
--- /dev/null
+++ b/emulatorview/build.gradle.kts
@@ -0,0 +1,13 @@
+plugins {
+ id("com.android.library")
+}
+
+android {
+ namespace = "com.itsaky.terminal.view"
+}
+
+dependencies {
+ implementation(libs.androidx.annotation)
+ implementation(libs.androidx.appcompat)
+ implementation(projects.resources)
+}
diff --git a/emulatorview/proguard-rules.pro b/emulatorview/proguard-rules.pro
index 2e56e600a..f883126ae 100755
--- a/emulatorview/proguard-rules.pro
+++ b/emulatorview/proguard-rules.pro
@@ -2,7 +2,7 @@
# By default, the flags in this file are appended to flags specified
# in /Users/fornwall/lib/android-sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
+# directive in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/eventbus-android/build.gradle b/eventbus-android/build.gradle
deleted file mode 100644
index dea71d7d0..000000000
--- a/eventbus-android/build.gradle
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 {
- id 'com.android.library'
- id 'org.jetbrains.kotlin.android'
-}
-
-android {
- namespace "com.itsaky.androidide.eventbus.android"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- api project(path: ':eventbus')
-}
diff --git a/subprojects/framework-stubs/build.gradle b/eventbus-android/build.gradle.kts
similarity index 80%
rename from subprojects/framework-stubs/build.gradle
rename to eventbus-android/build.gradle.kts
index 2f3dae376..d9764b834 100644
--- a/subprojects/framework-stubs/build.gradle
+++ b/eventbus-android/build.gradle.kts
@@ -14,16 +14,15 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see .
*/
-
plugins {
- id 'java-library'
+ id("com.android.library")
+ id("org.jetbrains.kotlin.android")
}
-java {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
+android {
+ namespace = "com.itsaky.androidide.eventbus.android"
}
dependencies {
- compileOnlyApi files ('libs/android.jar')
-}
\ No newline at end of file
+ api(projects.eventbus)
+}
diff --git a/eventbus-android/proguard-rules.pro b/eventbus-android/proguard-rules.pro
index 481bb4348..ff59496d8 100644
--- a/eventbus-android/proguard-rules.pro
+++ b/eventbus-android/proguard-rules.pro
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
+# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/eventbus-events/build.gradle b/eventbus-events/build.gradle
deleted file mode 100644
index b5476f13a..000000000
--- a/eventbus-events/build.gradle
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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 .
- */
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.eventbus.events"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation common.jkotlin
- implementation project (path: ':shared')
- implementation project (path: ':logger')
-
- api project (path: ':eventbus')
-}
\ No newline at end of file
diff --git a/logger/build.gradle b/eventbus-events/build.gradle.kts
similarity index 72%
rename from logger/build.gradle
rename to eventbus-events/build.gradle.kts
index 30c3ead86..0d9df1645 100644
--- a/logger/build.gradle
+++ b/eventbus-events/build.gradle.kts
@@ -16,17 +16,18 @@
*/
plugins {
- id 'java-library'
+ id("com.android.library")
+ id("kotlin-android")
}
-java {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
+android {
+ namespace = "com.itsaky.androidide.eventbus.events"
}
dependencies {
- compileOnly project (path: ':subprojects:framework-stubs')
+ implementation(libs.common.kotlin)
+ implementation(projects.shared)
+ implementation(projects.logger)
- testImplementation tests.junit
- testImplementation tests.google_truth
+ api(projects.eventbus)
}
\ No newline at end of file
diff --git a/subprojects/jsonrpc/build.gradle b/eventbus/build.gradle.kts
similarity index 76%
rename from subprojects/jsonrpc/build.gradle
rename to eventbus/build.gradle.kts
index 4b724b2df..138478f68 100644
--- a/subprojects/jsonrpc/build.gradle
+++ b/eventbus/build.gradle.kts
@@ -15,16 +15,12 @@
* along with AndroidIDE. If not, see .
*/
+@Suppress("JavaPluginLanguageLevel")
plugins {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
}
dependencies {
- implementation google.gson
- implementation project (path: ':logger')
+ implementation(libs.common.jkotlin)
}
\ No newline at end of file
diff --git a/gradle-plugin/build.gradle b/gradle-plugin/build.gradle.kts
similarity index 74%
rename from gradle-plugin/build.gradle
rename to gradle-plugin/build.gradle.kts
index 7360ae202..c5448200b 100644
--- a/gradle-plugin/build.gradle
+++ b/gradle-plugin/build.gradle.kts
@@ -15,17 +15,15 @@
* along with AndroidIDE. If not, see .
*/
plugins {
- id 'groovy-gradle-plugin'
+ id("groovy-gradle-plugin")
}
-group "com.itsaky.androidide"
-version "1.0.0"
+group = "com.itsaky.androidide"
+version = "1.0.0"
gradlePlugin {
- plugins {
- androidide {
- id = "com.itsaky.androidide"
- implementationClass = "com.itsaky.androidide.gradle.plugin.AndroidIDEPlugin"
- }
+ plugins.create("androidide") {
+ id = "com.itsaky.androidide"
+ implementationClass = "com.itsaky.androidide.gradle.plugin.AndroidIDEPlugin"
}
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 80af45988..daebb59f6 100755
--- a/gradle.properties
+++ b/gradle.properties
@@ -14,5 +14,4 @@
org.gradle.jvmargs=-Xmx2048M --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED -Dkotlin.daemon.jvm.options\="-Xmx2048M"
android.useAndroidX=true
android.enableJetifier=true
-androidide.tooling.supportedAgpVersion=7.2.0
android.jetifier.ignorelist=common-30.2.2.jar
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 000000000..a3dbff9a5
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,96 @@
+[versions]
+agp = "7.4.0-rc03"
+kotlin = "1.8.0"
+tree-sitter = "1.0.10"
+editor = "0.20.2"
+glide = "4.14.2"
+androidx-vectordrawable = "1.1.0"
+androidx-navigation = "2.5.3"
+
+[libraries]
+
+# AndroidIDE
+androidide-javac = { module = "io.github.itsaky:nb-javac-android", version = "17.0.0.4-SNAPSHOT" }
+androidide-ts = { module = "io.github.itsaky:android-tree-sitter", version.ref = "tree-sitter" }
+androidide-ts-java = { module = "io.github.itsaky:tree-sitter-java", version.ref = "tree-sitter" }
+androidide-ts-xml = { module = "io.github.itsaky:tree-sitter-xml", version.ref = "tree-sitter" }
+
+# Common
+common-editor = { module = "io.github.Rosemoe.sora-editor:editor", version.ref = "editor" }
+common-editor-ts = { module = "io.github.Rosemoe.sora-editor:language-treesitter", version.ref = "editor" }
+common-utilcode = { module = "com.blankj:utilcodex", version = "1.31.1" }
+common-glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
+common-glide_ap = { module = "com.github.bumptech.glide:compiler", version.ref = "glide" }
+common-jsoup = { module = "org.jsoup:jsoup", version = "1.15.3" }
+common-antlr4 = { module = "org.antlr:antlr4-runtime", version = "4.9.3" }
+common-javaparser = { module = "com.github.javaparser:javaparser-symbol-solver-core", version = "3.24.9" }
+common-lang3 = { module = "org.apache.commons:commons-lang3", version = "3.12.0" }
+common-io = { module = "commons-io:commons-io", version = "2.11.0" }
+common-kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
+common-jkotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
+common-eventbus_ap = { module = "org.greenrobot:eventbus-annotation-processor", version = "3.3.1" }
+common-javapoet = { module = "com.squareup:javapoet", version = "1.13.0" }
+
+# AndroidX
+androidx-annotation = { module = "androidx.annotation:annotation", version = "1.5.0" }
+androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.5.1" }
+androidx-cardview = { module = "androidx.cardview:cardview", version = "1.0.0" }
+androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.1.4" }
+androidx-coordinatorlayout = { module = "androidx.coordinatorlayout:coordinatorlayout", version = "1.2.0" }
+androidx-drawer = { module = "androidx.drawerlayout:drawerlayout", version = "1.1.1" }
+androidx-grid = { module = "androidx.gridlayout:gridlayout", version = "1.0.0" }
+androidx-preference = { module = "androidx.preference:preference", version = "1.2.0" }
+androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.2.1" }
+androidx-vectors = { module = "androidx.vectordrawable:vectordrawable", version.ref = "androidx-vectordrawable" }
+androidx-animated_vectors = { module = "androidx.vectordrawable:vectordrawable-animated", version.ref = "androidx-vectordrawable" }
+androidx-ktx = { module = "androidx.core:core-ktx", version = "1.9.0" }
+androidx-fragment_ktx = { module = "androidx.fragment:fragment-ktx", version = "1.5.5" }
+androidx-lib_desugaring = { module = "com.android.tools:desugar_jdk_libs", version = "1.1.6" }
+androidx-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.0" }
+androidx-nav_frag = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation" }
+androidx-nav_ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation" }
+androidx-nav_dynamic_features = { module = "androidx.navigation:navigation-dynamic-features-fragment", version.ref = "androidx-navigation" }
+
+# Google
+google-material = { module = "com.google.android.material:material", version = "1.7.0" }
+google-gson = { module = "com.google.code.gson:gson", version = "2.10" }
+google-guava = { module = "com.google.guava:guava", version = "31.1-android" }
+google-guava-jre = { module = "com.google.guava:guava", version = "31.1-jre" }
+google-auto-value-annotations = { module = "com.google.auto.value:auto-value-annotations", version = "1.10.1" }
+google-auto-value-ap = { module = "com.google.auto.value:auto-value", version = "1.10" }
+google-auto-service-annotations = { module = "com.google.auto.service:auto-service-annotations", version = "1.0.1" }
+google-auto-service = { module = "com.google.auto.service:auto-service", version = "1.0.1" }
+google-oss-licenses = { module = "com.google.android.gms:play-services-oss-licenses", version = "17.0.0" }
+google-protobuf = { module = "com.google.protobuf:protobuf-java", version = "3.10.0" }
+
+# AAPT2
+aapt2-common = { module = "com.android.tools:common", version = "30.2.2" }
+aapt2-annotations = { module = "com.android.tools:annotations", version = "30.2.2" }
+aapt2-jb-annotations = { module = "org.jetbrains:annotations", version = "13.0" }
+aapt2-proto = { module = "com.android.tools.build:aapt2-proto", version = "7.2.2-7984345" }
+
+# XML
+xml-xercesImpl = { module = "xerces:xercesImpl", version = "2.12.2" }
+xml-apis = { module = "xml-apis:xml-apis", version = "2.0.2" }
+xml-remark = { module = "com.kotcrab.remark:remark", version = "1.2.0" }
+xml-resolver = { module = "xml-resolver:xml-resolver", version = "1.2" }
+xml-lsp4j = { module = "org.eclipse.lsp4j:org.eclipse.lsp4j", version = "0.12.0" }
+xml-jb-annotations = { module = "org.jetbrains:annotations", version = "23.0.0" }
+
+# GIT
+git-jgit = { module = "org.eclipse.jgit:org.eclipse.jgit", version = "3.7.1.201504261725-r" }
+
+# Tests
+tests-junit = { module = "junit:junit", version = "4.13.2" }
+tests-google-truth = { module = "com.google.truth:truth", version = "1.1.3" }
+tests-robolectric = { module = "org.robolectric:robolectric", version = "4.9" }
+tests-androidx-test-core = { module = "androidx.test:core", version = "1.5.0" }
+tests-androidx-junit = { module = "androidx.test.ext:junit", version = "1.1.4" }
+tests-androidx-espresso = { module = "androidx.test.espresso:espresso-core", version = "3.5.0" }
+tests-mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "4.1.0" }
+
+[plugins]
+android-application = { id = "com.android.application", version.ref = "agp" }
+android-library = { id = "com.android.library", version.ref = "agp" }
+kotlin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
+oss-licenses = { id = "com.google.android.gms.oss-licenses-plugin", version = "0.10.6" }
\ No newline at end of file
diff --git a/lexers/build.gradle b/lexers/build.gradle
deleted file mode 100755
index b944887e2..000000000
--- a/lexers/build.gradle
+++ /dev/null
@@ -1,40 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.lexers"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-}
-
-dependencies {
- implementation fileTree (dir: 'libs', include: ['*.jar'])
- api common.antlr4
-
- implementation androidx.ktx
- implementation common.kotlin
-
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
-}
diff --git a/eventbus/build.gradle b/lexers/build.gradle.kts
old mode 100644
new mode 100755
similarity index 64%
rename from eventbus/build.gradle
rename to lexers/build.gradle.kts
index 2432e3fc3..a6ce12d19
--- a/eventbus/build.gradle
+++ b/lexers/build.gradle.kts
@@ -1,41 +1,36 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-dependencies {
- implementation common.jkotlin
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
\ No newline at end of file
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lexers"
+}
+
+dependencies {
+ api(libs.common.antlr4)
+
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+}
diff --git a/lexers/proguard-rules.pro b/lexers/proguard-rules.pro
index 0448f7080..5293910ce 100755
--- a/lexers/proguard-rules.pro
+++ b/lexers/proguard-rules.pro
@@ -2,7 +2,7 @@
# By default, the flags in this file are appended to flags specified
# in /Users/bogdan/Library/Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
+# directive in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/logger/build.gradle.kts b/logger/build.gradle.kts
new file mode 100644
index 000000000..084ecb902
--- /dev/null
+++ b/logger/build.gradle.kts
@@ -0,0 +1,28 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+dependencies {
+ compileOnly(projects.subprojects.frameworkStubs)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/lookup/build.gradle.kts b/lookup/build.gradle.kts
new file mode 100644
index 000000000..a0510b944
--- /dev/null
+++ b/lookup/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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(projects.logger)
+
+ implementation(libs.common.jkotlin)
+ implementation(libs.google.guava)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/lsp/api/build.gradle b/lsp/api/build.gradle
deleted file mode 100644
index a9fc5b13d..000000000
--- a/lsp/api/build.gradle
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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 .
- */
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.lsp.api"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-kapt {
- arguments {
- arg ('eventBusIndex', 'com.itsaky.androidide.events.LspApiEventsIndex')
- }
-}
-
-dependencies {
-
- kapt common.eventbus_ap
-
- implementation common.editor
- implementation project (':subprojects:fuzzysearch')
- implementation project (':eventbus-events')
-
- implementation androidx.appcompat
- implementation androidx.ktx
- implementation common.kotlin
- implementation common.utilcode
- implementation google.material
-
- api project (':subprojects:projects')
- api project (':subprojects:xml-utils')
- api project (':lookup')
- api project (':lsp:models')
- api project (':preferences')
-
- compileOnly project (':actions')
- compileOnly project (':common')
-}
-
-repositories {
- mavenCentral ()
-}
\ No newline at end of file
diff --git a/lsp/api/build.gradle.kts b/lsp/api/build.gradle.kts
new file mode 100644
index 000000000..77ea8f939
--- /dev/null
+++ b/lsp/api/build.gradle.kts
@@ -0,0 +1,55 @@
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lsp.api"
+}
+
+kapt {
+ arguments {
+ arg ("eventBusIndex", "com.itsaky.androidide.events.LspApiEventsIndex")
+ }
+}
+
+dependencies {
+
+ kapt(libs.common.eventbus.ap)
+
+ implementation(libs.common.editor)
+ implementation(projects.subprojects.fuzzysearch)
+ implementation(projects.eventbusEvents)
+
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+ implementation(libs.common.utilcode)
+ implementation(libs.google.material)
+
+ api(projects.subprojects.projects)
+ api(projects.subprojects.xmlUtils)
+ api(projects.lookup)
+ api(projects.lsp.models)
+ api(projects.preferences)
+
+ compileOnly(projects.actions)
+ compileOnly(projects.common)
+}
\ No newline at end of file
diff --git a/lsp/java/build.gradle b/lsp/java/build.gradle
deleted file mode 100644
index 884116235..000000000
--- a/lsp/java/build.gradle
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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 .
- */
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.lsp.java"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-kapt {
- arguments {
- arg ('eventBusIndex', 'com.itsaky.androidide.events.LspJavaEventsIndex')
- }
-}
-
-dependencies {
-
- kapt common.eventbus_ap
-
- implementation common.editor
- implementation common.javaparser
- implementation common.utilcode
- implementation androidx.annotation
- implementation google.guava_jre
- implementation google.gson
-
- compileOnly androidx.appcompat
- compileOnly google.material
- compileOnly project (':actions')
- compileOnly project (':common')
-
- implementation project (path: ':resources')
- implementation project (path: ':lsp:api')
- implementation project (path: ':subprojects:javac')
- implementation project (path: ':subprojects:javac-services')
- implementation project (path: ':subprojects:google-java-format')
-
- implementation androidx.ktx
- implementation common.kotlin
-
- testImplementation project (':lsp:testing')
- testImplementation project (':common')
- testImplementation project (':actions')
- testImplementation project (':subprojects:javac')
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
- androidTestImplementation tests.androidx_junit
- androidTestImplementation tests.androidx_espresso
- androidTestImplementation tests.google_truth
-}
-
-repositories {
- mavenCentral ()
-}
\ No newline at end of file
diff --git a/lsp/java/build.gradle.kts b/lsp/java/build.gradle.kts
new file mode 100644
index 000000000..0978b8889
--- /dev/null
+++ b/lsp/java/build.gradle.kts
@@ -0,0 +1,72 @@
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lsp.java"
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
+}
+
+kapt {
+ arguments {
+ arg ("eventBusIndex", "com.itsaky.androidide.events.LspJavaEventsIndex")
+ }
+}
+
+dependencies {
+
+ kapt(libs.common.eventbus.ap)
+
+ implementation(libs.common.editor)
+ implementation(libs.common.javaparser)
+ implementation(libs.common.utilcode)
+ implementation(libs.androidx.annotation)
+ implementation(libs.google.guava.jre)
+ implementation(libs.google.gson)
+
+ compileOnly(libs.androidx.appcompat)
+ compileOnly(libs.google.material)
+ compileOnly(projects.actions)
+ compileOnly(projects.common)
+
+ implementation(projects.resources)
+ implementation(projects.lsp.api)
+ implementation(projects.subprojects.javac)
+ implementation(projects.subprojects.javacServices)
+ implementation(projects.subprojects.googleJavaFormat)
+
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+
+ testImplementation(projects.lsp.testing)
+ testImplementation(projects.common)
+ testImplementation(projects.actions)
+ testImplementation(projects.subprojects.javac)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+ androidTestImplementation(libs.tests.androidx.junit)
+ androidTestImplementation(libs.tests.androidx.espresso)
+ androidTestImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/lsp/models/build.gradle b/lsp/models/build.gradle
deleted file mode 100644
index 7af592365..000000000
--- a/lsp/models/build.gradle
+++ /dev/null
@@ -1,44 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.lsp.models"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation common.editor
- implementation project (':common')
- implementation project (':subprojects:fuzzysearch')
-
- implementation androidx.appcompat
- implementation androidx.ktx
- implementation common.kotlin
- implementation common.utilcode
-}
-
-repositories {
- mavenCentral ()
-}
\ No newline at end of file
diff --git a/lsp/models/build.gradle.kts b/lsp/models/build.gradle.kts
new file mode 100644
index 000000000..a4bd80433
--- /dev/null
+++ b/lsp/models/build.gradle.kts
@@ -0,0 +1,19 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lsp.models"
+}
+
+dependencies {
+ implementation(libs.common.editor)
+ implementation(projects.common)
+ implementation(projects.subprojects.fuzzysearch)
+
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+ implementation(libs.common.utilcode)
+}
\ No newline at end of file
diff --git a/lsp/testing/build.gradle b/lsp/testing/build.gradle
deleted file mode 100644
index 6e16c3e6e..000000000
--- a/lsp/testing/build.gradle
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 .
- */
-
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- namespace "com.itsaky.androidide.lsp.testing"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation androidx.ktx
- implementation common.kotlin
-
- implementation project (':lsp:api')
- implementation project (':actions')
- implementation project (':common')
- implementation project (':eventbus-android')
- implementation project (':subprojects:tooling-api-testing')
- implementation common.editor
- implementation tests.junit
- implementation tests.google_truth
- implementation tests.robolectric
- implementation project (path: ':actions')
-}
\ No newline at end of file
diff --git a/lsp/testing/build.gradle.kts b/lsp/testing/build.gradle.kts
new file mode 100644
index 000000000..2b031874b
--- /dev/null
+++ b/lsp/testing/build.gradle.kts
@@ -0,0 +1,41 @@
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lsp.testing"
+}
+
+dependencies {
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+
+ implementation(projects.lsp.api)
+ implementation(projects.actions)
+ implementation(projects.common)
+ implementation(projects.eventbusAndroid)
+ implementation(projects.subprojects.toolingApiTesting)
+ implementation(libs.common.editor)
+ implementation(libs.tests.junit)
+ implementation(libs.tests.google.truth)
+ implementation(libs.tests.robolectric)
+ implementation(projects.actions)
+}
\ No newline at end of file
diff --git a/lsp/xml/build.gradle b/lsp/xml/build.gradle
deleted file mode 100644
index 76923e431..000000000
--- a/lsp/xml/build.gradle
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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 {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.lsp.xml"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-kapt {
- arguments {
- arg ('eventBusIndex', 'com.itsaky.androidide.events.LspXmlEventsIndex')
- }
-}
-
-dependencies {
-
- kapt common.eventbus_ap
-
- implementation common.editor
- implementation common.utilcode
-
- implementation project (':actions')
- implementation project (':lsp:api')
- implementation project (':lexers')
- implementation project (':subprojects:xml-dom')
- implementation project (':subprojects:xml-formatter')
- implementation project (':subprojects:xml-utils')
-
- implementation androidx.ktx
- implementation common.kotlin
- implementation google.material
-
- testImplementation project (':subprojects:projects')
- testImplementation project (':subprojects:tooling-api')
- testImplementation project (':lsp:testing')
- testImplementation project (':common')
- testImplementation project (':actions')
- testImplementation tests.androidx_test_core
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
- androidTestImplementation tests.androidx_junit
- androidTestImplementation tests.androidx_espresso
- androidTestImplementation tests.google_truth
-
- compileOnly project (':common')
-
- compileOnly common.antlr4
-}
\ No newline at end of file
diff --git a/lsp/xml/build.gradle.kts b/lsp/xml/build.gradle.kts
new file mode 100644
index 000000000..8483f5134
--- /dev/null
+++ b/lsp/xml/build.gradle.kts
@@ -0,0 +1,67 @@
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.lsp.xml"
+}
+
+kapt {
+ arguments {
+ arg ("eventBusIndex", "com.itsaky.androidide.events.LspXmlEventsIndex")
+ }
+}
+
+dependencies {
+
+ kapt(libs.common.eventbus.ap)
+
+ implementation(libs.common.editor)
+ implementation(libs.common.utilcode)
+
+ implementation(projects.actions)
+ implementation(projects.lsp.api)
+ implementation(projects.lexers)
+ implementation(projects.subprojects.xmlDom)
+ implementation(projects.subprojects.xmlFormatter)
+ implementation(projects.subprojects.xmlUtils)
+
+ implementation(libs.androidx.ktx)
+ implementation(libs.common.kotlin)
+ implementation(libs.google.material)
+
+ testImplementation(projects.subprojects.projects)
+ testImplementation(projects.subprojects.toolingApi)
+ testImplementation(projects.lsp.testing)
+ testImplementation(projects.common)
+ testImplementation(projects.actions)
+ testImplementation(libs.tests.androidx.test.core)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+ androidTestImplementation(libs.tests.androidx.junit)
+ androidTestImplementation(libs.tests.androidx.espresso)
+ androidTestImplementation(libs.tests.google.truth)
+
+ compileOnly(projects.common)
+
+ compileOnly(libs.common.antlr4)
+}
\ No newline at end of file
diff --git a/preferences/build.gradle b/preferences/build.gradle
deleted file mode 100644
index 56dc422f7..000000000
--- a/preferences/build.gradle
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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 .
- */
-
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-parcelize'
-
-android {
- namespace "com.itsaky.androidide.preferences"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildFeatures {
- viewBinding true
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation project(path: ':common')
- implementation project(path: ':eventbus-events')
- implementation project(path: ':resources')
- implementation project(path: ':shared')
- implementation androidx.annotation
- implementation androidx.preference
- implementation google.material
-}
\ No newline at end of file
diff --git a/preferences/build.gradle.kts b/preferences/build.gradle.kts
new file mode 100644
index 000000000..b147c032a
--- /dev/null
+++ b/preferences/build.gradle.kts
@@ -0,0 +1,36 @@
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+ id("kotlin-parcelize")
+}
+
+android {
+ namespace = "com.itsaky.androidide.preferences"
+}
+
+dependencies {
+ implementation(projects.common)
+ implementation(projects.eventbusEvents)
+ implementation(projects.resources)
+ implementation(projects.shared)
+ implementation(libs.androidx.annotation)
+ implementation(libs.androidx.preference)
+ implementation(libs.google.material)
+}
\ No newline at end of file
diff --git a/resources/build.gradle b/resources/build.gradle
deleted file mode 100644
index 86112c7c0..000000000
--- a/resources/build.gradle
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 .
- */
-
-apply plugin: 'com.android.library'
-
-android {
- namespace "com.itsaky.androidide.resources"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-}
-
-dependencies {
- implementation androidx.appcompat
- implementation androidx.preference
- implementation androidx.splashscreen
- implementation google.material
-}
\ No newline at end of file
diff --git a/resources/build.gradle.kts b/resources/build.gradle.kts
new file mode 100644
index 000000000..50d800767
--- /dev/null
+++ b/resources/build.gradle.kts
@@ -0,0 +1,31 @@
+/*
+ * 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 {
+ id("com.android.library")
+}
+
+android {
+ namespace = "com.itsaky.androidide.resources"
+}
+
+dependencies {
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.preference)
+ implementation(libs.androidx.splashscreen)
+ implementation(libs.google.material)
+}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100755
index e4f45af36..000000000
--- a/settings.gradle
+++ /dev/null
@@ -1,50 +0,0 @@
-rootProject.name = "AndroidIDE"
-include ':annotation-processors'
-include ':annotations'
-include ':actions'
-include ':app'
-include ':common'
-include ':editor'
-include ':emulatorview'
-include ':eventbus'
-include ':eventbus-android'
-include ':eventbus-events'
-include ':lexers'
-include ':logger'
-include ':lookup'
-include ':preferences'
-include ':resources'
-include ':shared'
-include ':treeview'
-include ':uidesigner'
-include ':xml-inflater'
-
-include ':gradle-plugin'
-
-include ':lsp:api'
-include ':lsp:models'
-include ':lsp:java'
-include ':lsp:xml'
-include ':lsp:testing'
-
-include ':subprojects:aaptcompiler'
-include ':subprojects:builder-model-impl'
-include ':subprojects:classfile'
-include ':subprojects:framework-stubs'
-include ':subprojects:fuzzysearch'
-include ':subprojects:google-java-format'
-include ':subprojects:javac'
-include ':subprojects:javac-services'
-include ':subprojects:jaxp'
-include ':subprojects:jdt'
-include ':subprojects:jsonrpc'
-include ':subprojects:layoutlib-api'
-include ':subprojects:projects'
-include ':subprojects:tooling-api'
-include ':subprojects:tooling-api-events'
-include ':subprojects:tooling-api-impl'
-include ':subprojects:tooling-api-model'
-include ':subprojects:tooling-api-testing'
-include ':subprojects:xml-dom'
-include ':subprojects:xml-formatter'
-include ':subprojects:xml-utils'
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100755
index 000000000..4dc85849a
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,89 @@
+@file:Suppress("UnstableApiUsage")
+
+enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
+
+pluginManagement {
+ includeBuild("build-logic")
+ repositories {
+ gradlePluginPortal()
+ google()
+ mavenCentral()
+ }
+}
+
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+
+ maven {
+ url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
+ }
+
+ maven {
+ url = uri("https://jitpack.io")
+ }
+
+ maven {
+ url = uri("https://repo.gradle.org/gradle/libs-releases/")
+ }
+
+ maven {
+ url = uri("https://repo.eclipse.org/content/repositories/lemminx-snapshots/")
+ }
+ }
+}
+
+rootProject.name = "AndroidIDE"
+
+include(
+ ":annotation-processors",
+ ":annotations",
+ ":actions",
+ ":app",
+ ":common",
+ ":editor",
+ ":emulatorview",
+ ":eventbus",
+ ":eventbus-android",
+ ":eventbus-events",
+ ":lexers",
+ ":logger",
+ ":lookup",
+ ":preferences",
+ ":resources",
+ ":shared",
+ ":treeview",
+ ":uidesigner",
+
+ ":gradle-plugin",
+
+ ":lsp:api",
+ ":lsp:models",
+ ":lsp:java",
+ ":lsp:xml",
+ ":lsp:testing",
+
+ ":subprojects:aaptcompiler",
+ ":subprojects:builder-model-impl",
+ ":subprojects:classfile",
+ ":subprojects:framework-stubs",
+ ":subprojects:fuzzysearch",
+ ":subprojects:google-java-format",
+ ":subprojects:javac",
+ ":subprojects:javac-services",
+ ":subprojects:jaxp",
+ ":subprojects:jdt",
+ ":subprojects:jsonrpc",
+ ":subprojects:layoutlib-api",
+ ":subprojects:projects",
+ ":subprojects:tooling-api",
+ ":subprojects:tooling-api-events",
+ ":subprojects:tooling-api-impl",
+ ":subprojects:tooling-api-model",
+ ":subprojects:tooling-api-testing",
+ ":subprojects:xml-dom",
+ ":subprojects:xml-formatter",
+ ":subprojects:xml-utils"
+)
diff --git a/shared/build.gradle b/shared/build.gradle
deleted file mode 100644
index cb66ae8a0..000000000
--- a/shared/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-plugins {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation androidx.annotation
- implementation google.guava
- implementation project (path: ':logger')
-}
\ No newline at end of file
diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts
new file mode 100644
index 000000000..9d75943a6
--- /dev/null
+++ b/shared/build.gradle.kts
@@ -0,0 +1,28 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.androidx.annotation)
+ implementation(libs.google.guava)
+ implementation(projects.logger)
+}
\ No newline at end of file
diff --git a/subprojects/aaptcompiler/build.gradle b/subprojects/aaptcompiler/build.gradle
deleted file mode 100644
index 47098a1a6..000000000
--- a/subprojects/aaptcompiler/build.gradle
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.aaptcompiler"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation common.kotlin
- implementation project (':logger')
- implementation project (':subprojects:jaxp')
-
- api aapt.annotations
- api aapt.common
- api aapt.proto
- api google.protobuf
- api project (':subprojects:layoutlib-api')
-
- testImplementation tests.junit
- testImplementation tests.robolectric
- testImplementation tests.google_truth
-}
\ No newline at end of file
diff --git a/lookup/build.gradle b/subprojects/aaptcompiler/build.gradle.kts
similarity index 54%
rename from lookup/build.gradle
rename to subprojects/aaptcompiler/build.gradle.kts
index 32e8974fa..cf9a09eef 100644
--- a/lookup/build.gradle
+++ b/subprojects/aaptcompiler/build.gradle.kts
@@ -16,37 +16,32 @@
*/
plugins {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
+ id("com.android.library")
+ id("kotlin-android")
}
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
+android {
+ namespace = "com.itsaky.androidide.aaptcompiler"
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ }
+ }
}
dependencies {
- implementation project (path: ':logger')
+ implementation(libs.common.kotlin)
+ implementation(projects.logger)
+ implementation(projects.subprojects.jaxp)
- implementation common.jkotlin
- implementation google.guava
+ api(libs.aapt2.annotations)
+ api(libs.aapt2.common)
+ api(libs.aapt2.proto)
+ api(libs.google.protobuf)
+ api(projects.subprojects.layoutlibApi)
- testImplementation tests.junit
- testImplementation tests.google_truth
-}
-
-repositories {
- mavenCentral ()
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.robolectric)
+ testImplementation(libs.tests.google.truth)
}
\ No newline at end of file
diff --git a/subprojects/builder-model-impl/build.gradle.kts b/subprojects/builder-model-impl/build.gradle.kts
new file mode 100644
index 000000000..4d15513f5
--- /dev/null
+++ b/subprojects/builder-model-impl/build.gradle.kts
@@ -0,0 +1,27 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.common.jkotlin)
+ api("com.android.tools.build:builder-model:7.3.1")
+}
\ No newline at end of file
diff --git a/subprojects/classfile/build.gradle.kts b/subprojects/classfile/build.gradle.kts
new file mode 100644
index 000000000..aa86f2db4
--- /dev/null
+++ b/subprojects/classfile/build.gradle.kts
@@ -0,0 +1,29 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.common.jkotlin)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/subprojects/framework-stubs/build.gradle.kts b/subprojects/framework-stubs/build.gradle.kts
new file mode 100644
index 000000000..2b3f9a142
--- /dev/null
+++ b/subprojects/framework-stubs/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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+dependencies {
+ compileOnlyApi(files ("libs/android.jar"))
+}
\ No newline at end of file
diff --git a/subprojects/fuzzysearch/build.gradle.kts b/subprojects/fuzzysearch/build.gradle.kts
new file mode 100644
index 000000000..a79f4155d
--- /dev/null
+++ b/subprojects/fuzzysearch/build.gradle.kts
@@ -0,0 +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 .
+ */
+
+plugins {
+ @Suppress("JavaPluginLanguageLevel")
+ id("java-library")
+}
\ No newline at end of file
diff --git a/subprojects/google-java-format/build.gradle b/subprojects/google-java-format/build.gradle.kts
similarity index 76%
rename from subprojects/google-java-format/build.gradle
rename to subprojects/google-java-format/build.gradle.kts
index a2eff7e37..bea1b1e0a 100644
--- a/subprojects/google-java-format/build.gradle
+++ b/subprojects/google-java-format/build.gradle.kts
@@ -15,8 +15,9 @@
* along with AndroidIDE. If not, see .
*/
+@Suppress("JavaPluginLanguageLevel")
plugins {
- id 'java-library'
+ id("java-library")
}
java {
@@ -25,10 +26,9 @@ java {
}
dependencies {
- implementation google.guava_jre
- implementation google.auto_val_annotations
+ implementation(libs.google.guava.jre)
+ implementation(libs.google.auto.value.annotations)
+ implementation(projects.subprojects.javac)
- annotationProcessor google.auto_val_ap
-
- implementation project (path: ':subprojects:javac')
+ annotationProcessor(libs.google.auto.value.ap)
}
\ No newline at end of file
diff --git a/subprojects/javac-services/build.gradle b/subprojects/javac-services/build.gradle
deleted file mode 100644
index c675667d4..000000000
--- a/subprojects/javac-services/build.gradle
+++ /dev/null
@@ -1,48 +0,0 @@
-plugins {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.javac.services"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- // Must be set to Java 8
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation common.kotlin
- implementation common.utilcode
- implementation google.guava
- implementation project (':common')
- implementation project(path: ':logger')
-
- api project(path: ':subprojects:javac')
-
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
-}
\ No newline at end of file
diff --git a/subprojects/javac-services/build.gradle.kts b/subprojects/javac-services/build.gradle.kts
new file mode 100644
index 000000000..72e51d802
--- /dev/null
+++ b/subprojects/javac-services/build.gradle.kts
@@ -0,0 +1,34 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.javac.services"
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ }
+ }
+
+ // Must be set to Java 8
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation(libs.common.kotlin)
+ implementation(libs.common.utilcode)
+ implementation(libs.google.guava)
+ implementation(projects.common)
+ implementation(projects.logger)
+
+ api(projects.subprojects.javac)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+}
\ No newline at end of file
diff --git a/subprojects/javac/build.gradle b/subprojects/javac/build.gradle.kts
similarity index 84%
rename from subprojects/javac/build.gradle
rename to subprojects/javac/build.gradle.kts
index 053ce8747..adabae9fa 100644
--- a/subprojects/javac/build.gradle
+++ b/subprojects/javac/build.gradle.kts
@@ -14,8 +14,10 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see .
*/
+
+@Suppress("JavaPluginLanguageLevel")
plugins {
- id 'java-library'
+ id("java-library")
}
java {
@@ -25,13 +27,13 @@ java {
configurations.all {
resolutionStrategy {
- cacheChangingModulesFor 0, 'seconds'
+ cacheChangingModulesFor(0, "seconds")
}
}
dependencies {
- api (androidide.javac) {
- changing = true
+ api (libs.androidide.javac) {
+ isChanging = true
}
}
\ No newline at end of file
diff --git a/subprojects/jaxp/build.gradle b/subprojects/jaxp/build.gradle
deleted file mode 100644
index 59e58119b..000000000
--- a/subprojects/jaxp/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-plugins {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = JavaVersion.VERSION_1_8
- targetCompatibility = JavaVersion.VERSION_1_8
-}
\ No newline at end of file
diff --git a/subprojects/fuzzysearch/build.gradle b/subprojects/jaxp/build.gradle.kts
similarity index 81%
rename from subprojects/fuzzysearch/build.gradle
rename to subprojects/jaxp/build.gradle.kts
index 9d5832170..fd5eeb8be 100644
--- a/subprojects/fuzzysearch/build.gradle
+++ b/subprojects/jaxp/build.gradle.kts
@@ -1,25 +1,26 @@
-/*
- * 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 {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+java {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
}
\ No newline at end of file
diff --git a/subprojects/jdt/build.gradle b/subprojects/jdt/build.gradle
deleted file mode 100644
index 84d4dfed0..000000000
--- a/subprojects/jdt/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-plugins {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
\ No newline at end of file
diff --git a/subprojects/jdt/build.gradle.kts b/subprojects/jdt/build.gradle.kts
new file mode 100644
index 000000000..51a84e9d1
--- /dev/null
+++ b/subprojects/jdt/build.gradle.kts
@@ -0,0 +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 .
+ */
+
+plugins {
+ @Suppress("JavaPluginLanguageLevel")
+ id("java-library")
+}
\ No newline at end of file
diff --git a/subprojects/jsonrpc/build.gradle.kts b/subprojects/jsonrpc/build.gradle.kts
new file mode 100644
index 000000000..fab7264f0
--- /dev/null
+++ b/subprojects/jsonrpc/build.gradle.kts
@@ -0,0 +1,26 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+dependencies {
+ implementation(libs.google.gson)
+ implementation(projects.logger)
+}
\ No newline at end of file
diff --git a/subprojects/layoutlib-api/build.gradle b/subprojects/layoutlib-api/build.gradle
deleted file mode 100644
index 99eac5946..000000000
--- a/subprojects/layoutlib-api/build.gradle
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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 {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.layoutlib"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation common.jkotlin
-
- implementation aapt.annotations
- implementation aapt.jb_annotations
-
- implementation google.guava_jre
-
- testImplementation tests.junit
- testImplementation tests.google_truth
-}
\ No newline at end of file
diff --git a/subprojects/builder-model-impl/build.gradle b/subprojects/layoutlib-api/build.gradle.kts
similarity index 60%
rename from subprojects/builder-model-impl/build.gradle
rename to subprojects/layoutlib-api/build.gradle.kts
index 77e6b19fe..70ccf6490 100644
--- a/subprojects/builder-model-impl/build.gradle
+++ b/subprojects/layoutlib-api/build.gradle.kts
@@ -1,43 +1,42 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation common.jkotlin
- api "com.android.tools.build:builder-model:7.3.1"
+/*
+ * 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 {
+ id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace = "com.itsaky.androidide.layoutlib"
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ }
+ }
+}
+
+dependencies {
+ implementation(libs.common.jkotlin)
+
+ implementation(libs.aapt2.annotations)
+ implementation(libs.aapt2.jb.annotations)
+
+ implementation(libs.google.guava.jre)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
}
\ No newline at end of file
diff --git a/subprojects/projects/build.gradle b/subprojects/projects/build.gradle
deleted file mode 100644
index 549fd6d8b..000000000
--- a/subprojects/projects/build.gradle
+++ /dev/null
@@ -1,70 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-parcelize'
-
-android {
- namespace "com.itsaky.androidide.projects"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-kapt {
- arguments {
- arg ('eventBusIndex', 'com.itsaky.androidide.events.ProjectsApiEventsIndex')
- }
-}
-
-dependencies {
-
- kapt common.eventbus_ap
-
- api project (path: ':eventbus')
- api project (path: ':eventbus-events')
- api project (path: ':subprojects:tooling-api')
-
- implementation project (path: ':common')
- implementation project (path: ':logger')
- implementation project (path: ':lookup')
- implementation project (path: ':shared')
- implementation project (path: ':subprojects:javac-services')
- implementation project (path: ':subprojects:xml-utils')
-
- implementation common.io
- implementation google.guava
-
- testImplementation project (path: ':subprojects:tooling-api-testing')
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
- androidTestImplementation tests.androidx_junit
- androidTestImplementation tests.androidx_espresso
- androidTestImplementation tests.google_truth
-}
\ No newline at end of file
diff --git a/subprojects/projects/build.gradle.kts b/subprojects/projects/build.gradle.kts
new file mode 100644
index 000000000..cb46e4f62
--- /dev/null
+++ b/subprojects/projects/build.gradle.kts
@@ -0,0 +1,42 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+ id("kotlin-parcelize")
+}
+
+android {
+ namespace = "com.itsaky.androidide.projects"
+}
+
+kapt {
+ arguments {
+ arg ("eventBusIndex", "com.itsaky.androidide.events.ProjectsApiEventsIndex")
+ }
+}
+
+dependencies {
+
+ kapt(libs.common.eventbus.ap)
+
+ api(projects.eventbus)
+ api(projects.eventbusEvents)
+ api(projects.subprojects.toolingApi)
+
+ implementation(projects.common)
+ implementation(projects.logger)
+ implementation(projects.lookup)
+ implementation(projects.shared)
+ implementation(projects.subprojects.javacServices)
+ implementation(projects.subprojects.xmlUtils)
+
+ implementation(libs.common.io)
+ implementation(libs.google.guava)
+
+ testImplementation(projects.subprojects.toolingApiTesting)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+ androidTestImplementation(libs.tests.androidx.junit)
+ androidTestImplementation(libs.tests.androidx.espresso)
+ androidTestImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/subprojects/tooling-api-events/build.gradle b/subprojects/tooling-api-events/build.gradle
deleted file mode 100644
index d2d964174..000000000
--- a/subprojects/tooling-api-events/build.gradle
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-dependencies {
- implementation common.jkotlin
-}
\ No newline at end of file
diff --git a/subprojects/tooling-api-events/build.gradle.kts b/subprojects/tooling-api-events/build.gradle.kts
new file mode 100644
index 000000000..77f419531
--- /dev/null
+++ b/subprojects/tooling-api-events/build.gradle.kts
@@ -0,0 +1,26 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.common.jkotlin)
+}
\ No newline at end of file
diff --git a/subprojects/tooling-api-impl/build.gradle b/subprojects/tooling-api-impl/build.gradle
deleted file mode 100644
index 28352121b..000000000
--- a/subprojects/tooling-api-impl/build.gradle
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.apache.tools.ant.filters.ReplaceTokens
-
-plugins {
- id 'com.github.johnrengelman.shadow' version '7.1.2'
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-jar {
- manifest {
- attributes ('Main-Class': 'com.itsaky.androidide.tooling.impl.Main')
- }
-}
-
-task processSource (type: Sync) {
- from sourceSets.main.java
- filter (ReplaceTokens, tokens: [AGP_VERSION: project.property ("androidide.tooling.supportedAgpVersion")])
- into "$buildDir/src"
-}
-
-compileJava {
- source = processSource.outputs
-}
-
-shadowJar {
- archiveBaseName.set ('tooling-api')
- archiveClassifier.set ('all')
-}
-
-task copyJarToAssets (type: Copy) {
- from project.file ("${project.buildDir}/libs/tooling-api-all.jar")
- into project.rootProject.file ("app/src/main/assets/data/common/")
-}
-
-project.tasks.jar.finalizedBy shadowJar
-project.tasks.shadowJar.finalizedBy copyJarToAssets
-
-repositories {
- maven {
- url 'https://repo.gradle.org/gradle/libs-releases/'
- }
-}
-
-dependencies {
- implementation project (path: ':subprojects:tooling-api')
-
- implementation common.jkotlin
- implementation xml.xercesImpl
- implementation xml.apis
- implementation 'org.gradle:gradle-tooling-api:7.6'
-
- testImplementation project (path: ':subprojects:tooling-api-testing')
- testImplementation tests.junit
- testImplementation tests.google_truth
-
- runtimeOnly 'org.slf4j:slf4j-api:2.0.6'
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
\ No newline at end of file
diff --git a/subprojects/tooling-api-impl/build.gradle.kts b/subprojects/tooling-api-impl/build.gradle.kts
new file mode 100644
index 000000000..50af5cf33
--- /dev/null
+++ b/subprojects/tooling-api-impl/build.gradle.kts
@@ -0,0 +1,58 @@
+/*
+ * 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.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("com.github.johnrengelman.shadow") version "7.1.2"
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+tasks.withType {
+ manifest { attributes("Main-Class" to "com.itsaky.androidide.tooling.impl.Main") }
+}
+
+tasks.withType {
+ archiveBaseName.set("tooling-api")
+ archiveClassifier.set("all")
+}
+
+tasks.register("copyJarToAssets") {
+ from(project.file("${project.buildDir}/libs/tooling-api-all.jar"))
+ into(project.rootProject.file("app/src/main/assets/data/common/"))
+}
+
+project.tasks.getByName("jar") { finalizedBy("shadowJar") }
+
+project.tasks.getByName("shadowJar") { finalizedBy("copyJarToAssets") }
+
+dependencies {
+ implementation(projects.subprojects.toolingApi)
+
+ implementation(libs.common.jkotlin)
+ implementation(libs.xml.xercesImpl)
+ implementation(libs.xml.apis)
+ implementation("org.gradle:gradle-tooling-api:7.6")
+
+ testImplementation(projects.subprojects.toolingApiTesting)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+
+ runtimeOnly("org.slf4j:slf4j-api:2.0.6")
+}
diff --git a/subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java b/subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java
index d830999b7..f46d62bc7 100644
--- a/subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java
+++ b/subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java
@@ -41,7 +41,7 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
public class Main {
- public static final String MIN_SUPPORTED_AGP_VERSION = "@AGP_VERSION@";
+ public static final String MIN_SUPPORTED_AGP_VERSION = "7.2.0";
private static final ILogger LOG = newInstance("ToolingApiMain");
public static IToolingApiClient client;
public static Future future;
diff --git a/subprojects/tooling-api-model/build.gradle b/subprojects/tooling-api-model/build.gradle
deleted file mode 100644
index d6c0b7cf0..000000000
--- a/subprojects/tooling-api-model/build.gradle
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-repositories {
- maven {
- url 'https://repo.gradle.org/gradle/libs-releases/'
- }
-}
-
-dependencies {
- implementation project (path: ':logger')
-
- api project (path: ':subprojects:jsonrpc')
- api project (path: ':subprojects:xml-dom')
- api project (path: ':subprojects:builder-model-impl')
-
- implementation common.jkotlin
-}
-
-task copyToTestDir (type: Copy) {
- from "$project.buildDir.absolutePath/libs/tooling-api-model.jar"
- into "${project.rootProject.file ("tests/test-home/.androidide/init").absolutePath}/"
- rename {
- "model.jar"
- }
-
- outputs.upToDateWhen {
- false
- }
-}
-
-project.tasks.jar {
- finalizedBy copyToTestDir
- outputs.upToDateWhen {
- false
- }
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
\ No newline at end of file
diff --git a/subprojects/xml-dom/build.gradle b/subprojects/tooling-api-model/build.gradle.kts
similarity index 51%
rename from subprojects/xml-dom/build.gradle
rename to subprojects/tooling-api-model/build.gradle.kts
index 4a6762977..407bb3ec9 100644
--- a/subprojects/xml-dom/build.gradle
+++ b/subprojects/tooling-api-model/build.gradle.kts
@@ -14,30 +14,32 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see .
*/
-
+
+@Suppress("JavaPluginLanguageLevel")
plugins {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
+ id ("java-library")
+ id ("org.jetbrains.kotlin.jvm")
}
dependencies {
- implementation project (path: ':shared')
- implementation project (path: ':subprojects:jsonrpc')
- implementation project(path: ':subprojects:jaxp')
+ implementation(projects.logger)
- implementation common.jsoup
- implementation google.guava_jre
- implementation google.gson
- implementation xml.remark
- implementation xml.resolver
+ api(projects.subprojects.jsonrpc)
+ api(projects.subprojects.xmlDom)
+ api(projects.subprojects.builderModelImpl)
+
+ implementation(libs.common.jkotlin)
}
-repositories {
- maven {
- url "https://repo.eclipse.org/content/repositories/lemminx-snapshots/"
- }
+tasks.register < Copy > ("copyToTestDir") {
+ from ("$project.buildDir.absolutePath/libs/tooling-api-model.jar")
+ into ("${project.rootProject.file ("tests/test-home/.androidide/init").absolutePath}/")
+ rename { "model.jar" }
+
+ outputs.upToDateWhen { false }
+}
+
+project.tasks.jar {
+ finalizedBy ("copyToTestDir")
+ outputs.upToDateWhen { false }
}
\ No newline at end of file
diff --git a/subprojects/tooling-api-testing/build.gradle b/subprojects/tooling-api-testing/build.gradle
deleted file mode 100644
index e91d63776..000000000
--- a/subprojects/tooling-api-testing/build.gradle
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-dependencies {
- implementation common.jkotlin
- implementation project (path: ':logger')
- implementation project (path: ':subprojects:tooling-api')
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
\ No newline at end of file
diff --git a/subprojects/tooling-api-testing/build.gradle.kts b/subprojects/tooling-api-testing/build.gradle.kts
new file mode 100644
index 000000000..c7a40b59d
--- /dev/null
+++ b/subprojects/tooling-api-testing/build.gradle.kts
@@ -0,0 +1,28 @@
+/*
+ * 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 .
+ */
+
+ @Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ implementation(libs.common.jkotlin)
+ implementation(projects.logger)
+ implementation(projects.subprojects.toolingApi)
+}
\ No newline at end of file
diff --git a/subprojects/tooling-api/build.gradle b/subprojects/tooling-api/build.gradle
deleted file mode 100644
index 52a8bc243..000000000
--- a/subprojects/tooling-api/build.gradle
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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 {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-dependencies {
- api project (path: ':logger')
- api project (path: ':subprojects:jsonrpc')
- api project (path: ':subprojects:tooling-api-model')
- api project (path: ':subprojects:tooling-api-events')
-
- api google.gson
- implementation common.jkotlin
-
- testImplementation tests.junit
- testImplementation tests.google_truth
-}
-
-repositories {
- mavenCentral ()
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
\ No newline at end of file
diff --git a/subprojects/tooling-api/build.gradle.kts b/subprojects/tooling-api/build.gradle.kts
new file mode 100644
index 000000000..a46e84cea
--- /dev/null
+++ b/subprojects/tooling-api/build.gradle.kts
@@ -0,0 +1,35 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+dependencies {
+ api(projects.logger)
+ api(projects.subprojects.jsonrpc)
+ api(projects.subprojects.toolingApiModel)
+ api(projects.subprojects.toolingApiEvents)
+
+ api(libs.google.gson)
+ implementation(libs.common.jkotlin)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+}
\ No newline at end of file
diff --git a/subprojects/xml-dom/build.gradle.kts b/subprojects/xml-dom/build.gradle.kts
new file mode 100644
index 000000000..217b3436a
--- /dev/null
+++ b/subprojects/xml-dom/build.gradle.kts
@@ -0,0 +1,33 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+dependencies {
+ implementation(projects.shared)
+ implementation(projects.subprojects.jsonrpc)
+ implementation(projects.subprojects.jaxp)
+
+ implementation(libs.common.jsoup)
+ implementation(libs.google.guava.jre)
+ implementation(libs.google.gson)
+ implementation(libs.xml.remark)
+ implementation(libs.xml.resolver)
+}
\ No newline at end of file
diff --git a/subprojects/xml-formatter/build.gradle b/subprojects/xml-formatter/build.gradle
deleted file mode 100644
index 154a666c4..000000000
--- a/subprojects/xml-formatter/build.gradle
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 {
- id 'java-library'
-}
-
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-dependencies {
- implementation aapt.common
- implementation google.guava_jre
- implementation xml.jb_annotations
-}
\ No newline at end of file
diff --git a/subprojects/xml-formatter/build.gradle.kts b/subprojects/xml-formatter/build.gradle.kts
new file mode 100644
index 000000000..8d455b0eb
--- /dev/null
+++ b/subprojects/xml-formatter/build.gradle.kts
@@ -0,0 +1,27 @@
+/*
+ * 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 .
+ */
+
+@Suppress("JavaPluginLanguageLevel")
+plugins {
+ id("java-library")
+}
+
+dependencies {
+ implementation(libs.aapt2.common)
+ implementation(libs.google.guava.jre)
+ implementation(libs.xml.jb.annotations)
+}
\ No newline at end of file
diff --git a/subprojects/xml-utils/build.gradle b/subprojects/xml-utils/build.gradle
deleted file mode 100644
index 9ec613907..000000000
--- a/subprojects/xml-utils/build.gradle
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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 {
- id 'com.android.library'
- id 'kotlin-android'
-}
-
-android {
- namespace "com.itsaky.androidide.xml"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
- implementation common.kotlin
- implementation project(path: ':logger')
- implementation project(path: ':subprojects:jdt')
-
- api project(path: ':lookup')
- api project(path: ':subprojects:aaptcompiler')
-
- testImplementation tests.junit
- testImplementation tests.robolectric
- testImplementation tests.google_truth
-}
\ No newline at end of file
diff --git a/subprojects/classfile/build.gradle b/subprojects/xml-utils/build.gradle.kts
similarity index 62%
rename from subprojects/classfile/build.gradle
rename to subprojects/xml-utils/build.gradle.kts
index b1d172c5d..8b1a8d585 100644
--- a/subprojects/classfile/build.gradle
+++ b/subprojects/xml-utils/build.gradle.kts
@@ -16,30 +16,23 @@
*/
plugins {
- id 'java-library'
- id 'org.jetbrains.kotlin.jvm'
+ id("com.android.library")
+ id("kotlin-android")
}
-java {
- sourceCompatibility = rootProject.ext.javaSourceVersion
- targetCompatibility = rootProject.ext.javaTargetVersion
-}
-
-compileKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
-}
-
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "11"
- }
+android {
+ namespace = "com.itsaky.androidide.xml"
}
dependencies {
- implementation common.jkotlin
+ implementation(libs.common.kotlin)
+ implementation(projects.logger)
+ implementation(projects.subprojects.jdt)
- testImplementation tests.junit
- testImplementation tests.google_truth
+ api(projects.lookup)
+ api(projects.subprojects.aaptcompiler)
+
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.robolectric)
+ testImplementation(libs.tests.google.truth)
}
\ No newline at end of file
diff --git a/tests/test-project/app/proguard-rules.pro b/tests/test-project/app/proguard-rules.pro
index f1008c462..ca6387a9c 100644
--- a/tests/test-project/app/proguard-rules.pro
+++ b/tests/test-project/app/proguard-rules.pro
@@ -1,6 +1,6 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.in.kts.
+# proguardFiles setting in build.gradle.kts.in.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
diff --git a/treeview/build.gradle b/treeview/build.gradle
deleted file mode 100755
index fefab0da5..000000000
--- a/treeview/build.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- namespace "com.unnamed.b.atv"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- buildTypes {
- release {
- minifyEnabled false
- }
- }
-}
-
-dependencies {
- implementation fileTree (dir: 'libs', include: ['*.jar'])
- implementation androidx.appcompat
-}
diff --git a/treeview/build.gradle.kts b/treeview/build.gradle.kts
new file mode 100755
index 000000000..a787e364e
--- /dev/null
+++ b/treeview/build.gradle.kts
@@ -0,0 +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 .
+ */
+
+plugins { id("com.android.library") }
+
+android { namespace = "com.unnamed.b.atv" }
+
+dependencies { implementation(libs.androidx.appcompat) }
diff --git a/uidesigner/build.gradle b/uidesigner/build.gradle
deleted file mode 100644
index bac2db978..000000000
--- a/uidesigner/build.gradle
+++ /dev/null
@@ -1,69 +0,0 @@
-
-plugins {
- id 'com.android.library'
- id 'kotlin-android'
- id 'kotlin-parcelize'
-}
-
-android {
- namespace "com.itsaky.androidide.uidesigner"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-}
-
-dependencies {
-
- implementation androidx.appcompat
- implementation androidx.ktx
- implementation androidx.fragment_ktx
- implementation androidx.nav_frag
- implementation androidx.nav_ui
- implementation androidx.nav_dynamic_features
- implementation common.editor
- implementation common.utilcode
- implementation google.material
-
- implementation project(path: ':actions')
- implementation project(path: ':annotations')
- implementation project(path: ':common')
- implementation project(path: ':editor')
- implementation project(path: ':logger')
- implementation project(path: ':lookup')
- implementation project(path: ':lsp:api')
- implementation project(path: ':lsp:xml')
- implementation project(path: ':resources')
- implementation project(path: ':xml-inflater')
-
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
- testImplementation tests.mockito_kotlin
-}
diff --git a/uidesigner/build.gradle.kts b/uidesigner/build.gradle.kts
new file mode 100644
index 000000000..eba6683a0
--- /dev/null
+++ b/uidesigner/build.gradle.kts
@@ -0,0 +1,47 @@
+plugins {
+ id("com.android.library")
+ id("kotlin-android")
+ id("kotlin-parcelize")
+}
+
+android {
+ namespace = "com.itsaky.androidide.uidesigner"
+}
+
+dependencies {
+
+ kapt(projects.annotationProcessors)
+
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.ktx)
+ implementation(libs.androidx.fragment.ktx)
+ implementation(libs.androidx.nav.frag)
+ implementation(libs.androidx.nav.ui)
+ implementation(libs.androidx.nav.dynamic.features)
+ implementation(libs.common.editor)
+ implementation(libs.common.kotlin)
+ implementation(libs.common.utilcode)
+ implementation(libs.google.material)
+
+ implementation(projects.actions)
+ implementation(projects.annotations)
+ implementation(projects.common)
+ implementation(projects.editor)
+ implementation(projects.logger)
+ implementation(projects.lookup)
+ implementation(projects.lsp.api)
+ implementation(projects.lsp.xml)
+ implementation(projects.resources)
+
+ implementation(projects.subprojects.aaptcompiler)
+ implementation(projects.subprojects.projects)
+ implementation(projects.subprojects.xmlUtils)
+
+
+ testImplementation(projects.subprojects.projects)
+ testImplementation(projects.subprojects.toolingApiTesting)
+ testImplementation(libs.tests.junit)
+ testImplementation(libs.tests.google.truth)
+ testImplementation(libs.tests.robolectric)
+ testImplementation(libs.tests.mockito.kotlin)
+}
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/AbstractParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/AbstractParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/AbstractParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/AbstractParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/AttributeHandlerScope.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/AttributeHandlerScope.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/AttributeHandlerScope.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/AttributeHandlerScope.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/DefaultComponentFactory.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/DefaultComponentFactory.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/DefaultComponentFactory.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/DefaultComponentFactory.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/ForwardingViewGroup.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/ForwardingViewGroup.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/ForwardingViewGroup.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/ForwardingViewGroup.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IAttribute.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IAttribute.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IAttribute.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IAttribute.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IComponentFactory.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IComponentFactory.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IComponentFactory.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IComponentFactory.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/ILayoutInflater.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/ILayoutInflater.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/ILayoutInflater.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/ILayoutInflater.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/INamespace.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/INamespace.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/INamespace.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/INamespace.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IView.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IView.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IView.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IView.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewGroup.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewGroup.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewGroup.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewGroup.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewGroupAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewGroupAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/IViewGroupAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/IViewGroupAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/InflateException.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/InflateException.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/InflateException.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/InflateException.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/LayoutBehavior.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/LayoutBehavior.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/LayoutBehavior.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/LayoutBehavior.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/BitmapDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/BitmapDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/BitmapDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/BitmapDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ClipDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ClipDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ClipDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ClipDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/DrawableParserFactory.java b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/DrawableParserFactory.java
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/DrawableParserFactory.java
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/DrawableParserFactory.java
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/IDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/IDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/IDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/IDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/InsetDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/InsetDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/InsetDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/InsetDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/LayerListParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/LayerListParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/LayerListParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/LayerListParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ScaleDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ScaleDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ScaleDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ScaleDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ShapeDrawableParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ShapeDrawableParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/ShapeDrawableParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/ShapeDrawableParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/StateListParser.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/StateListParser.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/drawable/StateListParser.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/drawable/StateListParser.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/IInflateEventsListener.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/events/IInflateEventsListener.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/IInflateEventsListener.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/events/IInflateEventsListener.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/IInflationEvent.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/events/IInflationEvent.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/IInflationEvent.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/events/IInflationEvent.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/inflationEvents.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/events/inflationEvents.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/events/inflationEvents.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/events/inflationEvents.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/AttributeImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/AttributeImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/AttributeImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/AttributeImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt
similarity index 97%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt
index ffe45f14b..60c810212 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ErrorView.kt
@@ -24,7 +24,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.TextView
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.utils.resolveAttr
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ForwardingView.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ForwardingView.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ForwardingView.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ForwardingView.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableAttributeImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableAttributeImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableAttributeImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableAttributeImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewGroupImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewGroupImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewGroupImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewGroupImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ImmutableViewImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/LayoutFile.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/LayoutFile.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/LayoutFile.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/LayoutFile.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/LayoutInflaterImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/LayoutInflaterImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/LayoutInflaterImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/LayoutInflaterImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/NamespaceImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/NamespaceImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/NamespaceImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/NamespaceImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/SingleChildViewGroup.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/SingleChildViewGroup.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/SingleChildViewGroup.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/SingleChildViewGroup.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ViewGroupImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ViewGroupImpl.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ViewGroupImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ViewGroupImpl.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt
similarity index 99%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt
index 4720896e9..bb9a02008 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/ViewImpl.kt
@@ -25,10 +25,10 @@ import com.itsaky.androidide.inflater.INamespace
import com.itsaky.androidide.inflater.IView
import com.itsaky.androidide.inflater.IView.AttributeChangeListener
import com.itsaky.androidide.inflater.IViewGroup
-import com.itsaky.androidide.inflater.R.drawable
import com.itsaky.androidide.inflater.internal.utils.simpleName
import com.itsaky.androidide.inflater.internal.utils.tagName
import com.itsaky.androidide.inflater.utils.newAttribute
+import com.itsaky.androidide.resources.R.drawable
import com.itsaky.androidide.utils.ILogger
open class ViewImpl
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsListViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsListViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsListViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsListViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSeekBarAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSeekBarAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSeekBarAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSeekBarAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSpinnerAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSpinnerAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSpinnerAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsSpinnerAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsoluteLayoutAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsoluteLayoutAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsoluteLayoutAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AbsoluteLayoutAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AdapterViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AdapterViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AdapterViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AdapterViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AnalogClockAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AnalogClockAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AnalogClockAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AnalogClockAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AutoCompleteTextViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AutoCompleteTextViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AutoCompleteTextViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/AutoCompleteTextViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ButtonAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ButtonAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ButtonAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ButtonAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CalendarViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CalendarViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CalendarViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CalendarViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckBoxAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckBoxAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckBoxAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckBoxAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckedTextViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckedTextViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckedTextViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CheckedTextViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ChronometerAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ChronometerAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ChronometerAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ChronometerAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CompoundButtonAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CompoundButtonAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CompoundButtonAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/CompoundButtonAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/DigitalClockAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/DigitalClockAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/DigitalClockAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/DigitalClockAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/EditTextAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/EditTextAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/EditTextAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/EditTextAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/FrameLayoutAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/FrameLayoutAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/FrameLayoutAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/FrameLayoutAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GestureOverlayViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GestureOverlayViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GestureOverlayViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GestureOverlayViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GridLayoutAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GridLayoutAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GridLayoutAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/GridLayoutAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt
similarity index 98%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt
index 0485c5c9b..a179abbbd 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/HorizontalScrollViewAdapter.kt
@@ -22,7 +22,7 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.LAYOUTS
import com.itsaky.androidide.inflater.AttributeHandlerScope
import com.itsaky.androidide.inflater.IViewGroup
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageButtonAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageButtonAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageButtonAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageButtonAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt
similarity index 98%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt
index 4a042a240..9127db86c 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ImageViewAdapter.kt
@@ -31,7 +31,7 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.WIDGETS
import com.itsaky.androidide.inflater.AttributeHandlerScope
import com.itsaky.androidide.inflater.IView
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
import com.itsaky.androidide.resources.R.drawable
import com.itsaky.androidide.resources.R.string
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/LinearLayoutAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/LinearLayoutAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/LinearLayoutAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/LinearLayoutAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ListViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ListViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ListViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ListViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt
similarity index 97%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt
index 6acdf7d8c..450d4dcdd 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/MultiAutoCompleteTextViewAdapter.kt
@@ -20,7 +20,7 @@ package com.itsaky.androidide.inflater.internal.adapters
import android.widget.MultiAutoCompleteTextView
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.WIDGETS
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/NumberPickerAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/NumberPickerAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/NumberPickerAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/NumberPickerAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ProgressBarAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ProgressBarAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ProgressBarAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ProgressBarAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/QuickContactBadgeAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/QuickContactBadgeAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/QuickContactBadgeAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/QuickContactBadgeAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioButtonAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioButtonAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioButtonAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioButtonAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt
similarity index 95%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt
index 9f801b2a0..2d0ef17ba 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RadioGroupAdapter.kt
@@ -23,8 +23,8 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.LAYOUTS
import com.itsaky.androidide.inflater.AttributeHandlerScope
import com.itsaky.androidide.inflater.IViewGroup
-import com.itsaky.androidide.inflater.R.drawable
-import com.itsaky.androidide.inflater.R.string
+import com.itsaky.androidide.resources.R.drawable
+import com.itsaky.androidide.resources.R.string
import com.itsaky.androidide.inflater.models.UiWidget
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RatingBarAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RatingBarAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RatingBarAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RatingBarAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RelativeLayoutAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RelativeLayoutAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RelativeLayoutAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/RelativeLayoutAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt
similarity index 97%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt
index 0ef7808c4..f2f04d4c6 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ScrollViewAdapter.kt
@@ -22,7 +22,7 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.LAYOUTS
import com.itsaky.androidide.inflater.AttributeHandlerScope
import com.itsaky.androidide.inflater.IViewGroup
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SeekBarAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SeekBarAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SeekBarAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SeekBarAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpaceAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpaceAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpaceAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpaceAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt
similarity index 98%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt
index f0c0c234f..8b5e702a2 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SpinnerAdapter.kt
@@ -22,7 +22,7 @@ import com.itsaky.androidide.annotations.inflater.ViewAdapter
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.WIDGETS
import com.itsaky.androidide.inflater.AttributeHandlerScope
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
/**
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SurfaceViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SurfaceViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SurfaceViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SurfaceViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SwitchAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SwitchAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SwitchAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/SwitchAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextClockAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextClockAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextClockAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextClockAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt
similarity index 99%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt
index 4de5bf068..b5306fe5d 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextViewAdapter.kt
@@ -27,7 +27,7 @@ import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner
import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner.Group.WIDGETS
import com.itsaky.androidide.inflater.AttributeHandlerScope
import com.itsaky.androidide.inflater.IView
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
import com.itsaky.androidide.inflater.utils.newAttribute
import java.util.regex.Pattern
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextureViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextureViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextureViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/TextureViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ToggleButtonAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ToggleButtonAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ToggleButtonAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ToggleButtonAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/VideoViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/VideoViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/VideoViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/VideoViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt
similarity index 99%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt
index 29282c26f..705311506 100644
--- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewAdapter.kt
@@ -38,7 +38,7 @@ import com.itsaky.androidide.inflater.IAttribute
import com.itsaky.androidide.inflater.INamespace
import com.itsaky.androidide.inflater.IView
import com.itsaky.androidide.inflater.IViewAdapter
-import com.itsaky.androidide.inflater.R
+import com.itsaky.androidide.resources.R
import com.itsaky.androidide.inflater.models.UiWidget
import com.itsaky.androidide.inflater.utils.newAttribute
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewGroupAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewGroupAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewGroupAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/ViewGroupAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/WebViewAdapter.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/WebViewAdapter.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/WebViewAdapter.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/WebViewAdapter.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/appcompat/AppCompatTextView.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/appcompat/AppCompatTextView.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/adapters/appcompat/AppCompatTextView.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/adapters/appcompat/AppCompatTextView.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/IDTable.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/IDTable.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/IDTable.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/IDTable.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/TextDrawable.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/TextDrawable.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/TextDrawable.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/TextDrawable.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewFactory.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewFactory.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewFactory.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewFactory.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewUtils.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewUtils.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewUtils.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/ViewUtils.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/basicParseUtils.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/basicParseUtils.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/basicParseUtils.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/basicParseUtils.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/lookup.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/lookup.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/lookup.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/lookup.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/viewParseUtils.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/viewParseUtils.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/viewParseUtils.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/internal/utils/viewParseUtils.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/models/UiWidget.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/models/UiWidget.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/models/UiWidget.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/models/UiWidget.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/inflaterUtils.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/inflaterUtils.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/inflaterUtils.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/inflaterUtils.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/module.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/module.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/module.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/module.kt
diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/viewUtils.kt b/uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/viewUtils.kt
similarity index 100%
rename from xml-inflater/src/main/java/com/itsaky/androidide/inflater/utils/viewUtils.kt
rename to uidesigner/src/main/java/com/itsaky/androidide/inflater/utils/viewUtils.kt
diff --git a/uidesigner/src/main/java/com/itsaky/androidide/uidesigner/fragments/AddAttrFragment.kt b/uidesigner/src/main/java/com/itsaky/androidide/uidesigner/fragments/AddAttrFragment.kt
index cb48138d2..f99c5a26b 100644
--- a/uidesigner/src/main/java/com/itsaky/androidide/uidesigner/fragments/AddAttrFragment.kt
+++ b/uidesigner/src/main/java/com/itsaky/androidide/uidesigner/fragments/AddAttrFragment.kt
@@ -24,13 +24,11 @@ import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
-import com.google.android.material.transition.MaterialSharedAxis
import com.itsaky.androidide.inflater.internal.ViewAdapterIndex
import com.itsaky.androidide.inflater.utils.newAttribute
import com.itsaky.androidide.uidesigner.R
import com.itsaky.androidide.uidesigner.R.string
import com.itsaky.androidide.uidesigner.adapters.AddAttrListAdapter
-import com.itsaky.androidide.uidesigner.adapters.ViewAttrListAdapter
import com.itsaky.androidide.uidesigner.databinding.LayoutAddAttrBinding
import com.itsaky.androidide.uidesigner.databinding.LayoutViewInfoHeaderBinding
import com.itsaky.androidide.uidesigner.models.UiAttribute
@@ -53,7 +51,7 @@ class AddAttrFragment : Fragment() {
header = null
return
}
-
+
field = value
header = LayoutViewInfoHeaderBinding.bind(value.root)
}
@@ -76,7 +74,7 @@ class AddAttrFragment : Fragment() {
showAttrs()
}
-
+
override fun onDestroyView() {
super.onDestroyView()
this.binding = null
@@ -88,11 +86,13 @@ class AddAttrFragment : Fragment() {
val adapter = ViewAdapterIndex.getAdapter(view.name) ?: return
val attributes =
adapter.supportedAttributes.filterNot { view.hasAttribute(it.namespace.uri, it.name) }
- binding.attrList.adapter = AddAttrListAdapter(attributes) {
- val attribute = newAttribute(view = viewModel.view, namespace = it.namespace, name = it.name, value = "")
- viewModel.selectedAttr = attribute as UiAttribute
- viewModel.addAttrMode = true
- findNavController().navigate(R.id.attrValueEditorFragment)
- }
+ binding.attrList.adapter =
+ AddAttrListAdapter(attributes) {
+ val attribute =
+ newAttribute(view = viewModel.view, namespace = it.namespace, name = it.name, value = "")
+ viewModel.selectedAttr = attribute as UiAttribute
+ viewModel.addAttrMode = true
+ findNavController().navigate(R.id.attrValueEditorFragment)
+ }
}
}
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/DefaultValues.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/DefaultValues.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/DefaultValues.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/DefaultValues.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterDrawable.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterDrawable.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterDrawable.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterDrawable.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
similarity index 99%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
index dd5b4c259..1d8e42daf 100644
--- a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
+++ b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
@@ -10,7 +10,7 @@ import android.graphics.Path;
import android.util.AttributeSet;
import android.view.View;
-import com.itsaky.androidide.inflater.R;
+import com.itsaky.androidide.resources.R;
import com.sdsmdg.harjot.vectormaster.models.ClipPathModel;
import com.sdsmdg.harjot.vectormaster.models.GroupModel;
import com.sdsmdg.harjot.vectormaster.models.PathModel;
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/enums/TintMode.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/enums/TintMode.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/enums/TintMode.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/enums/TintMode.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/ClipPathModel.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/ClipPathModel.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/ClipPathModel.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/ClipPathModel.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/GroupModel.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/GroupModel.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/GroupModel.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/GroupModel.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/PathModel.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/PathModel.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/PathModel.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/PathModel.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/VectorModel.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/VectorModel.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/models/VectorModel.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/models/VectorModel.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/Utils.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/Utils.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/Utils.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/Utils.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/legacyparser/PathParser.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/legacyparser/PathParser.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/legacyparser/PathParser.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/legacyparser/PathParser.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/ParserHelper.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/ParserHelper.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/ParserHelper.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/ParserHelper.java
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/PathParser.java b/uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/PathParser.java
similarity index 100%
rename from xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/PathParser.java
rename to uidesigner/src/main/java/com/sdsmdg/harjot/vectormaster/utilities/parser/PathParser.java
diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/AdapterIndexText.kt b/uidesigner/src/test/java/com/itsaky/androidide/inflater/AdapterIndexText.kt
similarity index 100%
rename from xml-inflater/src/test/java/com/itsaky/androidide/inflater/AdapterIndexText.kt
rename to uidesigner/src/test/java/com/itsaky/androidide/inflater/AdapterIndexText.kt
diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/LayoutInflaterTest.kt b/uidesigner/src/test/java/com/itsaky/androidide/inflater/LayoutInflaterTest.kt
similarity index 100%
rename from xml-inflater/src/test/java/com/itsaky/androidide/inflater/LayoutInflaterTest.kt
rename to uidesigner/src/test/java/com/itsaky/androidide/inflater/LayoutInflaterTest.kt
diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt b/uidesigner/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt
similarity index 100%
rename from xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt
rename to uidesigner/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt
diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/XmlInflaterTest.kt b/uidesigner/src/test/java/com/itsaky/androidide/inflater/XmlInflaterTest.kt
similarity index 100%
rename from xml-inflater/src/test/java/com/itsaky/androidide/inflater/XmlInflaterTest.kt
rename to uidesigner/src/test/java/com/itsaky/androidide/inflater/XmlInflaterTest.kt
diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/adapterUtils.kt b/uidesigner/src/test/java/com/itsaky/androidide/inflater/adapterUtils.kt
similarity index 100%
rename from xml-inflater/src/test/java/com/itsaky/androidide/inflater/adapterUtils.kt
rename to uidesigner/src/test/java/com/itsaky/androidide/inflater/adapterUtils.kt
diff --git a/xml-inflater/.gitignore b/xml-inflater/.gitignore
deleted file mode 100644
index 42afabfd2..000000000
--- a/xml-inflater/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/xml-inflater/build.gradle b/xml-inflater/build.gradle
deleted file mode 100644
index a2148afb9..000000000
--- a/xml-inflater/build.gradle
+++ /dev/null
@@ -1,67 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-kapt'
-apply plugin: 'kotlin-parcelize'
-
-android {
- namespace "com.itsaky.androidide.inflater"
- compileSdkVersion rootProject.ext.compileSdk
- buildToolsVersion rootProject.ext.buildTools
-
- defaultConfig {
- minSdkVersion rootProject.ext.minSdk
- targetSdkVersion rootProject.ext.targetSdk
- }
-
- buildFeatures.viewBinding true
-
- compileOptions {
- sourceCompatibility rootProject.ext.javaSourceVersion
- targetCompatibility rootProject.ext.javaTargetVersion
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildTypes {
- release {
- minifyEnabled true
- }
- }
-
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
-
- sourceSets {
- main {
- java {
- srcDir "${buildDir.absolutePath}/generated/source/kaptKotlin/"
- }
- }
- }
-}
-
-dependencies {
- implementation androidx.appcompat
- implementation common.kotlin
- implementation common.utilcode
-
- implementation project(path: ':annotations')
- implementation project(path: ':common')
- implementation project(path: ':subprojects:aaptcompiler')
- implementation project(path: ':subprojects:projects')
- implementation project(path: ':subprojects:xml-utils')
- implementation project(path: ':resources')
-
- kapt project(path: ':annotation-processors')
-
- testImplementation project (path: ':subprojects:projects')
- testImplementation project (path: ':subprojects:tooling-api-testing')
- testImplementation tests.junit
- testImplementation tests.google_truth
- testImplementation tests.robolectric
-}
\ No newline at end of file
diff --git a/xml-inflater/consumer-rules.pro b/xml-inflater/consumer-rules.pro
deleted file mode 100644
index e69de29bb..000000000
diff --git a/xml-inflater/proguard-rules.pro b/xml-inflater/proguard-rules.pro
deleted file mode 100644
index 481bb4348..000000000
--- a/xml-inflater/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/xml-inflater/src/main/AndroidManifest.xml b/xml-inflater/src/main/AndroidManifest.xml
deleted file mode 100644
index e62e7b210..000000000
--- a/xml-inflater/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file