blob: 91fe69b710a8d82e064d63fc51a524fc70a69852 [file] [log] [blame]
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.ncorti.ktfmt.gradle.tasks.KtfmtCheckTask
import com.ncorti.ktfmt.gradle.tasks.KtfmtFormatTask
plugins {
kotlin("jvm") version "2.0.0"
id("com.ncorti.ktfmt.gradle") version "0.19.0"
}
repositories {
mavenLocal()
mavenCentral()
}
val ktfmtVersion = rootProject.file("../version.txt").readText().trim()
dependencies {
implementation("com.facebook:ktfmt:$ktfmtVersion")
implementation(platform("software.amazon.awssdk:bom:2.10.73"))
implementation("software.amazon.awssdk:lambda")
implementation("com.amazonaws:aws-lambda-java-core:1.2.1")
implementation("com.amazonaws:aws-lambda-java-events:2.2.9")
implementation("com.google.code.gson:gson:2.8.6")
testImplementation(kotlin("test-junit"))
}
kotlin { jvmToolchain(17) }
tasks {
test { useJUnit() }
val packageFat by
creating(Zip::class) {
from(compileKotlin)
from(processResources)
into("lib") { from(configurations.runtimeClasspath) }
dirMode = 0b111101101 // 0755
fileMode = 0b111101101 // 0755
}
val packageLibs by
creating(Zip::class) {
into("java/lib") { from(configurations.runtimeClasspath) }
dirMode = 0b111101101 // 0755
fileMode = 0b111101101 // 0755
}
val packageSkinny by
creating(Zip::class) {
from(compileKotlin)
from(processResources)
}
build { dependsOn(packageSkinny) }
// Set up ktfmt formatting tasks
val ktfmtFormatKts by
creating(KtfmtFormatTask::class) {
source = fileTree(rootDir)
include("**/*.kts")
}
val ktfmtCheckKts by
creating(KtfmtCheckTask::class) {
source = fileTree(rootDir)
include("**/*.kts")
mustRunAfter("compileKotlin")
mustRunAfter("compileTestKotlin")
mustRunAfter("test")
}
val ktfmtFormat by getting { dependsOn(ktfmtFormatKts) }
val ktfmtCheck by getting { dependsOn(ktfmtCheckKts) }
val check by getting { dependsOn(ktfmtCheck) }
}