ext.Dependencies = new DependenciesContainer() ext.Dependencies.with { _repositories = { repositories -> repositories.google { content { includeGroupByRegex "com\\.android.*" includeGroupByRegex "com\\.google.*" includeGroupByRegex "androidx\\..*" } } repositories.mavenCentral { content { includeGroupByRegex "org\\.jetbrains.*" includeGroupByRegex "com\\.google.*" includeGroupByRegex "com\\.squareup.*" includeGroupByRegex "com\\.android.*" includeGroupByRegex "org\\.apache.*" includeGroupByRegex "org\\.json.*" includeGroupByRegex "org\\.codehaus.*" includeGroupByRegex "org\\.jdom.*" includeGroupByRegex "com\\.fasterxml.*" includeGroupByRegex "com\\.sun.*" includeGroupByRegex "org\\.ow2.*" includeGroupByRegex "org\\.eclipse.*" includeGroup "app.cash.turbine" includeGroup "de.undercouch" includeGroup "de.danielbechler" includeGroup "com.github.gundy" includeGroup "com.sun.activation" includeGroup "com.thoughtworks.qdox" includeGroup "com.annimon" includeGroup "com.github.javaparser" includeGroup "com.beust" includeGroup "org.bouncycastle" includeGroup "org.bitbucket.b_c" includeGroup "org.checkerframework" includeGroup "org.amshove.kluent" includeGroup "org.jvnet.staxex" includeGroup "org.glassfish" includeGroup "org.glassfish.jaxb" includeGroup "org.antlr" includeGroup "org.tensorflow" includeGroup "org.xerial" includeGroup "org.slf4j" includeGroup "org.freemarker" includeGroup "org.threeten" includeGroup "org.hamcrest" includeGroup "org.matrix.android" includeGroup "org.sonatype.oss" includeGroup "org.junit.jupiter" includeGroup "org.junit.platform" includeGroup "org.junit" includeGroup "org.junit.jupiter" includeGroup "org.jsoup" includeGroup "org.jacoco" includeGroup "org.testng" includeGroup "org.opentest4j" includeGroup "org.apiguardian" includeGroup "org.webjars" includeGroup "org.objenesis" includeGroup "commons-io" includeGroup "commons-logging" includeGroup "commons-codec" includeGroup "net.java.dev.jna" includeGroup "net.sf.jopt-simple" includeGroup "net.sf.kxml" includeGroup "net.bytebuddy" includeGroup "net.java" includeGroup "it.unimi.dsi" includeGroup "io.grpc" includeGroup "io.netty" includeGroup "io.opencensus" includeGroup "io.ktor" includeGroup "io.coil-kt" includeGroup "io.mockk" includeGroup "info.picocli" includeGroup "us.fatehi" includeGroup "jakarta.xml.bind" includeGroup "jakarta.activation" includeGroup "javax.inject" includeGroup "junit" includeGroup "jline" includeGroup "xerces" includeGroup "xml-apis" } } } def kotlinVer = "1.6.10" def sqldelightVer = "1.5.3" def composeVer = "1.1.0" google = new DependenciesContainer() google.with { androidGradlePlugin = "com.android.tools.build:gradle:7.1.1" androidxComposeUi = "androidx.compose.ui:ui:${composeVer}" androidxComposeFoundation = "androidx.compose.foundation:foundation:${composeVer}" androidxComposeMaterial = "androidx.compose.material:material:${composeVer}" androidxComposeIconsExtended = "androidx.compose.material:material-icons-extended:${composeVer}" androidxActivityCompose = "androidx.activity:activity-compose:1.4.0" kotlinCompilerExtensionVersion = "1.1.0-rc02" } mavenCentral = new DependenciesContainer() mavenCentral.with { kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVer}" kotlinSerializationGradlePlugin = "org.jetbrains.kotlin:kotlin-serialization:${kotlinVer}" kotlinSerializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0" kotlinCoroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0-RC2" kotlinTest = "org.jetbrains.kotlin:kotlin-test-junit:${kotlinVer}" sqldelightGradlePlugin = "com.squareup.sqldelight:gradle-plugin:${sqldelightVer}" sqldelightAndroid = "com.squareup.sqldelight:android-driver:${sqldelightVer}" sqldelightInMemory = "com.squareup.sqldelight:sqlite-driver:${sqldelightVer}" ktorAndroid = "io.ktor:ktor-client-android:1.6.4" ktorCore = "io.ktor:ktor-client-core:1.6.2" ktorSerialization = "io.ktor:ktor-client-serialization:1.5.0" ktorLogging = "io.ktor:ktor-client-logging-jvm:1.6.2" ktorJava = "io.ktor:ktor-client-java:1.6.2" junit = "junit:junit:4.13.2" kluent = "org.amshove.kluent:kluent:1.68" matrixOlm = "org.matrix.android:olm-sdk:3.2.10" } } class DependenciesContainer extends GroovyObjectSupport { private final Map storage = new HashMap(); @Override Object getProperty(String name) { return storage.get(name); } @Override void setProperty(String name, Object newValue) { storage.put(name, newValue); } }