content: [versions]
  agp = "8.5.0"
  agp-tooling = "8.5.0"
  gradle-tooling = "8.6"
  junit-jupiter = "5.10.2"
  kotlin = "1.9.24"
  kotlin-coroutines = "1.8.1"
  tree-sitter = "4.3.1"
  editor = "0.23.7-patch1"
  glide = "4.16.0"
  androidx-vectordrawable = "1.2.0"
  androidx-navigation = "2.7.7"
  ksp = "1.9.24-1.0.20"
  antlr4 = "4.13.1"
  androidx-work = "2.9.0"
  androidx-espresso = "3.5.1"
  retrofit = "2.9.0"
  markwon = "4.6.2"
  logback = "1.5.3"
  realm = "10.18.0"
  benchmark = "1.2.4"
  benchmark-junit4 = "1.2.4"
  
  [libraries]
  
  # Dependencies in composite build
  composite-appintro = { module = "com.itsaky.androidide.build:appintro" }
  composite-desugaringCore = { module = "com.itsaky.androidide.build:desugaring-core" }
  composite-fuzzysearch = { module = "com.itsaky.androidide.build:fuzzysearch" }
  composite-googleJavaFormat = { module = "com.itsaky.androidide.build:google-java-format" }
  composite-javaCompiler = { module = "com.itsaky.androidide.build:java-compiler" }
  composite-javac = { module = "com.itsaky.androidide.build:javac" }
  composite-jdkCompiler = { module = "com.itsaky.androidide.build:jdk-compiler" }
  composite-jdkJdeps = { module = "com.itsaky.androidide.build:jdk-jdeps" }
  composite-javapoet = { module = "com.itsaky.androidide.build:javapoet" }
  composite-jaxp = { module = "com.itsaky.androidide.build:jaxp" }
  composite-jdt = { module = "com.itsaky.androidide.build:jdt" }
  composite-layoutlibApi = { module = "com.itsaky.androidide.build:layoutlib-api" }
  
  # AndroidIDE
  androidide-ts = { module = "com.itsaky.androidide.treesitter:android-tree-sitter", version.ref = "tree-sitter" }
  androidide-ts-java = { module = "com.itsaky.androidide.treesitter:tree-sitter-java", version.ref = "tree-sitter" }
  androidide-ts-json = { module = "com.itsaky.androidide.treesitter:tree-sitter-json", version.ref = "tree-sitter" }
  androidide-ts-kotlin = { module = "com.itsaky.androidide.treesitter:tree-sitter-kotlin", version.ref = "tree-sitter" }
  androidide-ts-log = { module = "com.itsaky.androidide.treesitter:tree-sitter-log", version.ref = "tree-sitter" }
  androidide-ts-xml = { module = "com.itsaky.androidide.treesitter:tree-sitter-xml", version.ref = "tree-sitter" }
  
  # Common
  common-editor = { module = "com.github.MiyazKaori:sora-editor", 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.17.2" }
  common-antlr4 = { module = "org.antlr:antlr4", version.ref = "antlr4" }
  common-antlr4-runtime = { module = "org.antlr:antlr4-runtime", version.ref = "antlr4" }
  common-javaparser = { module = "com.github.javaparser:javaparser-symbol-solver-core", version = "3.26.1" }
  common-lang3 = { module = "org.apache.commons:commons-lang3", version = "3.14.0" }
  common-io = { module = "commons-io:commons-io", version = "2.15.1" }
  common-kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
  common-kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlin-coroutines" }
  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" }
  common-ksp = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
  common-jsonrpc = { module = "org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc", version = "0.22.0" }
  common-leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version = "2.13" }
  common-retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
  common-retrofit-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
  common-markwon-core = { module = "io.noties.markwon:core", version.ref = "markwon" }
  common-markwon-extStrikethrough = { module = "io.noties.markwon:ext-strikethrough", version.ref = "markwon" }
  common-markwon-linkify = { module = "io.noties.markwon:linkify", version.ref = "markwon" }
  common-markwon-recycler = { module = "io.noties.markwon:recycler", version.ref = "markwon" }
  common-hiddenApiBypass = { module = "org.lsposed.hiddenapibypass:hiddenapibypass", version = "4.3" }
  common-termuxAmLib = { module = "com.termux:termux-am-library", version = "v2.0.0" }
  common-charts = { module = "com.github.AppDevNext:AndroidChart", version = "3.1.0.21" }
  
  # AndroidX
  androidx-annotation = { module = "androidx.annotation:annotation", version = "1.7.1" }
  androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.6.1" }
  androidx-cardview = { module = "androidx.cardview:cardview", version = "1.0.0" }
  androidx-collection = { module = "androidx.collection:collection", version = "1.4.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.2.0" }
  androidx-grid = { module = "androidx.gridlayout:gridlayout", version = "1.0.0" }
  androidx-preference = { module = "androidx.preference:preference", version = "1.2.1" }
  androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" }
  androidx-vectors = { module = "androidx.vectordrawable:vectordrawable", version.ref = "androidx-vectordrawable" }
  androidx-animated_vectors = { module = "androidx.vectordrawable:vectordrawable-animated", version.ref = "androidx-vectordrawable" }
  androidx-core = { module = "androidx.core:core", version = "1.13.1" }
  androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.13.1" }
  androidx-fragment_ktx = { module = "androidx.fragment:fragment-ktx", version = "1.6.2" }
  androidx-libDesugaring = { module = "com.android.tools:desugar_jdk_libs", version = "2.0.4" }
  androidx-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.1" }
  androidx-transition = { module = "androidx.transition:transition-ktx", version = "1.5.0" }
  androidx-nav-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation" }
  androidx-nav-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation" }
  androidx-tracing = { module = "androidx.tracing:tracing", version = "1.2.0" }
  androidx-tracing-ktx = { module = "androidx.tracing:tracing-ktx", version = "1.2.0" }
  androidx-viewpager = { module = "androidx.viewpager:viewpager", version = "1.0.0" }
  androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version = "1.0.0" }
  #noinspection GradleDependency
  androidx-window-v1alpha9 = { module = "androidx.window:window", version = "1.0.0-alpha09" }
  androidx-work = { module = "androidx.work:work-runtime", version.ref = "androidx-work" }
  androidx-work-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
  
  # Google
  google-material = { module = "com.google.android.material:material", version = "1.11.0" }
  google-gson = { module = "com.google.code.gson:gson", version = "2.10.1" }
  google-guava = { module = "com.google.guava:guava", version = "32.1.3-android" }
  google-auto-value-annotations = { module = "com.google.auto.value:auto-value-annotations", version = "1.10.4" }
  google-auto-value-ap = { module = "com.google.auto.value:auto-value", version = "1.10.4" }
  google-auto-service-annotations = { module = "com.google.auto.service:auto-service-annotations", version = "1.1.1" }
  google-auto-service = { module = "com.google.auto.service:auto-service", version = "1.1.1" }
  google-protobuf = { module = "com.google.protobuf:protobuf-javalite", version = "3.25.3" }
  google-java-format = { module = "com.google.googlejavaformat:google-java-format", version = "1.20.0" }
  google-flexbox = { module = "com.google.android.flexbox:flexbox", version = "3.0.0" }
  
  # AAPT2
  aapt2-common = { module = "com.android.tools:common", version = "31.4.1" }
  aapt2-annotations = { module = "com.android.tools:annotations", version = "31.2.2" }
  aapt2-jb-annotations = { module = "org.jetbrains:annotations", version = "24.1.0" }
  aapt2-proto = { module = "com.android.tools.build:aapt2-proto", version = "8.3.0-10880808" }
  
  # use logback-core from logback-android instead
  #logging-logback-core = { module = "ch.qos.logback:logback-core", version.ref = "logback" }
  logging-logback-core = { module = "com.itsaky.androidide.build:logback-core" }
  logging-logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
  
  # 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-jb-annotations = { module = "org.jetbrains:annotations", version = "24.1.0" }
  
  # GIT
  git-jgit = { module = "org.eclipse.jgit:org.eclipse.jgit", version = "6.8.0.202311291450-r" }
  
  # Tests
  tests-junit = { module = "junit:junit", version = "4.13.2" }
  tests-junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" }
  tests-junit-platformLauncher = { module = "org.junit.platform:junit-platform-launcher" }
  tests-google-truth = { module = "com.google.truth:truth", version = "1.4.4" }
  tests-robolectric = { module = "org.robolectric:robolectric", version = "4.11.1" }
  tests-androidx-test-core = { module = "androidx.test:core", version = "1.5.0" }
  tests-androidx-test-runner = { module = "androidx.test:runner", version = "1.5.2" }
  tests-androidx-test-rules = { module = "androidx.test:rules", version = "1.5.0" }
  tests-androidx-junit = { module = "androidx.test.ext:junit", version = "1.1.5" }
  tests-androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
  tests-androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-espresso" }
  tests-androidx-espresso-contrib = { module = "androidx.test.espresso:espresso-contrib", version.ref = "androidx-espresso" }
  tests-androidx-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version = "2.3.0" }
  tests-mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "5.2.1" }
  tests-mockk = { module = "io.mockk:mockk", version = "1.13.10" }
  tests-barista = { module = "com.adevinta.android:barista", version = "4.3.0" }
  
  # Tooling
  tooling-builderModel = { module = "com.android.tools.build:builder-model", version.ref = "agp-tooling" }
  tooling-gradleApi = { module = "com.itsaky.androidide.gradle:gradle-tooling-api", version.ref = "gradle-tooling" }
  tooling-slf4j = { module = "org.slf4j:slf4j-api", version = "2.0.12" }
  
  # Classpaths
  android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "agp" }
  kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
  nav-safe-args-gradle-plugin = { module = "androidx.navigation:navigation-safe-args-gradle-plugin", version.ref = "androidx-navigation" }
  androidx-benchmark-junit4 = { group = "androidx.benchmark", name = "benchmark-junit4", version.ref = "benchmark-junit4" }
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "agp" }
  android-library = { id = "com.android.library", version.ref = "agp" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  protobuf = { id = "com.google.protobuf", version = "0.9.4" }
  benchmark = { id = "androidx.benchmark", version.ref = "benchmark" }
  