/**
 * Top-level build file for ftc_app project.
 *
 * It is extraordinarily rare that you will ever need to edit this file.
 */

configurations {
    doc { transitive false }
}

buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.1'
    }
}

// This is now required because aapt2 has to be downloaded from the
// google() repository beginning with version 3.2 of the Android Gradle Plugin
allprojects {
    repositories {
        mavenCentral()
        google()
    }
}

repositories {
    mavenCentral()

//    flatDir {
//        dirs '../libs'
//    }
}

dependencies {
    doc 'org.firstinspires.ftc:Hardware:8.0.0'
    doc 'org.firstinspires.ftc:RobotCore:8.0.0'
    doc 'org.firstinspires.ftc:FtcCommon:8.0.0'
    doc 'org.firstinspires.ftc:OnBotJava:8.0.0'
    doc 'org.firstinspires.ftc:Inspection:8.0.0'
}

task extractJavadoc {
    doLast {
        def componentIds = configurations.doc.incoming.resolutionResult.allDependencies.collect { it.selected.id }

        def result = dependencies.createArtifactResolutionQuery()
                .forComponents(componentIds)
                .withArtifacts(JvmLibrary, SourcesArtifact, JavadocArtifact)
                .execute()

        for (component in result.resolvedComponents) {
            component.getArtifacts(JavadocArtifact).each { artifact ->
                def version = artifact.identifier.componentIdentifier.version
                def libName = artifact.identifier.componentIdentifier.moduleIdentifier.name
                copy {
                    from zipTree(artifact.file)
                    into "docs/$version/$libName/"
                }
            }
        }
    }
}

