plugins { // Java compilation, unit tests, and library distribution needs. Read more at: // https://docs.gradle.org/current/userguide/java_library_plugin.html id 'java-library' // Maven publishing needs id 'maven-publish' // Signing needs for Maven publishing id 'signing' // SpotBugs for quality checks and reports of source files. Read more at: // https://spotbugs.readthedocs.io/en/stable/gradle.html id "com.github.spotbugs" version "5.0.14" // Vanilla code generation. Read more at: // https://projectlombok.org/ id "io.freefair.lombok" version "$freefair_version" } apply plugin: 'com.github.spotbugs' /* Configures the SpotBugs "com.github.spotbugs" plugin. Remove this and the plugin to skip these checks and report generation. */ spotbugs { ignoreFailures.set(false) spotbugsTest.enabled = false excludeFilter.set(file("../config/spotbugs/excludeFilter.xml")) } ext.hadoop_version = '3.3.6' dependencies { // AWS-C3R implementation project(":c3r-sdk-core") // Parsing - Parquet implementation 'org.apache.parquet:parquet-hadoop:1.13.1' // Parsing - For Hadoop abstractions some Parquet APIs require (i.e., // this code base doesn't really use them at all). // At some point if there's a way to avoid this that may // reduce dependency bloat quite a bit. // Classes requiring this dependency: // + org.apache.hadoop.conf.Configuration // + org.apache.hadoop.fs.Path implementation "org.apache.hadoop:hadoop-common:$hadoop_version" implementation "org.apache.hadoop:hadoop-mapreduce-client-core:$hadoop_version" testImplementation project(path: ':c3r-sdk-core', configuration: 'testArtifacts') } test { useJUnitPlatform() // Always run tests, even when nothing changed. dependsOn 'cleanTest' // Show test results. testLogging { events "failed" showExceptions true exceptionFormat "full" showCauses true showStackTraces true showStandardStreams = false } finalizedBy jacocoTestReport } task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = "sources" from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { archiveClassifier = "javadoc" from javadoc.destinationDir } artifacts { archives sourcesJar archives javadocJar } // Maven Publishing publishing { publications { maven(MavenPublication) { version "$c3r_version" groupId 'software.amazon.c3r' artifact sourcesJar artifact javadocJar from components.java pom { name = 'Amazon C3R SDK Parquet' description = 'Cryptographic Computing for Clean Rooms SDK Parquet Support' url = 'https://github.com/aws/c3r' inceptionYear = '2022' scm { url = 'https://github.com/aws/c3r/tree/main' connection = 'scm:git:ssh://git@github.com/aws/c3r.git' developerConnection = 'scm:git:ssh://git@github.com/aws/c3r.git' } licenses { license { name = 'The Apache License, Version 2.0' url = 'https://www.apache.org/licenses/LICENSE-2.0.txt' distribution = 'repo' } } developers { developer { id = "amazonwebservices" name = "Amazon Web Services" } } } } } repositories { maven { url = 'https://aws.oss.sonatype.org/service/local/staging/deploy/maven2/' credentials(PasswordCredentials) } } } signing { sign publishing.publications.maven }