apache / camel-quarkus

Apache Camel Quarkus
https://camel.apache.org
Apache License 2.0
251 stars 186 forks source link

Use different version in pom.xml for main/quarkus-main/camel-main branchs to avoid the conflicts/mess from local maven repo #3401

Open ffang opened 2 years ago

ffang commented 2 years ago

current we have three (main/quarkus-main/camel-main) branches which use the same version in pom.xml. This can cause conflicts if we need to switch between these branches, because they are not compatible. Ideally, we should use different versions for different branches to avoid such conflict from local maven repo

djencks commented 2 years ago

Is there some documentation about what these three branches are and how they relate? I haven't found any.

ffang commented 2 years ago

Hi @djencks ,

I can't find the doc also, and here is my understanding.

main is the lastest development branch for camel-quarkus(with released camel and quarkus versions); camel-main uses the latest development main branch of camel(SNAPSHOT came dependency); quarkus-main uses the latest development main branch of quarkus(SNAPSHOT quarkus dependency). camel-main and quarkus-main can help us find issues early from camel and quarkus main branch seperately, hence camel-quarkus can move to next camel or quarkus release more smoothly.

Freeman

djencks commented 2 years ago

Thank you! What a great idea! I agree on the need for different version names. These branches are never released, so they are always snapshots, right? Would appending something to the version keep maven from confusing things, e.g. 2.7.0.camel-SNAPSHOT and 2.7.0.quarkus-SNAPSHOT?

On Dec 21, 2021, at 5:05 AM, Freeman(Yue) Fang @.***> wrote:

Hi @djencks https://github.com/djencks ,

I can't find the doc also, and here is my understanding.

main is the lastest development branch for camel-quarkus(with released camel and quarkus versions); camel-main uses the latest development main branch of camel(SNAPSHOT came dependency); quarkus-main uses the latest development main branch of quarkus(SNAPSHOT quarkus dependency). camel-main and quarkus-main can help us find issues early from camel and quarkus main branch seperately, hence camel-quarkus can move to next camel or quarkus release more smoothly.

Freeman

— Reply to this email directly, view it on GitHub https://github.com/apache/camel-quarkus/issues/3401#issuecomment-998762453, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAELDXR33X623ACGNTUBCQTUSB3RDANCNFSM5KOVOLPA. You are receiving this because you were mentioned.

ffang commented 2 years ago

Yes, camel-main and quarkus-main are kinda experimental branches. And +1 for version like 2.7.0.camel-SNAPSHOT and 2.7.0.quarkus-SNAPSHOT

zbendhiba commented 2 years ago

This would add steps in rebasing main to camel-main and quarkus-main, and would add steps when we want to push camel-main to main, and push quarkus-main to main

I don't see why this causes issues? They both represent the main SNAPSHOT code and are rebased every day from main. The objective is to test the main branch against future versions of Camel and Quarkus. And maintaining those branches, is easy when the nightly rebase from main to those works automatically.

If we change their SNAPSHOT name: Every time we add a new extension, or a new test project, we need to manually rebase to those 2 versions because the version of SNAPSHOTS would not be compatible and couldn't be done automatically

I'd say -1 for today. Maybe as Maven/Github CI experts, you can convince me otherwise

zbendhiba commented 2 years ago

@djencks About what are those branches, it is explained on the CI guide : https://camel.apache.org/camel-quarkus/next/contributor-guide/ci.html

ffang commented 2 years ago

Thanks @zbendhiba for the clarification!

My original issue is that when switching between main/camel-main/quarkus-main branch, I need to rebuild camel-quarkus project locally to fill my local maven repo, with "-Dquickly" option I can get it done within 5mins now, so this isn't a big deal for me anymore.

Feel free to close this ticket.

Freeman

zbendhiba commented 2 years ago

@ffang I see now what your issue is.

ppalaga commented 2 years ago

with "-Dquickly" option I can get it done within 5mins now

You may want to try mvnd (mvnd clean install -Dquickly takes under 1 min on my machine) https://github.com/apache/maven-mvnd#how-to-install-mvnd

ffang commented 2 years ago

Thanks @ppalaga !