1*5be3f65cSAndroid Build Coastguard Worker /* 2*5be3f65cSAndroid Build Coastguard Worker * Copyright (c) Meta Platforms, Inc. and affiliates. 3*5be3f65cSAndroid Build Coastguard Worker * 4*5be3f65cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*5be3f65cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*5be3f65cSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*5be3f65cSAndroid Build Coastguard Worker * 8*5be3f65cSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*5be3f65cSAndroid Build Coastguard Worker * 10*5be3f65cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*5be3f65cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*5be3f65cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*5be3f65cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*5be3f65cSAndroid Build Coastguard Worker * limitations under the License. 15*5be3f65cSAndroid Build Coastguard Worker */ 16*5be3f65cSAndroid Build Coastguard Worker 17*5be3f65cSAndroid Build Coastguard Worker import com.ncorti.ktfmt.gradle.tasks.KtfmtCheckTask 18*5be3f65cSAndroid Build Coastguard Worker import com.ncorti.ktfmt.gradle.tasks.KtfmtFormatTask 19*5be3f65cSAndroid Build Coastguard Worker <lambda>null20*5be3f65cSAndroid Build Coastguard Workerplugins { 21*5be3f65cSAndroid Build Coastguard Worker kotlin("jvm") version "1.8.22" 22*5be3f65cSAndroid Build Coastguard Worker id("com.ncorti.ktfmt.gradle") version "0.19.0" 23*5be3f65cSAndroid Build Coastguard Worker } 24*5be3f65cSAndroid Build Coastguard Worker <lambda>null25*5be3f65cSAndroid Build Coastguard Workerrepositories { 26*5be3f65cSAndroid Build Coastguard Worker mavenLocal() 27*5be3f65cSAndroid Build Coastguard Worker mavenCentral() 28*5be3f65cSAndroid Build Coastguard Worker } 29*5be3f65cSAndroid Build Coastguard Worker 30*5be3f65cSAndroid Build Coastguard Worker val ktfmtVersion = rootProject.file("../version.txt").readText().trim() 31*5be3f65cSAndroid Build Coastguard Worker <lambda>null32*5be3f65cSAndroid Build Coastguard Workerdependencies { 33*5be3f65cSAndroid Build Coastguard Worker implementation("com.facebook:ktfmt:$ktfmtVersion") 34*5be3f65cSAndroid Build Coastguard Worker implementation(platform("software.amazon.awssdk:bom:2.10.73")) 35*5be3f65cSAndroid Build Coastguard Worker implementation("software.amazon.awssdk:lambda") 36*5be3f65cSAndroid Build Coastguard Worker implementation("com.amazonaws:aws-lambda-java-core:1.2.1") 37*5be3f65cSAndroid Build Coastguard Worker implementation("com.amazonaws:aws-lambda-java-events:2.2.9") 38*5be3f65cSAndroid Build Coastguard Worker implementation("com.google.code.gson:gson:2.8.6") 39*5be3f65cSAndroid Build Coastguard Worker testImplementation(kotlin("test-junit")) 40*5be3f65cSAndroid Build Coastguard Worker } 41*5be3f65cSAndroid Build Coastguard Worker <lambda>null42*5be3f65cSAndroid Build Coastguard Workerkotlin { jvmToolchain(17) } 43*5be3f65cSAndroid Build Coastguard Worker <lambda>null44*5be3f65cSAndroid Build Coastguard Workertasks { 45*5be3f65cSAndroid Build Coastguard Worker test { useJUnit() } 46*5be3f65cSAndroid Build Coastguard Worker 47*5be3f65cSAndroid Build Coastguard Worker val packageFat by 48*5be3f65cSAndroid Build Coastguard Worker creating(Zip::class) { 49*5be3f65cSAndroid Build Coastguard Worker from(compileKotlin) 50*5be3f65cSAndroid Build Coastguard Worker from(processResources) 51*5be3f65cSAndroid Build Coastguard Worker into("lib") { from(configurations.runtimeClasspath) } 52*5be3f65cSAndroid Build Coastguard Worker dirMode = 0b111101101 // 0755 53*5be3f65cSAndroid Build Coastguard Worker fileMode = 0b111101101 // 0755 54*5be3f65cSAndroid Build Coastguard Worker } 55*5be3f65cSAndroid Build Coastguard Worker 56*5be3f65cSAndroid Build Coastguard Worker val packageLibs by 57*5be3f65cSAndroid Build Coastguard Worker creating(Zip::class) { 58*5be3f65cSAndroid Build Coastguard Worker into("java/lib") { from(configurations.runtimeClasspath) } 59*5be3f65cSAndroid Build Coastguard Worker dirMode = 0b111101101 // 0755 60*5be3f65cSAndroid Build Coastguard Worker fileMode = 0b111101101 // 0755 61*5be3f65cSAndroid Build Coastguard Worker } 62*5be3f65cSAndroid Build Coastguard Worker 63*5be3f65cSAndroid Build Coastguard Worker val packageSkinny by 64*5be3f65cSAndroid Build Coastguard Worker creating(Zip::class) { 65*5be3f65cSAndroid Build Coastguard Worker from(compileKotlin) 66*5be3f65cSAndroid Build Coastguard Worker from(processResources) 67*5be3f65cSAndroid Build Coastguard Worker } 68*5be3f65cSAndroid Build Coastguard Worker 69*5be3f65cSAndroid Build Coastguard Worker build { dependsOn(packageSkinny) } 70*5be3f65cSAndroid Build Coastguard Worker 71*5be3f65cSAndroid Build Coastguard Worker // Set up ktfmt formatting tasks 72*5be3f65cSAndroid Build Coastguard Worker val ktfmtFormatKts by 73*5be3f65cSAndroid Build Coastguard Worker creating(KtfmtFormatTask::class) { 74*5be3f65cSAndroid Build Coastguard Worker source = fileTree(rootDir) 75*5be3f65cSAndroid Build Coastguard Worker include("**/*.kts") 76*5be3f65cSAndroid Build Coastguard Worker } 77*5be3f65cSAndroid Build Coastguard Worker val ktfmtCheckKts by 78*5be3f65cSAndroid Build Coastguard Worker creating(KtfmtCheckTask::class) { 79*5be3f65cSAndroid Build Coastguard Worker source = fileTree(rootDir) 80*5be3f65cSAndroid Build Coastguard Worker include("**/*.kts") 81*5be3f65cSAndroid Build Coastguard Worker mustRunAfter("compileKotlin") 82*5be3f65cSAndroid Build Coastguard Worker mustRunAfter("compileTestKotlin") 83*5be3f65cSAndroid Build Coastguard Worker mustRunAfter("test") 84*5be3f65cSAndroid Build Coastguard Worker } 85*5be3f65cSAndroid Build Coastguard Worker val ktfmtFormat by getting { dependsOn(ktfmtFormatKts) } 86*5be3f65cSAndroid Build Coastguard Worker val ktfmtCheck by getting { dependsOn(ktfmtCheckKts) } 87*5be3f65cSAndroid Build Coastguard Worker val check by getting { dependsOn(ktfmtCheck) } 88*5be3f65cSAndroid Build Coastguard Worker } 89