Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency management for Apache Kafka is incomplete #29023

Closed
artembilan opened this issue Dec 14, 2021 · 3 comments
Closed

Dependency management for Apache Kafka is incomplete #29023

artembilan opened this issue Dec 14, 2021 · 3 comments
Assignees
Labels
type: bug
Milestone

Comments

@artembilan
Copy link
Member

@artembilan artembilan commented Dec 14, 2021

The current Apache Kafka management is like this:

	library("Kafka", "3.0.0") {
		group("org.apache.kafka") {
			modules = [
				"connect-api",
				"connect-basic-auth-extension",
				"connect-file",
				"connect-json",
				"connect-runtime",
				"connect-transforms",
				"kafka-clients",
				"kafka-metadata",
				"kafka-log4j-appender",
				"kafka-streams",
				"kafka-streams-scala_2.12",
				"kafka-streams-scala_2.13",
				"kafka-streams-test-utils",
				"kafka-tools",
				"kafka_2.12",
				"kafka_2.13"
			]
		}
	}

There are two more dependencies which would really use for testing in Spring for Apache Kafka when our @EmbeddedKafka is involved:

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <classifier>test</classifier>
            <scope>test</scope>
            <version>${kafka.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.13</artifactId>
            <classifier>test</classifier>
            <scope>test</scope>
            <version>${kafka.version}</version>
        </dependency>

Pay attention to that <classifier>test</classifier>.

They come as transitive dependencies from spring-kafka-test but if we need to override an Apache Kafka version for some reason, we also have to add those two dependencies explicitly: https://docs.spring.io/spring-kafka/docs/2.8.1-SNAPSHOT/reference/html/#update-deps.

It probably would be much nicer just be let end-users to specify a Kafka version like ext['kafka.version'] = '2.8.1' and everything else comes to us from Spring Boot management.

Thanks

P.S. I would PR the fix, but I don't know how specify a test classifier in Gradle configuration 😄

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage label Dec 14, 2021
@philwebb philwebb added the for: team-meeting label Dec 14, 2021
@artembilan
Copy link
Member Author

@artembilan artembilan commented Dec 14, 2021

An Apache Kafka JIRA ticket for BOM publishing request: https://issues.apache.org/jira/browse/KAFKA-9060

@bclozel bclozel changed the title Add more Apache Kafka dependencies for management Dependency management for Apache Kafka is incomplete Jan 5, 2022
@bclozel bclozel added type: bug and removed status: waiting-for-triage for: team-meeting labels Jan 5, 2022
@bclozel bclozel added this to the 2.5.x milestone Jan 5, 2022
@wilkinsona
Copy link
Member

@wilkinsona wilkinsona commented Jan 9, 2022

This is blocked by #29298.

@wilkinsona wilkinsona added the status: blocked label Jan 9, 2022
@wilkinsona wilkinsona removed the status: blocked label Mar 2, 2022
@wilkinsona wilkinsona self-assigned this Mar 2, 2022
@wilkinsona wilkinsona removed this from the 2.5.x milestone Mar 2, 2022
@wilkinsona wilkinsona added this to the 2.5.11 milestone Mar 2, 2022
@garyrussell
Copy link
Member

@garyrussell garyrussell commented Mar 2, 2022

Sweet! Thanks @wilkinsona

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug
Projects
None yet
Development

No branches or pull requests

6 participants