// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = '2.2.0'
    ext.google_dagger = '2.57'

    repositories {
        maven {
            url 'https://a8c-libs.s3.amazonaws.com/android'
            content {
                includeGroup "com.automattic.android"
                includeGroup "com.automattic.android.publish-to-s3"
            }
        }
        google()
        mavenCentral()
        maven { url 'https://maven.google.com' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.11.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.dagger:hilt-android-gradle-plugin:$google_dagger"
        classpath 'com.automattic.android:configure:0.6.5'
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

apply plugin: 'com.automattic.android.configure'

def gitHash() {
    try {
        def code = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'rev-parse', '--verify', '--short', 'HEAD'
            standardOutput = code
        }
        return code.toString().trim()
    }
    catch (ignored) {
        return "<unknown>"
    }
}

def gitDescribe(){
    try {
        def code = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'describe', '--always', '--dirty=-dirty'
            standardOutput = code
        }
        return code.toString().trim()
    }
    catch (ignored) {
        return "<unknown>"
    }
}

def gitVersion() {
    (gitDescribe() =~ /^v/).replaceFirst('')
}

ext {
    sentryVersion = '5.8.0'

    automatticTracksVersion = '6.0.4'
    androidxLifecycleVersion = '2.9.2'

    screengrabVersion = '2.1.1'
}
