mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-11-04 04:39:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
plugins {
 | 
						|
  id 'java-library'
 | 
						|
  id 'com.gradleup.shadow'
 | 
						|
  id 'signing'
 | 
						|
  id 'io.codearte.nexus-staging'
 | 
						|
  id 'maven-publish'
 | 
						|
}
 | 
						|
 | 
						|
apply from: "../versioning.gradle"
 | 
						|
 | 
						|
jar.enabled = false // Since we only want to build shadow jars, disabling the regular jar creation
 | 
						|
 | 
						|
// only include since required registry file
 | 
						|
processResources {
 | 
						|
  from("${project(':metadata-models').projectDir}/src/main/resources/entity-registry.yml")
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
  // Required for custom code plugins
 | 
						|
  api(project(':entity-registry')) {
 | 
						|
    // only include dataTemplate (and resources/entity-registry.yml from above)
 | 
						|
    exclude module: 'metadata-models'
 | 
						|
  }
 | 
						|
  implementation project(path: ':metadata-models', configuration: 'dataTemplate')
 | 
						|
 | 
						|
  // Required for MCL/MCP hooks
 | 
						|
  implementation(project(':metadata-io:metadata-io-api')) {
 | 
						|
    transitive = false
 | 
						|
  }
 | 
						|
 | 
						|
  // utility classes
 | 
						|
  implementation(project(':metadata-utils')) {
 | 
						|
    transitive = false
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
configurations.all {
 | 
						|
  exclude group: 'org.antlr'
 | 
						|
}
 | 
						|
 | 
						|
task sourcesJar(type: Jar) {
 | 
						|
  archiveClassifier = 'sources'
 | 
						|
  from sourceSets.main.allSource
 | 
						|
}
 | 
						|
 | 
						|
task javadocJar(type: Jar) {
 | 
						|
  archiveClassifier = 'javadoc'
 | 
						|
  from javadoc
 | 
						|
}
 | 
						|
 | 
						|
shadowJar {
 | 
						|
  zip64 = true
 | 
						|
  archiveClassifier = ''
 | 
						|
  // preventing java multi-release JAR leakage
 | 
						|
  // https://github.com/johnrengelman/shadow/issues/729
 | 
						|
  exclude('module-info.class', 'META-INF/versions/**',
 | 
						|
      '**/LICENSE', '**/LICENSE*.txt', '**/NOTICE', '**/NOTICE.txt', 'licenses/**', 'log4j2.*', 'log4j.*')
 | 
						|
  relocate 'com.fasterxml.jackson', 'datahub.shaded.jackson'
 | 
						|
  mergeServiceFiles()
 | 
						|
}
 | 
						|
 | 
						|
publishing {
 | 
						|
  publications {
 | 
						|
    shadow(MavenPublication) { publication ->
 | 
						|
      project.shadow.component(publication)
 | 
						|
      pom {
 | 
						|
        name = 'DataHub Custom Plugin Dependency'
 | 
						|
        group = 'io.acryl'
 | 
						|
        artifactId = 'datahub-custom-plugin-lib'
 | 
						|
        description = 'DataHub Java Custom Plugin dependencies'
 | 
						|
        url = 'https://docs.datahub.com'
 | 
						|
        artifacts = [shadowJar, javadocJar, sourcesJar]
 | 
						|
 | 
						|
        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://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/"
 | 
						|
      def snapshotsRepoUrl = "https://ossrh-staging-api.central.sonatype.com/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 {
 | 
						|
  required { gradle.taskGraph.hasTask("publish") }
 | 
						|
  def signingKey = findProperty("signingKey")
 | 
						|
  def signingPassword = System.getenv("SIGNING_PASSWORD")
 | 
						|
  useInMemoryPgpKeys(signingKey, signingPassword)
 | 
						|
  sign publishing.publications.shadow
 | 
						|
}
 | 
						|
 | 
						|
nexusStaging {
 | 
						|
  serverUrl = "https://ossrh-staging-api.central.sonatype.com/service/local/"
 | 
						|
  //required only for projects registered in Sonatype after 2021-02-24
 | 
						|
  username = System.getenv("RELEASE_USERNAME")
 | 
						|
  password = System.getenv("RELEASE_PASSWORD")
 | 
						|
} |