Currently, I work on Continuous Integration for Talend Project. I use tools supplied by Talend solution: CI Builder, CommandLine, TAC and Nexus. The main flow seems to work, but I have an issue about Maven integration in project.
Some routine in my project uses external modules to work. These modules are added to Talend Studio through Talend studio module management. All these modules are finally installed in folder located here:
All these libraries are available on official maven repositories or on my company repositories.
To work with Talend Continuous Integration solution, I had to copy all the libraries in the same folder of CommandLine.
I hope my description is clear.
Thanks for posting your issue here.
We have redirected your issue and concern to our product experts and will keep you posted.
We are working on your issue and will keep you posted.
Thanks for your time.
=> Not possible actually, since the studio will take care of retrieve all the jars / ensure that all dependencies are available.
Even if it's really similar, since right now the nexus url / user / password, need to be setup in the config.ini, then commandline will retrieve all the jars. (you don't need to copy all the content of .m2 actually)
=> Not possible right now, not even sure there is really some workaround (we can customize the pom, but the list of jars generated / included in final build will not change).
But we're working on a possibility right now to setup a custom maven uri directly instead of a fixed jar name in the routine dependency. We'll still retrieve for now the jar in the same nexus repository as before (for now), but at least you can set the jar even as snapshot if you want and retrieve automatically the jar later.
I found a solution, i modified the template pom file "pom_codes_template.xml" and added my routine jar dependencies, this file can be found inside a jar "org.talend.designer.maven_22.214.171.12460704_1411.jar", this jar is located in commandline-studio/plugins folder, i am using talend 6.2.1 version, if you are using different version you should have one with that version.
Thanks for your answers. They don't simplify my work.
Moreover, I tried to use the Maven project properties to modify the template but no effect on Maven generated project. It is just used for generate standalone POM for job and there is no configuration for Routine POM. I am not against maintain POM for Job or Routine.
In my humble opinion, the full integration of Maven in Talend is the best solution to integrate Talend in continuous integration life-cycle. Waiting improvement of this part, I would to find a maintainable solution for my team.