| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  | 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' | 
					
						
							| 
									
										
										
										
											2025-04-28 23:34:33 +09:00
										 |  |  |                 url = 'https://docs.datahub.com' | 
					
						
							| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |                 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 { | 
					
						
							| 
									
										
										
										
											2025-08-11 21:09:41 +05:30
										 |  |  |             def releasesRepoUrl = "https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/" | 
					
						
							|  |  |  |             def snapshotsRepoUrl = "https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots/" | 
					
						
							| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  |             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 { | 
					
						
							| 
									
										
										
										
											2025-08-11 21:09:41 +05:30
										 |  |  |     serverUrl = "https://ossrh-staging-api.central.sonatype.com/service/local/" | 
					
						
							| 
									
										
										
										
											2025-09-03 12:25:54 +05:30
										 |  |  |     username = System.getenv("RELEASE_USERNAME") | 
					
						
							|  |  |  |     password = System.getenv("RELEASE_PASSWORD") | 
					
						
							| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  | } |