Adjust dependency management for Dependabot

* Add `com.github.spotbugs` plugin to avoid warnings about missed nullability annotations
* Make `TimeSupplierConfiguration` as an auto-configuration
* Add `io.debezium:debezium-bom` as the first one to let others override its deps versions
* Move `org.springframework.boot:spring-boot-dependencies` after `io.awspring.cloud:spring-cloud-aws-dependencies`
to override its deps versions (e.g. `jakarta.mail` `1.0.0` > `2.0.2`)
This commit is contained in:
Artem Bilan
2023-12-23 12:42:44 -05:00
parent f743fb3f8a
commit 5cfbbecb8b
18 changed files with 51 additions and 52 deletions

View File

@@ -5,6 +5,8 @@ buildscript {
plugins {
id 'base'
id 'io.spring.dependency-management' version '1.1.4'
id 'com.github.spotbugs' version '6.0.4'
id 'com.google.protobuf' version '0.9.4' apply false
}
description = 'Spring Functions Catlog'
@@ -46,9 +48,10 @@ allprojects {
}
imports {
mavenBom "io.debezium:debezium-bom:$debeziumVersion"
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion"
mavenBom "org.springframework.boot:spring-boot-dependencies:$springBootVersion"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion"
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion"
}
}
@@ -115,6 +118,10 @@ configure(javaProjects) { subproject ->
api 'org.springframework.boot:spring-boot-starter-integration'
api 'com.jayway.jsonpath:json-path'
def spotbugsAnnotations = "com.github.spotbugs:spotbugs-annotations:${spotbugs.toolVersion.get()}"
compileOnly spotbugsAnnotations
testCompileOnly spotbugsAnnotations
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.integration:spring-integration-test'
testImplementation 'io.projectreactor:reactor-test'

View File

@@ -1,5 +1,5 @@
dependencies {
api "org.springframework.integration:spring-integration-aws:$springIntegrationAwsVersion"
api springIntegrationAws
api 'io.awspring.cloud:spring-cloud-aws-starter-s3'
api 'software.amazon.awssdk:aws-crt-client'
api 'org.springframework.integration:spring-integration-file'

View File

@@ -1,17 +1,13 @@
ext {
apicurioVersion = '2.5.1.Final'
}
repositories {
maven { url 'https://maven.scijava.org/content/repositories/public/' }
}
dependencies {
api 'org.springframework.integration:spring-integration-debezium'
api "io.apicurio:apicurio-registry-utils-converter:$apicurioVersion"
api "io.apicurio:apicurio-registry-client:$apicurioVersion"
api 'io.apicurio:apicurio-registry-utils-converter'
api 'io.apicurio:apicurio-registry-client'
testImplementation "io.debezium:debezium-connector-mysql:$debeziumVersion"
testImplementation 'io.debezium:debezium-connector-mysql'
testImplementation 'org.springframework:spring-jdbc'
testImplementation 'com.zaxxer:HikariCP'
}

View File

@@ -2,7 +2,7 @@ dependencies {
api 'org.junit.jupiter:junit-jupiter-api'
api 'org.testcontainers:junit-jupiter'
optionalApi "org.apache.ftpserver:ftpserver-core:$ftpServerVersion"
optionalApi ftpserverCore
optionalApi 'org.springframework.integration:spring-integration-sftp'
optionalApi 'org.springframework:spring-websocket'
}

View File

@@ -8,7 +8,7 @@ dependencies {
optionalApi 'io.awspring.cloud:spring-cloud-aws-starter'
optionalApi 'org.springframework.integration:spring-integration-zookeeper'
optionalApi 'org.springframework.integration:spring-integration-hazelcast'
optionalApi "org.springframework.integration:spring-integration-aws:$springIntegrationAwsVersion"
optionalApi springIntegrationAws
api 'software.amazon.awssdk:dynamodb'
testImplementation 'org.hsqldb:hsqldb'

View File

@@ -1,4 +1,4 @@
dependencies {
api 'org.twitter4j:twitter4j-stream:4.0.7'
api twitter4jStream
api 'org.springframework.integration:spring-integration-ip'
}

View File

@@ -2,5 +2,7 @@ dependencies {
api 'org.springframework.integration:spring-integration-cassandra'
api 'org.springframework.boot:spring-boot-starter-data-cassandra-reactive'
testImplementation 'org.testcontainers:cassandra'
testImplementation ('org.testcontainers:cassandra') {
exclude group: 'com.datastax.cassandra'
}
}

View File

@@ -2,5 +2,5 @@ dependencies {
api project(':ftp-common')
testImplementation project(':function-test-support')
testImplementation "org.apache.ftpserver:ftpserver-core:$ftpServerVersion"
testImplementation ftpserverCore
}

View File

@@ -2,9 +2,14 @@ ext {
springBootVersion = '3.2.1'
springCloudVersion = '2023.0.0'
springCloudAwsVersion = '3.0.4'
springIntegrationAwsVersion = '3.0.4'
debeziumVersion = '2.4.1.Final'
ftpServerVersion = '1.2.0'
mockserverVersion = '5.13.2'
protobufVersion='3.25.1'
springIntegrationAws = 'org.springframework.integration:spring-integration-aws:3.0.4'
ftpserverCore = 'org.apache.ftpserver:ftpserver-core:1.2.0'
mockserverNetty = 'org.mock-server:mockserver-netty:5.15.0'
twitter4jStream = 'org.twitter4j:twitter4j-stream:4.0.7'
greenmail = 'com.icegreen:greenmail:2.1.0-alpha-3'
protobufJava = "com.google.protobuf:protobuf-java:$protobufVersion"
}

View File

@@ -1,14 +1,8 @@
plugins {
id 'com.google.protobuf' version '0.9.4'
}
ext {
protobufVersion='3.25.1'
}
apply plugin: 'com.google.protobuf'
dependencies {
api project(':tensorflow-common')
api "com.google.protobuf:protobuf-java:$protobufVersion"
api protobufJava
}
protobuf {

View File

@@ -1,6 +1,5 @@
dependencies {
api project(':twitter-common')
testImplementation "org.mock-server:mockserver-netty:$mockserverVersion"
testImplementation "org.mock-server:mockserver-client-java:$mockserverVersion"
testImplementation mockserverNetty
}

View File

@@ -4,15 +4,15 @@ repositories {
dependencies {
api project(':debezium-autoconfigure')
api "io.debezium:debezium-connector-mysql:$debeziumVersion"
api "io.debezium:debezium-connector-mongodb:$debeziumVersion"
api "io.debezium:debezium-connector-postgres:$debeziumVersion"
api "io.debezium:debezium-connector-oracle:$debeziumVersion"
api "io.debezium:debezium-connector-sqlserver:$debeziumVersion"
api "io.debezium:debezium-connector-db2:$debeziumVersion"
api "io.debezium:debezium-connector-vitess:$debeziumVersion"
api "io.debezium:debezium-connector-spanner:$debeziumVersion"
api "io.debezium:debezium-connector-spanner:$debeziumVersion"
api 'io.debezium:debezium-connector-mysql'
api 'io.debezium:debezium-connector-mongodb'
api 'io.debezium:debezium-connector-postgres'
api 'io.debezium:debezium-connector-oracle'
api 'io.debezium:debezium-connector-sqlserver'
api 'io.debezium:debezium-connector-db2'
api 'io.debezium:debezium-connector-vitess'
api 'io.debezium:debezium-connector-spanner'
api 'io.debezium:debezium-connector-spanner'
testImplementation 'com.zaxxer:HikariCP'
testImplementation 'org.springframework:spring-jdbc'

View File

@@ -4,5 +4,5 @@ dependencies {
api project(':metadata-store-common')
testImplementation project(':function-test-support')
testImplementation "org.apache.ftpserver:ftpserver-core:$ftpServerVersion"
testImplementation ftpserverCore
}

View File

@@ -1,7 +1,6 @@
dependencies {
api 'org.springframework.integration:spring-integration-mail'
api 'org.springframework.boot:spring-boot-starter-mail'
api 'org.eclipse.angus:jakarta.mail:2.0.2'
testImplementation 'com.icegreen:greenmail:2.1.0-alpha-3'
testImplementation greenmail
}

View File

@@ -1,3 +0,0 @@
dependencies {
api 'org.apache.commons:commons-lang3'
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2020-2020 the original author or authors.
* Copyright 2020-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,26 +16,26 @@
package org.springframework.cloud.fn.supplier.time;
import java.util.Date;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.function.Supplier;
import org.apache.commons.lang3.time.FastDateFormat;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author Soby Chacko
* @author Artem Bilan
*/
@Configuration
@AutoConfiguration
@EnableConfigurationProperties(TimeSupplierProperties.class)
public class TimeSupplierConfiguration {
@Bean
public Supplier<String> timeSupplier(TimeSupplierProperties timeSupplierProperties) {
FastDateFormat fastDateFormat = FastDateFormat.getInstance(timeSupplierProperties.getDateFormat());
return () -> fastDateFormat.format(new Date());
DateTimeFormatter fastDateFormat = DateTimeFormatter.ofPattern(timeSupplierProperties.getDateFormat());
return () -> fastDateFormat.format(LocalDateTime.now());
}
}

View File

@@ -0,0 +1 @@
org.springframework.cloud.fn.supplier.time.TimeSupplierConfiguration

View File

@@ -3,6 +3,5 @@ dependencies {
api 'org.springframework.integration:spring-integration-jms'
api 'jakarta.jms:jakarta.jms-api'
testImplementation "org.mock-server:mockserver-netty:$mockserverVersion"
testImplementation "org.mock-server:mockserver-client-java:$mockserverVersion"
testImplementation mockserverNetty
}