chore: migrate to Kotlin DSL and Version Catalog

This commit is contained in:
Akash Yadav
2022-12-30 23:24:38 +05:30
parent 61fedd91c2
commit 42a3e71114
227 changed files with 1800 additions and 2535 deletions
+4
View File
@@ -82,6 +82,9 @@
<module name="AndroidIDE.build-tools.xml-formatter.main" target="11" />
<module name="AndroidIDE.build-tools.xml-formatter.test" target="11" />
<module name="AndroidIDE.build-tools.xml-utils" target="11" />
<module name="AndroidIDE.buildSrc" target="11" />
<module name="AndroidIDE.buildSrc.main" target="11" />
<module name="AndroidIDE.buildSrc.test" target="11" />
<module name="AndroidIDE.colorschemes" target="11" />
<module name="AndroidIDE.colorschemes.main" target="11" />
<module name="AndroidIDE.editor-languages" target="11" />
@@ -91,6 +94,7 @@
<module name="AndroidIDE.javac" target="1.8" />
<module name="AndroidIDE.sdk-info" target="11" />
<module name="AndroidIDE.treesitter.test" target="1.7" />
<module name="AndroidIDE.xml-inflater" target="11" />
</bytecodeTargetLevel>
</component>
</project>
+5
View File
@@ -76,5 +76,10 @@
<option name="name" value="maven2" />
<option name="url" value="https://maven.google.com" />
</remote-repository>
<remote-repository>
<option name="id" value="Gradle Central Plugin Repository" />
<option name="name" value="Gradle Central Plugin Repository" />
<option name="url" value="https://plugins.gradle.org/m2" />
</remote-repository>
</component>
</project>
-45
View File
@@ -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 ()
}
+19
View File
@@ -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)
}
+1 -1
View File
@@ -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
-50
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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')
}
+35
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}
-28
View File
@@ -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')
}
+29
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}
-181
View File
@@ -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
}
+135
View File
@@ -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)
}
Binary file not shown.
+20
View File
@@ -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 <https://www.gnu.org/licenses/>.
#
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configureondemand=true
BIN
View File
Binary file not shown.
+5
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
/build
@@ -15,8 +15,7 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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"
@@ -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 <https://www.gnu.org/licenses/>.
*/
require(project == rootProject) {
"This script must be apply to the root project."
}
+37
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
include(
":ide"
)
rootProject.name = "build-logic"
-120
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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 {
}
}
+82
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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<JavaPluginExtension> {
sourceCompatibility = Versions.javaVersion
targetCompatibility = Versions.javaVersion
}
}
plugins.withId("kotlin-android") {
configure<KotlinAndroidProjectExtension> { jvmToolchain(Versions.javaVersionMajor) }
}
}
tasks.register<Delete>("clean") { delete(rootProject.buildDir) }
-66
View File
@@ -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
}
+35
View File
@@ -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)
}
@@ -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";
-109
View File
@@ -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'
]
}
-69
View File
@@ -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
}
+39
View File
@@ -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)
}
+1 -1
View File
@@ -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
-29
View File
@@ -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')
}
+13
View File
@@ -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)
}
+1 -1
View File
@@ -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
-51
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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')
}
@@ -14,16 +14,15 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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')
api(projects.eventbus)
}
+1 -1
View File
@@ -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
-53
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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')
}
@@ -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)
}
@@ -15,16 +15,12 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
@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)
}
@@ -15,17 +15,15 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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"
}
}
-1
View File
@@ -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
+96
View File
@@ -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" }
-40
View File
@@ -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
}
+11 -16
View File
@@ -14,28 +14,23 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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.lexers"
}
dependencies {
implementation common.jkotlin
}
api(libs.common.antlr4)
compileKotlin {
kotlinOptions {
jvmTarget = "11"
}
}
implementation(libs.androidx.ktx)
implementation(libs.common.kotlin)
compileTestKotlin {
kotlinOptions {
jvmTarget = "11"
}
testImplementation(libs.tests.junit)
testImplementation(libs.tests.google.truth)
testImplementation(libs.tests.robolectric)
}
+1 -1
View File
@@ -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
+28
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
}
dependencies {
compileOnly(projects.subprojects.frameworkStubs)
testImplementation(libs.tests.junit)
testImplementation(libs.tests.google.truth)
}
+32
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}
-79
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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 ()
}
+55
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-94
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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 ()
}
+72
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-44
View File
@@ -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 ()
}
+19
View File
@@ -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)
}
-62
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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')
}
+41
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-96
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
+67
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-68
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
+36
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-49
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
+31
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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)
}
-50
View File
@@ -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'
+89
View File
@@ -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"
)
-27
View File
@@ -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')
}
+28
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
dependencies {
implementation(libs.androidx.annotation)
implementation(libs.google.guava)
implementation(projects.logger)
}
-70
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
@@ -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)
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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")
}
+29
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
}
dependencies {
compileOnlyApi(files ("libs/android.jar"))
}
+21
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
plugins {
@Suppress("JavaPluginLanguageLevel")
id("java-library")
}
@@ -15,8 +15,9 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
@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)
}
-48
View File
@@ -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
}
@@ -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)
}
@@ -14,8 +14,10 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
@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
}
}
-8
View File
@@ -1,8 +0,0 @@
plugins {
id 'java-library'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
@@ -15,11 +15,12 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id 'java-library'
id("java-library")
}
java {
sourceCompatibility = rootProject.ext.javaSourceVersion
targetCompatibility = rootProject.ext.javaTargetVersion
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
-8
View File
@@ -1,8 +0,0 @@
plugins {
id 'java-library'
}
java {
sourceCompatibility = rootProject.ext.javaSourceVersion
targetCompatibility = rootProject.ext.javaTargetVersion
}
+21
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
plugins {
@Suppress("JavaPluginLanguageLevel")
id("java-library")
}
+26
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
}
dependencies {
implementation(libs.google.gson)
implementation(projects.logger)
}
-65
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
@@ -14,30 +14,29 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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.layoutlib"
compileKotlin {
kotlinOptions {
jvmTarget = "11"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "11"
buildTypes {
release {
isMinifyEnabled = false
}
}
}
dependencies {
implementation common.jkotlin
api "com.android.tools.build:builder-model:7.3.1"
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)
}
-70
View File
@@ -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
}
+42
View File
@@ -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)
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
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
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
dependencies {
implementation(libs.common.jkotlin)
}
-91
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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"
}
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
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<Jar> {
manifest { attributes("Main-Class" to "com.itsaky.androidide.tooling.impl.Main") }
}
tasks.withType<ShadowJar> {
archiveBaseName.set("tooling-api")
archiveClassifier.set("all")
}
tasks.register<Copy>("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")
}
@@ -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<Void> future;
@@ -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 <https://www.gnu.org/licenses/>.
*/
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"
}
}
@@ -15,29 +15,31 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
@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 }
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
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"
}
}
@@ -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 <https://www.gnu.org/licenses/>.
*/
@Suppress("JavaPluginLanguageLevel")
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
dependencies {
implementation(libs.common.jkotlin)
implementation(projects.logger)
implementation(projects.subprojects.toolingApi)
}
-55
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
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"
}
}
+35
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}
+33
View File
@@ -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 <https://www.gnu.org/licenses/>.
*/
@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)
}

Some files were not shown because too many files have changed in this diff Show More