<commit_before>plugins {
    `java-gradle-plugin`
    `kotlin-dsl`
    `maven-publish`
    groovy
    id("com.gradle.plugin-publish") version "0.10.1"
}

dependencies {
    compileOnly(project(":common:validation", "default"))

    compileOnly(Config.Libs.All.agp)
    implementation(Config.Libs.All.ap)

    testImplementation(Config.Libs.All.junit)
    testImplementation(kotlin("test"))
    testImplementation(Config.Libs.All.truth)

    testImplementation(project(":common:validation", "default"))
    testImplementation(Config.Libs.All.agp)
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

// We want to be able to organize our project into multiple modules, but that typically requires
// publishing each one as a maven artifact. To get around this, we manually inject all locally
// produced libs into the final JAR.
tasks.withType<Jar>().configureEach {
    val config = configurations.compileClasspath.get()
    val projectLibs = config.filter {
        it.path.contains(rootProject.layout.projectDirectory.asFile.path)
    }

    from(projectLibs.map { zipTree(it) })
}

tasks.withType<ValidateTaskProperties>().configureEach {
    enableStricterValidation = true
    failOnWarning = true
}

tasks.named<Delete>("clean") {
    val deletables = listOf(".gradle", "build", "userHome")
    delete(deletables.map { "src/test/fixtures/android_app/$it" })
}

tasks.named("test") {
    inputs.files("src/test/fixtures/android_app/src")
}

group = "com.github.triplet.gradle"
version = "2.4.2"<commit_msg>Prep for development<commit_after>plugins {
    `java-gradle-plugin`
    `kotlin-dsl`
    `maven-publish`
    groovy
    id("com.gradle.plugin-publish") version "0.10.1"
}

dependencies {
    compileOnly(project(":common:validation", "default"))

    compileOnly(Config.Libs.All.agp)
    implementation(Config.Libs.All.ap)

    testImplementation(Config.Libs.All.junit)
    testImplementation(kotlin("test"))
    testImplementation(Config.Libs.All.truth)

    testImplementation(project(":common:validation", "default"))
    testImplementation(Config.Libs.All.agp)
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

// We want to be able to organize our project into multiple modules, but that typically requires
// publishing each one as a maven artifact. To get around this, we manually inject all locally
// produced libs into the final JAR.
tasks.withType<Jar>().configureEach {
    val config = configurations.compileClasspath.get()
    val projectLibs = config.filter {
        it.path.contains(rootProject.layout.projectDirectory.asFile.path)
    }

    from(projectLibs.map { zipTree(it) })
}

tasks.withType<ValidateTaskProperties>().configureEach {
    enableStricterValidation = true
    failOnWarning = true
}

tasks.named<Delete>("clean") {
    val deletables = listOf(".gradle", "build", "userHome")
    delete(deletables.map { "src/test/fixtures/android_app/$it" })
}

tasks.named("test") {
    inputs.files("src/test/fixtures/android_app/src")
}

group = "com.github.triplet.gradle"
version = "2.5.0-SNAPSHOT"
{'fraction_non_alphanumeric': 0.12634578847371755, 'fraction_numerical': 0.006966434452184927, 'mean_word_length': 4.178688524590164, 'pattern_counts': {'":': 4, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4983940', 'n_tokens_mistral': 1023, 'n_tokens_neox': 994, 'n_words': 183}