2017-03-21 11:58:19 -07:00
|
|
|
buildscript {
|
2024-01-23 17:49:23 -06:00
|
|
|
ext.jdkVersionDefault = 17
|
|
|
|
ext.javaClassVersionDefault = 11
|
|
|
|
|
|
|
|
ext.jdkVersion = { p ->
|
|
|
|
// If Spring 6 is present, hard dependency on jdk17
|
|
|
|
if (p.configurations.any { it.getDependencies().any{
|
|
|
|
(it.getGroup().equals("org.springframework") && it.getVersion().startsWith("6."))
|
|
|
|
|| (it.getGroup().equals("org.springframework.boot") && it.getVersion().startsWith("3.") && !it.getName().equals("spring-boot-starter-test"))
|
|
|
|
}}) {
|
|
|
|
return 17
|
|
|
|
} else {
|
|
|
|
// otherwise we can use the preferred default which can be overridden with a property: -PjdkVersionDefault
|
|
|
|
return p.hasProperty('jdkVersionDefault') ? Integer.valueOf((String) p.getProperty('jdkVersionDefault')) : ext.jdkVersionDefault
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ext.javaClassVersion = { p ->
|
|
|
|
// If Spring 6 is present, hard dependency on jdk17
|
|
|
|
if (p.configurations.any { it.getDependencies().any{
|
|
|
|
(it.getGroup().equals("org.springframework") && it.getVersion().startsWith("6."))
|
|
|
|
|| (it.getGroup().equals("org.springframework.boot") && it.getVersion().startsWith("3.") && !it.getName().equals("spring-boot-starter-test"))
|
|
|
|
}}) {
|
|
|
|
return 17
|
|
|
|
} else {
|
|
|
|
// otherwise we can use the preferred default which can be overridden with a property: -PjavaClassVersionDefault
|
|
|
|
return p.hasProperty('javaClassVersionDefault') ? Integer.valueOf((String) p.getProperty('javaClassVersionDefault')) : ext.javaClassVersionDefault
|
|
|
|
}
|
|
|
|
}
|
2023-12-15 13:28:33 -06:00
|
|
|
|
2020-12-02 20:49:34 -08:00
|
|
|
ext.junitJupiterVersion = '5.6.1'
|
2022-12-26 10:09:08 -06:00
|
|
|
// Releases: https://github.com/linkedin/rest.li/blob/master/CHANGELOG.md
|
2024-02-07 17:03:22 -06:00
|
|
|
ext.pegasusVersion = '29.51.0'
|
2021-11-28 21:06:27 -08:00
|
|
|
ext.mavenVersion = '3.6.3'
|
2024-01-11 13:44:06 -06:00
|
|
|
ext.springVersion = '6.1.2'
|
|
|
|
ext.springBootVersion = '3.2.1'
|
|
|
|
ext.springKafkaVersion = '3.1.1'
|
2022-10-03 22:38:09 -07:00
|
|
|
ext.openTelemetryVersion = '1.18.0'
|
2023-12-15 13:28:33 -06:00
|
|
|
ext.neo4jVersion = '5.14.0'
|
|
|
|
ext.neo4jTestVersion = '5.14.0'
|
|
|
|
ext.neo4jApocVersion = '5.14.0'
|
2022-10-05 16:53:38 -05:00
|
|
|
ext.testContainersVersion = '1.17.4'
|
2023-09-21 13:01:55 -05:00
|
|
|
ext.elasticsearchVersion = '2.9.0' // ES 7.10, Opensearch 1.x, 2.x
|
2023-12-15 13:28:33 -06:00
|
|
|
ext.jacksonVersion = '2.15.3'
|
2024-01-11 13:44:06 -06:00
|
|
|
ext.jettyVersion = '11.0.19'
|
2022-12-08 20:27:51 -06:00
|
|
|
ext.playVersion = '2.8.18'
|
2022-12-04 21:57:47 -06:00
|
|
|
ext.log4jVersion = '2.19.0'
|
2023-04-21 15:45:20 -05:00
|
|
|
ext.slf4jVersion = '1.7.36'
|
2024-01-11 13:44:06 -06:00
|
|
|
ext.logbackClassic = '1.4.14'
|
2023-04-21 12:30:23 -05:00
|
|
|
ext.hadoop3Version = '3.3.5'
|
2023-05-17 10:32:23 -05:00
|
|
|
ext.kafkaVersion = '2.3.0'
|
2023-11-14 19:00:22 -06:00
|
|
|
ext.hazelcastVersion = '5.3.6'
|
2023-09-02 19:25:44 -05:00
|
|
|
ext.ebeanVersion = '12.16.1'
|
2023-12-06 11:02:42 +05:30
|
|
|
ext.googleJavaFormatVersion = '1.18.1'
|
2022-12-04 21:57:47 -06:00
|
|
|
|
2022-12-29 03:38:36 -06:00
|
|
|
ext.docker_registry = 'linkedin'
|
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
apply from: './repositories.gradle'
|
2017-03-21 11:58:19 -07:00
|
|
|
buildscript.repositories.addAll(project.repositories)
|
|
|
|
dependencies {
|
2020-05-08 12:00:28 -07:00
|
|
|
classpath 'com.linkedin.pegasus:gradle-plugins:' + pegasusVersion
|
2023-12-15 13:28:33 -06:00
|
|
|
classpath 'com.github.node-gradle:gradle-node-plugin:7.0.1'
|
2023-10-18 13:45:46 -05:00
|
|
|
classpath 'io.acryl.gradle.plugin:gradle-avro-plugin:0.2.0'
|
2022-04-19 16:42:41 -07:00
|
|
|
classpath 'org.springframework.boot:spring-boot-gradle-plugin:' + springBootVersion
|
2022-01-20 00:48:09 -08:00
|
|
|
classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.30.0"
|
2023-09-01 09:06:01 -05:00
|
|
|
classpath "com.palantir.gradle.gitversion:gradle-git-version:3.0.0"
|
|
|
|
classpath "org.gradle.playframework:gradle-playframework:0.14"
|
2023-12-15 13:28:33 -06:00
|
|
|
classpath "gradle.plugin.org.hidetake:gradle-swagger-generator-plugin:2.19.2"
|
2017-03-21 11:58:19 -07:00
|
|
|
}
|
|
|
|
}
|
2016-10-19 17:08:07 -07:00
|
|
|
|
2022-01-11 15:00:57 -08:00
|
|
|
plugins {
|
2023-12-15 13:28:33 -06:00
|
|
|
id 'com.gorylenko.gradle-git-properties' version '2.4.1'
|
|
|
|
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
2023-10-29 16:26:05 -05:00
|
|
|
id 'com.palantir.docker' version '0.35.0' apply false
|
2023-12-19 12:00:54 -06:00
|
|
|
id 'com.avast.gradle.docker-compose' version '0.17.5'
|
2023-12-06 11:02:42 +05:30
|
|
|
id "com.diffplug.spotless" version "6.23.3"
|
2022-12-26 10:09:08 -06:00
|
|
|
// https://blog.ltgt.net/javax-jakarta-mess-and-gradle-solution/
|
|
|
|
// TODO id "org.gradlex.java-ecosystem-capabilities" version "1.0"
|
2022-01-11 15:00:57 -08:00
|
|
|
}
|
|
|
|
|
2022-12-26 10:09:08 -06:00
|
|
|
apply from: "gradle/docker/docker.gradle"
|
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
project.ext.spec = [
|
|
|
|
'product' : [
|
|
|
|
'pegasus' : [
|
|
|
|
'd2' : 'com.linkedin.pegasus:d2:' + pegasusVersion,
|
|
|
|
'data' : 'com.linkedin.pegasus:data:' + pegasusVersion,
|
2023-11-14 19:00:22 -06:00
|
|
|
'dataAvro': 'com.linkedin.pegasus:data-avro:' + pegasusVersion,
|
2020-06-11 10:21:51 -07:00
|
|
|
'generator': 'com.linkedin.pegasus:generator:' + pegasusVersion,
|
2019-08-31 20:51:14 -07:00
|
|
|
'restliCommon' : 'com.linkedin.pegasus:restli-common:' + pegasusVersion,
|
|
|
|
'restliClient' : 'com.linkedin.pegasus:restli-client:' + pegasusVersion,
|
2020-10-28 08:05:00 -07:00
|
|
|
'restliDocgen' : 'com.linkedin.pegasus:restli-docgen:' + pegasusVersion,
|
2019-08-31 20:51:14 -07:00
|
|
|
'restliServer' : 'com.linkedin.pegasus:restli-server:' + pegasusVersion,
|
|
|
|
'restliSpringBridge': 'com.linkedin.pegasus:restli-spring-bridge:' + pegasusVersion,
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
2016-05-16 14:58:28 +02:00
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
project.ext.externalDependency = [
|
2022-12-08 20:27:51 -06:00
|
|
|
'akkaHttp': 'com.typesafe.akka:akka-http-core_2.12:10.2.10',
|
2021-01-22 15:44:00 -08:00
|
|
|
'antlr4Runtime': 'org.antlr:antlr4-runtime:4.7.2',
|
|
|
|
'antlr4': 'org.antlr:antlr4:4.7.2',
|
2020-10-28 13:32:04 -07:00
|
|
|
'assertJ': 'org.assertj:assertj-core:3.11.1',
|
2023-10-18 13:45:46 -05:00
|
|
|
'avro': 'org.apache.avro:avro:1.11.3',
|
|
|
|
'avroCompiler': 'org.apache.avro:avro-compiler:1.11.3',
|
2023-11-14 19:00:22 -06:00
|
|
|
'awsGlueSchemaRegistrySerde': 'software.amazon.glue:schema-registry-serde:1.1.17',
|
|
|
|
'awsMskIamAuth': 'software.amazon.msk:aws-msk-iam-auth:1.1.9',
|
|
|
|
'awsSecretsManagerJdbc': 'com.amazonaws.secretsmanager:aws-secretsmanager-jdbc:1.0.13',
|
|
|
|
'awsPostgresIamAuth': 'software.amazon.jdbc:aws-advanced-jdbc-wrapper:1.0.2',
|
2022-12-05 14:07:26 -05:00
|
|
|
'awsRds':'software.amazon.awssdk:rds:2.18.24',
|
2023-11-14 19:00:22 -06:00
|
|
|
'cacheApi': 'javax.cache:cache-api:1.1.0',
|
2022-09-18 18:04:47 -07:00
|
|
|
'commonsCli': 'commons-cli:commons-cli:1.5.0',
|
2019-08-31 20:51:14 -07:00
|
|
|
'commonsIo': 'commons-io:commons-io:2.4',
|
|
|
|
'commonsLang': 'commons-lang:commons-lang:2.6',
|
2022-12-01 16:43:15 -06:00
|
|
|
'commonsText': 'org.apache.commons:commons-text:1.10.0',
|
2021-06-24 23:00:55 -07:00
|
|
|
'commonsCollections': 'commons-collections:commons-collections:3.2.2',
|
2023-11-16 18:39:36 -06:00
|
|
|
'caffeine': 'com.github.ben-manes.caffeine:caffeine:3.1.8',
|
2022-04-26 01:29:24 +01:00
|
|
|
'datastaxOssNativeProtocol': 'com.datastax.oss:native-protocol:1.5.1',
|
2022-05-24 17:27:09 +01:00
|
|
|
'datastaxOssCore': 'com.datastax.oss:java-driver-core:4.14.1',
|
|
|
|
'datastaxOssQueryBuilder': 'com.datastax.oss:java-driver-query-builder:4.14.1',
|
2023-11-14 19:00:22 -06:00
|
|
|
'dgraph4j' : 'io.dgraph:dgraph4j:21.12.0',
|
2021-09-07 23:06:15 -07:00
|
|
|
'dropwizardMetricsCore': 'io.dropwizard.metrics:metrics-core:4.2.3',
|
|
|
|
'dropwizardMetricsJmx': 'io.dropwizard.metrics:metrics-jmx:4.2.3',
|
2023-09-02 19:25:44 -05:00
|
|
|
'ebean': 'io.ebean:ebean:' + ebeanVersion,
|
|
|
|
'ebeanAgent': 'io.ebean:ebean-agent:' + ebeanVersion,
|
|
|
|
'ebeanDdl': 'io.ebean:ebean-ddl-generator:' + ebeanVersion,
|
2023-09-21 13:01:55 -05:00
|
|
|
'elasticSearchRest': 'org.opensearch.client:opensearch-rest-high-level-client:' + elasticsearchVersion,
|
|
|
|
'elasticSearchJava': 'org.opensearch.client:opensearch-java:2.6.0',
|
2019-08-31 20:51:14 -07:00
|
|
|
'findbugsAnnotations': 'com.google.code.findbugs:annotations:3.0.1',
|
2023-06-07 18:42:19 -05:00
|
|
|
'graphqlJava': 'com.graphql-java:graphql-java:19.5',
|
|
|
|
'graphqlJavaScalars': 'com.graphql-java:graphql-java-extended-scalars:19.1',
|
2022-05-25 08:28:06 -07:00
|
|
|
'gson': 'com.google.code.gson:gson:2.8.9',
|
2024-01-11 13:44:06 -06:00
|
|
|
'guice': 'com.google.inject:guice:7.0.0',
|
|
|
|
'guice4': 'com.google.inject:guice:4.2.3', // Used for frontend while still on old Play version
|
2023-09-01 09:06:01 -05:00
|
|
|
'guava': 'com.google.guava:guava:32.1.2-jre',
|
2023-09-21 13:01:55 -05:00
|
|
|
'h2': 'com.h2database:h2:2.2.224',
|
2021-12-14 01:30:51 +05:30
|
|
|
'hadoopCommon':'org.apache.hadoop:hadoop-common:2.7.2',
|
|
|
|
'hadoopMapreduceClient':'org.apache.hadoop:hadoop-mapreduce-client-core:2.7.2',
|
2023-04-21 12:30:23 -05:00
|
|
|
"hadoopClient": "org.apache.hadoop:hadoop-client:$hadoop3Version",
|
|
|
|
"hadoopCommon3":"org.apache.hadoop:hadoop-common:$hadoop3Version",
|
2023-08-17 01:58:52 -05:00
|
|
|
'hazelcast':"com.hazelcast:hazelcast:$hazelcastVersion",
|
|
|
|
'hazelcastSpring':"com.hazelcast:hazelcast-spring:$hazelcastVersion",
|
|
|
|
'hazelcastTest':"com.hazelcast:hazelcast:$hazelcastVersion:tests",
|
2019-08-31 20:51:14 -07:00
|
|
|
'hibernateCore': 'org.hibernate:hibernate-core:5.2.16.Final',
|
2024-01-11 13:44:06 -06:00
|
|
|
'httpClient': 'org.apache.httpcomponents.client5:httpclient5:5.3',
|
2022-01-02 22:48:38 +05:30
|
|
|
'httpAsyncClient': 'org.apache.httpcomponents:httpasyncclient:4.1.5',
|
2021-06-03 13:24:33 -07:00
|
|
|
'iStackCommons': 'com.sun.istack:istack-commons-runtime:4.0.1',
|
2022-12-06 23:52:41 +05:30
|
|
|
'jacksonJDK8': "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$jacksonVersion",
|
|
|
|
'jacksonDataPropertyFormat': "com.fasterxml.jackson.dataformat:jackson-dataformat-properties:$jacksonVersion",
|
2022-12-01 16:43:15 -06:00
|
|
|
'jacksonCore': "com.fasterxml.jackson.core:jackson-core:$jacksonVersion",
|
2023-02-20 00:02:05 -06:00
|
|
|
'jacksonDataBind': "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion",
|
2022-12-01 16:43:15 -06:00
|
|
|
'jacksonDataFormatYaml': "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$jacksonVersion",
|
|
|
|
'woodstoxCore': 'com.fasterxml.woodstox:woodstox-core:6.4.0',
|
2020-09-11 13:04:21 -07:00
|
|
|
'javatuples': 'org.javatuples:javatuples:1.2',
|
|
|
|
'javaxInject' : 'javax.inject:javax.inject:1',
|
2022-05-03 19:38:05 -05:00
|
|
|
'javaxValidation' : 'javax.validation:validation-api:2.0.1.Final',
|
2019-08-31 20:51:14 -07:00
|
|
|
'jerseyCore': 'org.glassfish.jersey.core:jersey-client:2.25.1',
|
|
|
|
'jerseyGuava': 'org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1',
|
2022-12-01 16:43:15 -06:00
|
|
|
'jettyJaas': "org.eclipse.jetty:jetty-jaas:$jettyVersion",
|
|
|
|
'jettyClient': "org.eclipse.jetty:jetty-client:$jettyVersion",
|
2023-04-11 14:50:04 -05:00
|
|
|
'jettison': 'org.codehaus.jettison:jettison:1.5.4',
|
2022-03-11 12:13:00 -06:00
|
|
|
'jgrapht': 'org.jgrapht:jgrapht-core:1.5.1',
|
2022-10-05 16:53:38 -05:00
|
|
|
'jna': 'net.java.dev.jna:jna:5.12.1',
|
2022-09-23 01:52:18 -05:00
|
|
|
'jsonPatch': 'com.github.java-json-tools:json-patch:1.13',
|
2019-08-31 20:51:14 -07:00
|
|
|
'jsonSimple': 'com.googlecode.json-simple:json-simple:1.1.1',
|
2023-04-11 11:55:26 -05:00
|
|
|
'jsonSmart': 'net.minidev:json-smart:2.4.9',
|
2023-11-14 19:00:22 -06:00
|
|
|
'json': 'org.json:json:20231013',
|
2023-07-19 20:09:14 -05:00
|
|
|
'junit': 'junit:junit:4.13.2',
|
2020-12-02 20:49:34 -08:00
|
|
|
'junitJupiterApi': "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion",
|
|
|
|
'junitJupiterParams': "org.junit.jupiter:junit-jupiter-params:$junitJupiterVersion",
|
|
|
|
'junitJupiterEngine': "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion",
|
2020-09-09 16:37:47 -05:00
|
|
|
// avro-serde includes dependencies for `kafka-avro-serializer` `kafka-schema-registry-client` and `avro`
|
2020-09-29 13:12:43 +02:00
|
|
|
'kafkaAvroSerde': 'io.confluent:kafka-streams-avro-serde:5.5.1',
|
2022-06-21 06:02:57 +05:30
|
|
|
'kafkaAvroSerializer': 'io.confluent:kafka-avro-serializer:5.1.4',
|
2023-05-17 10:32:23 -05:00
|
|
|
'kafkaClients': "org.apache.kafka:kafka-clients:$kafkaVersion",
|
2023-11-14 19:00:22 -06:00
|
|
|
'snappy': 'org.xerial.snappy:snappy-java:1.1.10.4',
|
2022-12-04 21:57:47 -06:00
|
|
|
'logbackClassic': "ch.qos.logback:logback-classic:$logbackClassic",
|
|
|
|
'slf4jApi': "org.slf4j:slf4j-api:$slf4jVersion",
|
|
|
|
'log4jCore': "org.apache.logging.log4j:log4j-core:$log4jVersion",
|
|
|
|
'log4jApi': "org.apache.logging.log4j:log4j-api:$log4jVersion",
|
|
|
|
'log4j12Api': "org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
2022-12-08 20:27:51 -06:00
|
|
|
'log4j2Api': "org.apache.logging.log4j:log4j-to-slf4j:$log4jVersion",
|
2023-12-15 13:28:33 -06:00
|
|
|
'lombok': 'org.projectlombok:lombok:1.18.30',
|
2020-07-22 19:39:58 -07:00
|
|
|
'mariadbConnector': 'org.mariadb.jdbc:mariadb-java-client:2.6.0',
|
2021-11-28 21:06:27 -08:00
|
|
|
'mavenArtifact': "org.apache.maven:maven-artifact:$mavenVersion",
|
2022-05-17 13:37:45 -05:00
|
|
|
'mixpanel': 'com.mixpanel:mixpanel-java:1.4.4',
|
2023-12-15 13:28:33 -06:00
|
|
|
'mockito': 'org.mockito:mockito-core:4.11.0',
|
|
|
|
'mockitoInline': 'org.mockito:mockito-inline:4.11.0',
|
2022-01-02 22:48:38 +05:30
|
|
|
'mockServer': 'org.mock-server:mockserver-netty:5.11.2',
|
|
|
|
'mockServerClient': 'org.mock-server:mockserver-client-java:5.11.2',
|
2021-06-23 13:55:14 -07:00
|
|
|
'mysqlConnector': 'mysql:mysql-connector-java:8.0.20',
|
2023-11-10 17:58:38 +01:00
|
|
|
'neo4jHarness': 'org.neo4j.test:neo4j-harness:' + neo4jTestVersion,
|
2022-10-02 23:16:45 -07:00
|
|
|
'neo4jJavaDriver': 'org.neo4j.driver:neo4j-java-driver:' + neo4jVersion,
|
2023-11-10 17:58:38 +01:00
|
|
|
'neo4jTestJavaDriver': 'org.neo4j.driver:neo4j-java-driver:' + neo4jTestVersion,
|
2023-12-15 13:28:33 -06:00
|
|
|
'neo4jApocCore': 'org.neo4j.procedure:apoc-core:' + neo4jApocVersion,
|
|
|
|
'neo4jApocCommon': 'org.neo4j.procedure:apoc-common:' + neo4jApocVersion,
|
2022-10-03 22:38:09 -07:00
|
|
|
'opentelemetryApi': 'io.opentelemetry:opentelemetry-api:' + openTelemetryVersion,
|
|
|
|
'opentelemetryAnnotations': 'io.opentelemetry:opentelemetry-extension-annotations:' + openTelemetryVersion,
|
2022-03-14 23:18:27 +05:30
|
|
|
'opentracingJdbc':'io.opentracing.contrib:opentracing-jdbc:0.2.15',
|
2022-11-29 10:59:38 -06:00
|
|
|
'parquet': 'org.apache.parquet:parquet-avro:1.12.3',
|
2023-11-14 19:00:22 -06:00
|
|
|
'parquetHadoop': 'org.apache.parquet:parquet-hadoop:1.13.1',
|
2020-09-25 14:05:29 -07:00
|
|
|
'picocli': 'info.picocli:picocli:4.5.0',
|
2022-12-08 20:27:51 -06:00
|
|
|
'playCache': "com.typesafe.play:play-cache_2.12:$playVersion",
|
2023-11-29 08:02:57 +00:00
|
|
|
'playCaffeineCache': "com.typesafe.play:play-caffeine-cache_2.12:$playVersion",
|
2022-12-08 20:27:51 -06:00
|
|
|
'playWs': 'com.typesafe.play:play-ahc-ws-standalone_2.12:2.1.10',
|
|
|
|
'playDocs': "com.typesafe.play:play-docs_2.12:$playVersion",
|
|
|
|
'playGuice': "com.typesafe.play:play-guice_2.12:$playVersion",
|
|
|
|
'playJavaJdbc': "com.typesafe.play:play-java-jdbc_2.12:$playVersion",
|
|
|
|
'playAkkaHttpServer': "com.typesafe.play:play-akka-http-server_2.12:$playVersion",
|
|
|
|
'playServer': "com.typesafe.play:play-server_2.12:$playVersion",
|
|
|
|
'playTest': "com.typesafe.play:play-test_2.12:$playVersion",
|
|
|
|
'playFilters': "com.typesafe.play:filters-helpers_2.12:$playVersion",
|
|
|
|
'pac4j': 'org.pac4j:pac4j-oidc:4.5.7',
|
|
|
|
'playPac4j': 'org.pac4j:play-pac4j_2.12:9.0.2',
|
2022-12-01 16:43:15 -06:00
|
|
|
'postgresql': 'org.postgresql:postgresql:42.3.8',
|
|
|
|
'protobuf': 'com.google.protobuf:protobuf-java:3.19.6',
|
2023-11-14 19:00:22 -06:00
|
|
|
'grpcProtobuf': 'io.grpc:grpc-protobuf:1.53.0',
|
2022-11-30 17:05:01 -06:00
|
|
|
'rangerCommons': 'org.apache.ranger:ranger-plugins-common:2.3.0',
|
2021-11-28 21:06:27 -08:00
|
|
|
'reflections': 'org.reflections:reflections:0.9.9',
|
2021-10-13 18:53:47 -07:00
|
|
|
'resilience4j': 'io.github.resilience4j:resilience4j-retry:1.7.1',
|
2020-09-11 13:04:21 -07:00
|
|
|
'rythmEngine': 'org.rythmengine:rythm-engine:1.3.0',
|
2024-01-11 13:44:06 -06:00
|
|
|
'servletApi': 'jakarta.servlet:jakarta.servlet-api:6.0.0',
|
2024-02-12 14:08:50 -08:00
|
|
|
'shiroCore': 'org.apache.shiro:shiro-core:1.13.0',
|
2023-04-13 12:01:51 -05:00
|
|
|
'snakeYaml': 'org.yaml:snakeyaml:2.0',
|
2023-12-15 13:28:33 -06:00
|
|
|
'sparkSql' : 'org.apache.spark:spark-sql_2.12:3.0.3',
|
|
|
|
'sparkHive' : 'org.apache.spark:spark-hive_2.12:3.0.3',
|
2022-04-19 16:42:41 -07:00
|
|
|
'springBeans': "org.springframework:spring-beans:$springVersion",
|
|
|
|
'springContext': "org.springframework:spring-context:$springVersion",
|
|
|
|
'springCore': "org.springframework:spring-core:$springVersion",
|
2024-01-11 13:44:06 -06:00
|
|
|
'springDocUI': 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0',
|
2022-04-19 16:42:41 -07:00
|
|
|
'springJdbc': "org.springframework:spring-jdbc:$springVersion",
|
|
|
|
'springWeb': "org.springframework:spring-web:$springVersion",
|
|
|
|
'springWebMVC': "org.springframework:spring-webmvc:$springVersion",
|
2022-11-15 20:03:11 -06:00
|
|
|
'springBootTest': "org.springframework.boot:spring-boot-starter-test:$springBootVersion",
|
2022-04-19 16:42:41 -07:00
|
|
|
'springBoot': "org.springframework.boot:spring-boot:$springBootVersion",
|
|
|
|
'springBootAutoconfigure': "org.springframework.boot:spring-boot-autoconfigure:$springBootVersion",
|
|
|
|
'springBootStarterWeb': "org.springframework.boot:spring-boot-starter-web:$springBootVersion",
|
|
|
|
'springBootStarterJetty': "org.springframework.boot:spring-boot-starter-jetty:$springBootVersion",
|
|
|
|
'springBootStarterCache': "org.springframework.boot:spring-boot-starter-cache:$springBootVersion",
|
2023-09-07 17:09:52 -05:00
|
|
|
'springBootStarterValidation': "org.springframework.boot:spring-boot-starter-validation:$springBootVersion",
|
2024-01-11 13:44:06 -06:00
|
|
|
'springKafka': "org.springframework.kafka:spring-kafka:$springKafkaVersion",
|
2022-04-19 16:42:41 -07:00
|
|
|
'springActuator': "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion",
|
2023-10-02 12:08:37 -05:00
|
|
|
'swaggerAnnotations': 'io.swagger.core.v3:swagger-annotations:2.2.15',
|
|
|
|
'swaggerCli': 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.46',
|
2024-01-23 17:49:23 -06:00
|
|
|
'springBootAutoconfigureJdk11': 'org.springframework.boot:spring-boot-autoconfigure:2.7.18',
|
2023-09-21 13:01:55 -05:00
|
|
|
'testng': 'org.testng:testng:7.8.0',
|
2022-10-05 16:53:38 -05:00
|
|
|
'testContainers': 'org.testcontainers:testcontainers:' + testContainersVersion,
|
|
|
|
'testContainersJunit': 'org.testcontainers:junit-jupiter:' + testContainersVersion,
|
|
|
|
'testContainersPostgresql':'org.testcontainers:postgresql:' + testContainersVersion,
|
|
|
|
'testContainersElasticsearch': 'org.testcontainers:elasticsearch:' + testContainersVersion,
|
|
|
|
'testContainersCassandra': 'org.testcontainers:cassandra:' + testContainersVersion,
|
2023-05-01 13:18:41 -05:00
|
|
|
'testContainersKafka': 'org.testcontainers:kafka:' + testContainersVersion,
|
2023-09-21 13:01:55 -05:00
|
|
|
'testContainersOpenSearch': 'org.opensearch:opensearch-testcontainers:2.0.0',
|
2022-02-03 23:24:11 +05:30
|
|
|
'typesafeConfig':'com.typesafe:config:1.4.1',
|
2021-12-14 01:30:51 +05:30
|
|
|
'wiremock':'com.github.tomakehurst:wiremock:2.10.0',
|
2023-11-06 19:51:20 -06:00
|
|
|
'zookeeper': 'org.apache.zookeeper:zookeeper:3.7.2',
|
2023-06-07 18:42:19 -05:00
|
|
|
'wire': 'com.squareup.wire:wire-compiler:3.7.1',
|
|
|
|
'charle': 'com.charleskorn.kaml:kaml:0.53.0',
|
|
|
|
'common': 'commons-io:commons-io:2.7',
|
|
|
|
'jline':'jline:jline:1.4.1',
|
2023-12-15 13:28:33 -06:00
|
|
|
'jetbrains':' org.jetbrains.kotlin:kotlin-stdlib:1.6.0',
|
2024-01-08 14:20:03 -06:00
|
|
|
'annotationApi': 'javax.annotation:javax.annotation-api:1.3.2',
|
|
|
|
'classGraph': 'io.github.classgraph:classgraph:4.8.165',
|
2019-08-31 20:51:14 -07:00
|
|
|
]
|
2017-03-21 11:58:19 -07:00
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
allprojects {
|
|
|
|
apply plugin: 'idea'
|
|
|
|
apply plugin: 'eclipse'
|
2022-12-26 10:09:08 -06:00
|
|
|
// apply plugin: 'org.gradlex.java-ecosystem-capabilities'
|
2023-12-15 13:28:33 -06:00
|
|
|
|
2024-02-07 17:03:22 -06:00
|
|
|
tasks.withType(Test).configureEach { task -> if (task.project.name != "metadata-io") {
|
|
|
|
// https://docs.gradle.org/current/userguide/performance.html
|
|
|
|
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
|
2023-12-15 13:28:33 -06:00
|
|
|
|
2024-02-07 17:03:22 -06:00
|
|
|
if (project.configurations.getByName("testImplementation").getDependencies()
|
|
|
|
.any { it.getName().contains("testng") }) {
|
|
|
|
useTestNG()
|
|
|
|
}
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-23 17:49:23 -06:00
|
|
|
/**
|
|
|
|
* If making changes to this section also see the sections for pegasus below
|
|
|
|
* which use project.plugins.hasPlugin('pegasus')
|
|
|
|
**/
|
|
|
|
if (!project.plugins.hasPlugin('pegasus') && (project.plugins.hasPlugin('java')
|
2023-12-15 13:28:33 -06:00
|
|
|
|| project.plugins.hasPlugin('java-library')
|
2024-01-23 17:49:23 -06:00
|
|
|
|| project.plugins.hasPlugin('application'))) {
|
2023-12-15 13:28:33 -06:00
|
|
|
|
|
|
|
java {
|
|
|
|
toolchain {
|
2024-01-23 17:49:23 -06:00
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileJava {
|
2024-01-23 17:49:23 -06:00
|
|
|
options.release = javaClassVersion(project)
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
2024-01-23 17:49:23 -06:00
|
|
|
|
2023-12-15 13:28:33 -06:00
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
|
|
javaCompiler = javaToolchains.compilerFor {
|
2024-01-23 17:49:23 -06:00
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
2024-01-11 13:44:06 -06:00
|
|
|
// Puts parameter names into compiled class files, necessary for Spring 6
|
|
|
|
options.compilerArgs.add("-parameters")
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaExec).configureEach {
|
|
|
|
javaLauncher = javaToolchains.launcherFor {
|
2024-01-23 17:49:23 -06:00
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
}
|
2024-01-23 17:49:23 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
// not duplicated, need to set this outside and inside afterEvaluate
|
|
|
|
afterEvaluate {
|
|
|
|
/**
|
|
|
|
* If making changes to this section also see the sections for pegasus below
|
|
|
|
* which use project.plugins.hasPlugin('pegasus')
|
|
|
|
**/
|
|
|
|
if (!project.plugins.hasPlugin('pegasus') && (project.plugins.hasPlugin('java')
|
|
|
|
|| project.plugins.hasPlugin('java-library')
|
|
|
|
|| project.plugins.hasPlugin('application'))) {
|
2023-12-15 13:28:33 -06:00
|
|
|
|
|
|
|
compileJava {
|
2024-01-23 17:49:23 -06:00
|
|
|
options.release = javaClassVersion(project)
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaExec).configureEach {
|
|
|
|
javaLauncher = javaToolchains.launcherFor {
|
2024-01-23 17:49:23 -06:00
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-06-28 17:04:12 -07:00
|
|
|
}
|
|
|
|
|
2022-12-06 23:52:41 +05:30
|
|
|
configure(subprojects.findAll {! it.name.startsWith('spark-lineage')}) {
|
2021-06-24 23:00:55 -07:00
|
|
|
|
|
|
|
configurations.all {
|
|
|
|
exclude group: "io.netty", module: "netty"
|
2022-12-01 16:43:15 -06:00
|
|
|
exclude group: "log4j", module: "log4j"
|
2022-11-30 17:05:01 -06:00
|
|
|
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
|
|
|
|
exclude group: "com.vaadin.external.google", module: "android-json"
|
|
|
|
exclude group: "org.slf4j", module: "slf4j-reload4j"
|
|
|
|
exclude group: "org.slf4j", module: "slf4j-log4j12"
|
|
|
|
exclude group: "org.slf4j", module: "slf4j-nop"
|
|
|
|
exclude group: "org.slf4j", module: "slf4j-ext"
|
2021-06-24 23:00:55 -07:00
|
|
|
}
|
2022-01-11 14:55:21 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
subprojects {
|
|
|
|
|
2023-09-01 09:06:01 -05:00
|
|
|
apply plugin: 'maven-publish'
|
2022-01-11 15:00:57 -08:00
|
|
|
apply plugin: 'com.gorylenko.gradle-git-properties'
|
2023-12-06 11:02:42 +05:30
|
|
|
apply plugin: 'com.diffplug.spotless'
|
2022-01-11 15:00:57 -08:00
|
|
|
|
|
|
|
gitProperties {
|
|
|
|
keys = ['git.commit.id','git.commit.id.describe','git.commit.time']
|
|
|
|
// using any tags (not limited to annotated tags) for "git.commit.id.describe" property
|
|
|
|
// see http://ajoberstar.org/grgit/grgit-describe.html for more info about the describe method and available parameters
|
|
|
|
// 'it' is an instance of org.ajoberstar.grgit.Grgit
|
|
|
|
customProperty 'git.commit.id.describe', { it.describe(tags: true) }
|
2022-01-25 21:52:47 -08:00
|
|
|
failOnNoGitDirectory = false
|
2022-01-11 15:00:57 -08:00
|
|
|
}
|
2022-01-11 14:55:21 -08:00
|
|
|
|
2023-12-15 13:28:33 -06:00
|
|
|
plugins.withType(JavaPlugin).configureEach {
|
2024-01-03 17:16:16 -05:00
|
|
|
if (project.name == 'datahub-web-react') {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2020-02-21 11:53:45 -08:00
|
|
|
dependencies {
|
2023-12-15 13:28:33 -06:00
|
|
|
implementation externalDependency.annotationApi
|
2021-06-28 17:04:12 -07:00
|
|
|
constraints {
|
2023-12-06 11:02:42 +05:30
|
|
|
implementation("com.google.googlejavaformat:google-java-format:$googleJavaFormatVersion")
|
2023-11-14 19:00:22 -06:00
|
|
|
implementation('io.netty:netty-all:4.1.100.Final')
|
2022-03-22 15:21:55 -06:00
|
|
|
implementation('org.apache.commons:commons-compress:1.21')
|
|
|
|
implementation('org.apache.velocity:velocity-engine-core:2.3')
|
|
|
|
implementation('org.hibernate:hibernate-validator:6.0.20.Final')
|
2023-02-20 00:02:05 -06:00
|
|
|
implementation("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion")
|
2022-12-01 16:43:15 -06:00
|
|
|
implementation("com.fasterxml.jackson.core:jackson-dataformat-cbor:$jacksonVersion")
|
2021-06-28 17:04:12 -07:00
|
|
|
}
|
2020-02-21 11:53:45 -08:00
|
|
|
}
|
2023-12-15 13:28:33 -06:00
|
|
|
|
2023-12-06 11:02:42 +05:30
|
|
|
spotless {
|
|
|
|
java {
|
|
|
|
googleJavaFormat()
|
|
|
|
target project.fileTree(project.projectDir) {
|
2023-12-15 13:28:33 -06:00
|
|
|
include 'src/**/*.java'
|
|
|
|
exclude 'src/**/resources/'
|
|
|
|
exclude 'src/**/generated/'
|
|
|
|
exclude 'src/**/mainGeneratedDataTemplate/'
|
|
|
|
exclude 'src/**/mainGeneratedRest/'
|
|
|
|
exclude 'src/renamed/avro/'
|
|
|
|
exclude 'src/test/sample-test-plugins/'
|
2023-12-06 11:02:42 +05:30
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-12-15 13:28:33 -06:00
|
|
|
|
|
|
|
if (project.plugins.hasPlugin('pegasus')) {
|
|
|
|
dependencies {
|
|
|
|
dataTemplateCompile spec.product.pegasus.data
|
|
|
|
dataTemplateCompile externalDependency.annotationApi // support > jdk8
|
|
|
|
restClientCompile spec.product.pegasus.restliClient
|
|
|
|
}
|
2024-01-23 17:49:23 -06:00
|
|
|
|
|
|
|
java {
|
|
|
|
toolchain {
|
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileJava {
|
|
|
|
options.release = javaClassVersion(project)
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
|
|
javaCompiler = javaToolchains.compilerFor {
|
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
|
|
|
}
|
|
|
|
// Puts parameter names into compiled class files, necessary for Spring 6
|
|
|
|
options.compilerArgs.add("-parameters")
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaExec).configureEach {
|
|
|
|
javaLauncher = javaToolchains.launcherFor {
|
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
|
|
|
}
|
|
|
|
}
|
2023-12-15 13:28:33 -06:00
|
|
|
}
|
|
|
|
|
2023-12-06 11:02:42 +05:30
|
|
|
afterEvaluate {
|
|
|
|
def spotlessJavaTask = tasks.findByName('spotlessJava')
|
|
|
|
def processTask = tasks.findByName('processResources')
|
|
|
|
if (processTask != null) {
|
|
|
|
spotlessJavaTask.dependsOn processTask
|
|
|
|
}
|
|
|
|
def compileJavaTask = tasks.findByName('compileJava')
|
|
|
|
if (compileJavaTask != null) {
|
|
|
|
spotlessJavaTask.dependsOn compileJavaTask
|
|
|
|
}
|
|
|
|
// TODO - Do not run this in CI. How?
|
|
|
|
// tasks.withType(JavaCompile) {
|
|
|
|
// finalizedBy(tasks.findByName('spotlessApply'))
|
|
|
|
// }
|
2020-05-07 15:59:16 -07:00
|
|
|
}
|
2020-02-21 11:53:45 -08:00
|
|
|
}
|
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
afterEvaluate {
|
|
|
|
if (project.plugins.hasPlugin('pegasus')) {
|
|
|
|
dependencies {
|
|
|
|
dataTemplateCompile spec.product.pegasus.data
|
2023-12-15 13:28:33 -06:00
|
|
|
dataTemplateCompile externalDependency.annotationApi // support > jdk8
|
2019-08-31 20:51:14 -07:00
|
|
|
restClientCompile spec.product.pegasus.restliClient
|
|
|
|
}
|
2024-01-23 17:49:23 -06:00
|
|
|
|
|
|
|
compileJava {
|
|
|
|
options.release = javaClassVersion(project)
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaExec).configureEach {
|
|
|
|
javaLauncher = javaToolchains.launcherFor {
|
|
|
|
languageVersion = JavaLanguageVersion.of(jdkVersion(project))
|
|
|
|
}
|
|
|
|
}
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|
2019-10-22 04:51:02 -07:00
|
|
|
}
|
2020-07-22 19:43:30 -07:00
|
|
|
}
|