126 lines
3.9 KiB
Groovy
Raw Permalink Normal View History

plugins {
id("com.palantir.git-version") apply false
}
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'signing'
apply plugin: 'io.codearte.nexus-staging'
apply plugin: 'maven-publish'
apply from: '../../versioning.gradle'
dependencies {
implementation project(':entity-registry')
//
// // Jackson dependencies - use the same versions as in the parent project
// implementation 'com.fasterxml.jackson.core:jackson-core:2.12.3'
// implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
// implementation 'com.fasterxml.jackson.core:jackson-annotations:2.12.3'
// Core dependencies
// implementation externalDependency.guava
// implementation externalDependency.gson
// implementation externalDependency.commonsCli
// implementation externalDependency.slf4jApi
// implementation externalDependency.jacksonCore
// Schema format dependencies
// implementation externalDependency.protobuf
implementation externalDependency.avro
// implementation 'org.apache.thrift:libthrift:0.16.0'
// implementation 'io.swagger.parser.v3:swagger-parser:2.1.12'
// Utilities
compileOnly externalDependency.lombok
annotationProcessor externalDependency.lombok
// Testing
testImplementation externalDependency.testng
testImplementation 'org.mockito:mockito-core:5.3.1'
}
jacocoTestReport {
dependsOn test
}
test.finalizedBy jacocoTestReport
configurations {
provided
implementation.extendsFrom provided
}
java {
withJavadocJar()
withSourcesJar()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
pom {
name = 'Datahub Schematron'
groupId = 'io.acryl'
artifactId = 'datahub-schematron'
description = 'DataHub schema translation library for converting between different schema formats using DataHub as an intermediate representation'
url = 'https://docs.datahub.com'
scm {
connection = 'scm:git:git://github.com/datahub-project/datahub.git'
developerConnection = 'scm:git:ssh://github.com:datahub-project/datahub.git'
url = 'https://github.com/datahub-project/datahub.git'
}
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'datahub'
name = 'Datahub'
email = 'datahub@acryl.io'
}
}
}
}
}
repositories {
maven {
def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
def ossrhUsername = System.getenv('RELEASE_USERNAME')
def ossrhPassword = System.getenv('RELEASE_PASSWORD')
credentials {
username ossrhUsername
password ossrhPassword
}
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}
signing {
def signingKey = findProperty("signingKey")
def signingPassword = System.getenv("SIGNING_PASSWORD")
// Only require signing if we have the signing key property
required = signingKey != null
if (signingKey != null) {
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.mavenJava
}
}
nexusStaging {
serverUrl = "https://s01.oss.sonatype.org/service/local/"
username = System.getenv("NEXUS_USERNAME")
password = System.getenv("NEXUS_PASSWORD")
}