-
Notifications
You must be signed in to change notification settings - Fork 347
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
How to deal with SNAPSHOT
dependencies?
#3341
Comments
I think it depends on the refresh policy (see https://cwiki.apache.org/confluence/display/MAVENOLD/Repository+-+SNAPSHOT+Handling). I'd say that, if no changes in the maven configuration, we do follow the default policy. You can override it by changing the maven configuration in your IntegrationPlatform: https://camel.apache.org/camel-k/next/configuration/maven.html |
I think that this behavior is not related to the refresh policy. Since there's no change on the integration dependency list, it won't trigger the build of a new integration kit, which is when the dependencies are pulled. Yet a |
Yeah, very good point. The fact you're reusing an Integration Kit won't trigger a rebuild. However I am not fully convinced we should change the behavior and rebuild also when a snapshot change. It may be a bit difficult to "calculate" when a snapshot change (I think we just use an hash from GAV now). The idea behind it is to have a very quick choice. If we start looking for other parameters we may create a slower user experience. |
It may be possible that if we observe a snapshot in the set of dependencies we mark the kit as snapshot and force rebuild every time. On the other hand, I agree with Pasquale that it would do a bit too much. Right now, you know you are using a snapshot in them and you can manually run |
By the way, I'm testing here with
I'm fiddling with cluster permissions here, it is an Openshift cluster. My user has Running Which permissions are needed to run Also, looking at the source code, it seems that |
Yes, that's correct. In this case an Integration rebuild needs an IntegrationKit rebuild as well. In order to have a refresh of the dependency you will need to identify the IntegrationKit and delete it as well, to make it sure it won't be reused. |
Currently, to really rebuild an integration with a new kit we need to do something like this:
maybe should we provide some flag to |
Agreed. Although it would be cool not to have to specify an extra flag to rebuild the integration when using Implementation wise, we could maybe add something to |
Which permissions are needed to run |
The |
I have the following scenario:
I would like to keep the route code inside the jar file, so I can test it locally using Camel Quarkus runtime instead of camel-k-runtime that is used on
kamel local run
.When I first run the route in Camel-K, everything works as expected, during the integration kit build maven downloads the current snapshot of my dependency.
My question is how to deal when I update the maven snapshot dependency. Running
kamel rebuild
will get the new version of the dependency?The text was updated successfully, but these errors were encountered: