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 A general bug
Milestone

Comments

@artembilan
Copy link
Member

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 An issue we've not yet triaged label Dec 14, 2021
@philwebb philwebb added the for: team-meeting An issue we'd like to discuss as a team to make progress label Dec 14, 2021
@artembilan
Copy link
Member Author

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 A general bug and removed status: waiting-for-triage An issue we've not yet triaged for: team-meeting An issue we'd like to discuss as a team to make progress labels Jan 5, 2022
@bclozel bclozel added this to the 2.5.x milestone Jan 5, 2022
@wilkinsona
Copy link
Member

This is blocked by #29298.

@wilkinsona wilkinsona added the status: blocked An issue that's blocked on an external project change label Jan 9, 2022
@wilkinsona wilkinsona removed the status: blocked An issue that's blocked on an external project change label Mar 2, 2022
@wilkinsona wilkinsona self-assigned this Mar 2, 2022
@wilkinsona wilkinsona modified the milestones: 2.5.x, 2.5.11 Mar 2, 2022
@garyrussell
Copy link
Contributor

Sweet! Thanks @wilkinsona

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

No branches or pull requests

6 participants