scalatest-embedded-kafka icon indicating copy to clipboard operation
scalatest-embedded-kafka copied to clipboard

How to add functionality to an older branch

Open crankydillo opened this issue 6 years ago • 7 comments

I recently wrote #143 and #144 to address some needs I had for running embedded Kafka in TestNG+Java tests. As it turns out, I actually need to run embedded Kafka version 0.10.2.1 with the changes I've made for those issues (e.g. #145) .

Should I start with the code in this tag or should I start with master and try to use the correct properties for 0.10.2.0? I've been doing the former, but I'm having some issues.

I'm also not sure what version to use. Working off that tag, I have set the version to 0.13.0-1-SNAPSHOT.

Anyhow, any thoughts in this area are appreciated. I've tried various approaches and keep hitting roadblocks.

Thanks!

crankydillo avatar Jul 16 '18 23:07 crankydillo

Have you tried go to the tag you specified and cherry picking commits? You'd have to specify a new version which you could publish to your own repo. I've intentionally not backported features as unfortunately I don't have too much time right now to maintain this project.

manub avatar Jul 20 '18 22:07 manub

Hi!

Yes, I've been working off the tag. I've been doing it for a work requirement, so I've been building what I need. I do need to do a diff against master and grab any goodness there.

While I understand you not wanting to back-port features, I do hate to hear that I'll have to release off my own fork, assuming I am creating a general purpose solution. Is the release project for this project difficult? Would it be a lot of work for you to merge my branch and cut a 0.13.0-1 or a 0.10.2.0 release? I realize the latter could be a tad confusing, but we could add a section to the README stating that features added to old tags tied to differing Kafka versions will be released with versions that match the old Kafka version. Is there any way I could help with this, short of setting up a brand new Travis build?

crankydillo avatar Jul 26 '18 11:07 crankydillo

I could definitely release a 0.13.0-1 or similar. What I'd need to do is push a branch - I'll name it kafka_0.10.2.1. Then you can create a PR against that branch and I can release on top of that. If the community is willing to provide PRs I'm more than happy to deal with the release pipeline.

manub avatar Jul 29 '18 21:07 manub

Which tag you started from?

manub avatar Jul 29 '18 21:07 manub

I'm pretty sure 0.13.0; however, at this point, I've gone back to working off master.. I need a lot of the functionality there, specifically around giving a handle to the embedded kafka and zookeeper instances. Cherry picking seemed like it was going to be difficult as there were over 80 commits between the 0.13.0 and master.

Basically, I want EmbeddedKafka to give me a kafka+zookeeper object that will allow me to easily produce/consume messages; however, I will bear the burden of shutdown. This will allow me to use this in BeforeClass and AfterClass code.

I don't know how versioning would work out... At this point, the best I can come up with is 0.10.2.1-1.2.0... I hate to have 0.13.0-1 with such drastic changes..

crankydillo avatar Jul 30 '18 14:07 crankydillo

For now, I'm going to use 0.13.0-1. Otherwise, we couldn't even consider merging back to your org without redoing your policy on version numbers..

crankydillo avatar Jul 30 '18 14:07 crankydillo

I understand.

At this stage is probably best if you keep your artifact versioned within your nexus-like repo - or you still would like be to branch off the tag to perform a release?

manub avatar Jul 31 '18 10:07 manub