Federico Mariani created CAMEL-23881:
----------------------------------------

             Summary: camel-jbang export generates invalid Maven POM with 
literal \$\{citrus.version} instead of ${citrus.version}
                 Key: CAMEL-23881
                 URL: https://issues.apache.org/jira/browse/CAMEL-23881
             Project: Camel
          Issue Type: Bug
          Components: camel-jbang
    Affects Versions: 4.21.0
            Reporter: Federico Mariani


When running camel export --runtime=quarkus on a project that has a test/ 
subdirectory, the _TestPluginExporter_ adds Citrus test dependencies to the 
generated pom.xml with escaped property references (\$\{citrus.version}) 
instead of valid Maven property expressions (${citrus.version}).

This produces an invalid POM that Maven cannot resolve.

Example generated output:
<dependency>
     <groupId>org.citrusframework</groupId>
     <artifactId>citrus-base</artifactId>
     <version>\$\{citrus.version}</version>
     <scope>test</scope>
</dependency>

Expected:
<dependency>
     <groupId>org.citrusframework</groupId>
     <artifactId>citrus-base</artifactId>
     <version>${citrus.version}</version>
     <scope>test</scope>
</dependency>

The issue is in TestPluginExporter.asDependency() which formats the version as 
\\$\\{citrus.version} , the backslash escaping is carried through to the final 
POM output rather than being resolved during template rendering.

Steps to reproduce:
1. Create a Camel project with a test/ subdirectory
2. Run camel export --runtime=quarkus --gav="it.test:export:1.0" 
--dir="export-test" <routes>
3. Inspect export-test/pom.xml — Citrus dependency versions contain literal 
backslashes



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to