plugins { java } repositories { mavenCentral() google() } dependencies { // Testing (runs on PC without SDK) - THIS IS WHAT YOU USE FOR DEVELOPMENT testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testRuntimeOnly("org.junit.platform:junit-platform-launcher") testImplementation("org.mockito:mockito-core:5.5.0") // FTC SDK - ONLY needed when you uncomment FTC code for deployment // These will be compile errors until you uncomment, that's OK! // compileOnly(files("${System.getenv("HOME")}/ftc-sdk/RobotCore/build/libs/RobotCore-release.aar")) // compileOnly(files("${System.getenv("HOME")}/ftc-sdk/Hardware/build/libs/Hardware-release.aar")) } java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } tasks.test { useJUnitPlatform() testLogging { events("passed", "skipped", "failed") showStandardStreams = false exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL } } // Task to deploy to FTC SDK tasks.register("deployToSDK") { group = "ftc" description = "Copy code to FTC SDK TeamCode for deployment" val sdkDir = System.getenv("HOME") + "/ftc-sdk" from("src/main/java") into("$sdkDir/TeamCode/src/main/java") doLast { println("✓ Code deployed to $sdkDir/TeamCode") println("") println("Next steps:") println(" cd $sdkDir") println(" ./gradlew build") } } tasks.register("ftcBuild") { group = "ftc" description = "Deploy code and build FTC APK" dependsOn("deployToSDK") val sdkDir = System.getenv("HOME") + "/ftc-sdk" workingDir(file(sdkDir)) commandLine("./gradlew", "build") }