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

Set JMS clients scope runtime to include required dependencies in the package #752

Merged
merged 1 commit into from
Nov 30, 2020
Merged

Set JMS clients scope runtime to include required dependencies in the package #752

merged 1 commit into from
Nov 30, 2020

Conversation

fvaleri
Copy link

@fvaleri fvaleri commented Nov 29, 2020

Not sure if there is a better way to do this, but it works and it is much more convenient. What do you think?

Copy link
Contributor

@oscerd oscerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will make all the connectors packaging jms client and artemis jms client, even where not needed at all

@fvaleri
Copy link
Author

fvaleri commented Nov 29, 2020

Yeah, this was my concern. Is there a better way to do this automatically?

@oscerd
Copy link
Contributor

oscerd commented Nov 29, 2020

The only way I see is making the deps explicit in the connector pom of the single connectors.

@fvaleri
Copy link
Author

fvaleri commented Nov 29, 2020

This commit should be better.

@fvaleri fvaleri requested a review from oscerd November 29, 2020 18:59
Copy link
Contributor

@oscerd oscerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems ok. Lets see the other reviewers @valdar and @orpiske

@valdar
Copy link
Member

valdar commented Nov 30, 2020

Mmm should have been enough to have them as dependencies... not sure why the runtime scope is needed, pretty sure they ended up in the packaged zip at sone point...

@oscerd
Copy link
Contributor

oscerd commented Nov 30, 2020

Both of them are declared in parent pom as test dependencies https://github.com/apache/camel-kafka-connector/blob/master/parent/pom.xml#L292-L302

So when it's time to build the packaged connector they will be excluded, because of the scope.

@fvaleri
Copy link
Author

fvaleri commented Nov 30, 2020

Both of them are declared in parent pom as test dependencies https://github.com/apache/camel-kafka-connector/blob/master/parent/pom.xml#L292-L302

So when it's time to build the packaged connector they will be excluded, because of the scope.

Yeah. They were in the final package in 0.3, but not anymore. Adding the scope to the fix-dependencies property file seems to work fine and the same technique could be used for other connectors as needed.

@orpiske
Copy link
Contributor

orpiske commented Nov 30, 2020

@oscerd @valdar I believe you both have better understanding of the ramifications of this than I do. At first sight I have no objections with the approach, but I would kindly ask for one more thing.

Do we have to update the missing dependencies part of the troubleshooting guide as part of this?

My understanding is that we do need to update the note there. Therefore, I would probably just put a note saying "From version 0.x.x and forward the JMS dependencies are packaged along w/ sjms2 and this should not be a problem. Should you need to use other JMS clients, you need to repackage or use the legacy/regular/etc JMS component".

@fvaleri
Copy link
Author

fvaleri commented Nov 30, 2020

@oscerd @valdar I believe you both have better understanding of the ramifications of this than I do. At first sight I have no objections with the approach, but I would kindly ask for one more thing.

Do we have to update the missing dependencies part of the troubleshooting guide as part of this?

My understanding is that we do need to update the note there. Therefore, I would probably just put a note saying "From version 0.x.x and forward the JMS dependencies are packaged along w/ sjms2 and this should not be a problem. Should you need to use other JMS clients, you need to repackage or use the legacy/regular/etc JMS component".

+1 for this, thanks @orpiske.

In general I think that trying to avoid the need to repackage is the best strategy for a great user experience.

Let me know if you want me to add this note to the commit.

@orpiske
Copy link
Contributor

orpiske commented Nov 30, 2020

@fvaleri thanks. Yes, please. I think it would be better to have that note added now that the discussion is fresh. Thanks!

@valdar valdar merged commit bb658c9 into apache:master Nov 30, 2020
@valdar
Copy link
Member

valdar commented Nov 30, 2020

tnx @fvaleri !

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

Successfully merging this pull request may close these issues.

4 participants