You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2021/11/22 15:46:28 UTC

[GitHub] [camel] cunningt opened a new pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

cunningt opened a new pull request #6462:
URL: https://github.com/apache/camel/pull/6462


   https://issues.apache.org/jira/browse/CAMEL-17062
   
   camel-dependencies has no dependencies and maven forces it early in the build order.    camel-catalog syncs the properties to camel-dependencies, but that doesn't happen till after camel-dependencies builds and install, which creates a build order issue - the camel-dependencies that is installed and deployed is not the synced copy.
   
   An advantage to this approach is that if there are sync properties changes to camel-dependencies, the build is not overwriting source git files - camel-dependencies is synced within the target build directory.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske edited a comment on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske edited a comment on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977583530


   Can't we solve this by separating the concerns? I mean like separating refreshing the dependencies from the dependency management? 
   
   We could use the [properties-maven plugin](http://www.mojohaus.org/properties-maven-plugin/) to write and read a properties file. 
   
   One potential benefit is that, with this way we could remove the all duplicated dependencies which are also currently listed in the parent pom. IMHO it could make dependency maintenance much simpler and the build code smaller. 
   
   Currently we have: 
   
   `camel-dependencies` -> `camel-catalog` -> `camel-dependencies` (sync-properties) 
   
   Instead, we could refresh the dependencies as part of the the `camel-parent` (or `camel-dependencies` ?) build. That way, it would become: 
   
   `camel-parent` (or `camel-dependencies`) -> `camel-catalog` -> likely no need to regenerate anything related to the camel-dependencies itself.
   
   **Granted**: this is a much bigger proposition, I know, but may lead to a cleaner build and remove the cyclic dependency. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977596211


   > I do not have strong opinion, but to me, having the camel-dependencies to be regenerated is not a limitation or a problem. Maybe externalize would work, but don't we have the properties duplicated anyway? In the parent pom and in the externalized properties file? This build system is stable from a while, eventhough it's not perfect.
   
   Yeah. I think the build works just fine. It can certainly be improved, of course, but it does not seem to me like there's a big problem. 
   
   I think the biggest problem may be for vendoring, when there's any sort of checking of the sources during the build.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977585678


   The properties maven plugin won't write a full POM like we need for the downstream projects. This was something that was evaluated at the time, but in the need wasn't good for the job.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977588411


   I do not have strong opinion, but to me, having the camel-dependencies to be regenerated is not a limitation or a problem. Maybe externalize would work, but don't we have the properties duplicated anyway? In the parent pom and in the externalized properties file? This build system is stable from a while, eventhough it's not perfect.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977594555


   > > camel-dependencies -> camel-catalog -> camel-dependencies (sync-properties)
   > 
   > No I dont think this is correct - its
   > 
   > > camel-catalog -> camel-dependencies (sync-properties)
   > 
   
   Actually, we do seem to build the [camel-dependencies before the catalog](https://github.com/apache/camel/blob/main/pom.xml#L72). 
   
   > In the camel-catalog there is a maven plugin that sync that camel-dependencies.
   > 
   > However what is the "problem" is that running camel-catalog should be done after all the components are build etc, which was tricky in the past with maven as it can build in "whatever order it thinks its best" - so there is this camel-allcomponents "trick".
   
   I understand.  But it seems to me that we are using the catalog build only to refresh the dependency pom, no? 
   
   BTW, I'm not trying to push to an specific solution here ... but it does seem odd that we have this cyclic dependency (but, as you know, I may be missing previous context here). 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977589080


   > camel-dependencies -> camel-catalog -> camel-dependencies (sync-properties)
   
   No I dont think this is correct - its
   
   > camel-catalog -> camel-dependencies (sync-properties)
   
   In the camel-catalog there is a maven plugin that sync that camel-dependencies.
   
   However what is the "problem" is that running camel-catalog should be done after all the components are build etc, which was tricky in the past with maven as it can build in "whatever order it thinks its best" - so there is this camel-allcomponents "trick".
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd closed pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd closed pull request #6462:
URL: https://github.com/apache/camel/pull/6462


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] cunningt commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
cunningt commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-976520784


   Is there a reason that downstream projects cannot consume it?    camel-dependencies gets attached to the build here (https://github.com/apache/camel/pull/6462/files#diff-8c255d9bbb596757064bb75da2871b2891a104f3d2eaf8937dfc759081eb2d19R134-R142) and it would be deployed for the downstream projects.     SNAPSHOT version would still be available.     I know camel-quarkus also consumes camel-dependencies, and this change would help camel-quarkus.
   
   @davsclaus I was hoping to move camel-dependencies/pom.xml -> catalog/camel-catalog/camel-dependencies-pom.xml  and no longer maintain it at https://github.com/apache/camel/tree/main/camel-dependencies.    


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977583530


   Can't we solve this by separating the concerns? I mean like separating refreshing the dependencies from the dependency management? 
   
   We could use the [properties-maven plugin](http://www.mojohaus.org/properties-maven-plugin/) to write and read a properties file. 
   
   One potential benefit is that, with this way we could remove the all duplicated dependencies which are also currently listed in the parent pom. IMHO it could make dependency maintenance much simpler and the build code smaller. 
   
   Currently we have: 
   
   `camel-dependencies` -> `camel-catalog` -> `camel-dependencies` (sync-properties) 
   
   Instead, we could refresh the dependencies as part of the the `camel-parent` (or `camel-dependencies` ?) build. 
   
   Granted: this is a much bigger proposition, but may lead to a cleaner build and remove the cyclic dependency. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977580896


   I think having a camel-dependencies pom evident in the source tree, it's a good choice. I don't see it as a limitation. Maybe we could find a way to build it later in the build, after the catalog.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977586176


   > The properties maven plugin won't write a full POM like we need for the downstream projects. This was something that was evaluated at the time, but in the need wasn't good for the job.
   
   The idea is not to rewrite the pom. The idea is to externalize only the properties in the pom.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-976531783


   IMHO we should generate camel-dependencies/pom.xml file as we do today so its included in the source code, and we can see its correct. In the old days of 2.x we had files generated at build time that we could not easily see if something was wrong.
   
   Its also a great place to look at on github for what dependencies versions we use.
   
   Have you tried moving it down after catalog in the root pom.xml so its build by maven after the catalog (and its generation).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-976183460


   @cunningt is the file still being generated and up to date at
   https://github.com/apache/camel/tree/main/camel-dependencies


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-976525235


   Ah ok, I thought it would live only in the target folder and not in the camel-dependencies SNAPSHOT. If it's available after a full build and the camel-dependencies still exist and it's still updated, it's fine.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] orpiske edited a comment on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
orpiske edited a comment on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977583530


   Can't we solve this by separating the concerns? I mean like separating refreshing the dependencies from the dependency management? 
   
   We could use the [properties-maven plugin](http://www.mojohaus.org/properties-maven-plugin/) to write and read a properties file. 
   
   One potential benefit is that, with this way we could remove the all duplicated dependencies which are also currently listed in the parent pom. IMHO it could make dependency maintenance much simpler and the build code smaller. 
   
   Currently we have: 
   
   `camel-dependencies` -> `camel-catalog` -> `camel-dependencies` (sync-properties) 
   
   Instead, we could refresh the dependencies as part of the the `camel-parent` (or `camel-dependencies` ?) build. That way, it would become: 
   
   `camel-parent` (or `camel-dependencies`) -> `camel-catalog` -> likely no need to regenerate anything.
   
   **Granted**: this is a much bigger proposition, I know, but may lead to a cleaner build and remove the cyclic dependency. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] cunningt commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
cunningt commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977755433


   > So at the end of the day, what we can try is to move that generation of camel-dependencies out of catalog, and to some place where its run at the very end.
   
   Thank you all for the feedback and suggestions - I'll give this approach a try and resubmit.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977589743


   So at the end of the day, what we can try is to move that generation of camel-dependencies out of catalog, and to some place where its run at the very end.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] oscerd commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
oscerd commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-977826793


   Moving the camel-dependencies after catalog did the trick, I pushed the fix for it and took the liberty to use this approach. We can always change it later if not ok.
   ```
   
   [INFO] Camel :: Catalog ................................... SUCCESS [  1.470 s]
   [INFO] Camel :: Catalog :: Dummy Component ................ SUCCESS [  0.446 s]
   [INFO] Camel :: Catalog :: Camel Catalog .................. SUCCESS [  4.145 s]
   [INFO] Camel :: Catalog :: Lucene ......................... SUCCESS [  0.616 s]
   [INFO] Camel :: Catalog :: Maven .......................... SUCCESS [  0.787 s]
   [INFO] Camel :: Catalog :: Camel Route Parser ............. SUCCESS [  0.858 s]
   [INFO] Camel :: Catalog :: Camel Compiled Simple Maven Plugin SUCCESS [  0.711 s]
   [INFO] Camel :: Catalog :: Camel Report Maven Plugin ...... SUCCESS [  0.832 s]
   [INFO] Camel :: Dependencies .............................. SUCCESS [  1.433 s]
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus commented on pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus commented on pull request #6462:
URL: https://github.com/apache/camel/pull/6462#issuecomment-981329340


   Okay closing this as Andrea moved the build to later.
   @cunningt let us know if you have any problems still.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [camel] davsclaus closed pull request #6462: CAMEL-17062 Move camel-dependencies inside of camel-catalog to avoid deployment issues

Posted by GitBox <gi...@apache.org>.
davsclaus closed pull request #6462:
URL: https://github.com/apache/camel/pull/6462


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org