• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • maven-plugin
    • None
    • RHEL 6.5 64bit, Jenkins ver. 1.605, weblogic-deployer-plugin 2.13 (same issue with 2.8), jdk1.7 and jdk1.8.0_25

      Not sure if this is the correct place for this but under the jenkins/jobs/<jobname>/module/ path there are folders named with dollar $ signs in them, such as one in our case /apps.user$user-web/. This dollar $ sign has cause some issues, one in deployment plugin (issue below) where $user was getting substituted for another value causing a file not found exception and in general, on Linux platforms, the dollar $ in path messes up with just about anything you can do on the command line being it finds, greps, changing directories and even running a manual deployment task, the dollar $ sign must be escaped first \$ or the path quoted.

      Is the cause of this dollar $ sign due to this plugin, jenkins or something else? It's a poor choice for use and would suggest it be replaced with a delimiter such as a double dash or something more 'normal'.

      Related issues:
      https://issues.jenkins-ci.org/browse/JENKINS-27600
      https://issues.jenkins-ci.org/browse/JENKINS-10082

      Thanks.

          [JENKINS-27656] Dollar $ Sign in Path

          Daniel Beck added a comment -

          This path format is created and used by the Maven Plugin.

          https://github.com/jenkinsci/maven-plugin/blob/1b30d831d13ce8dce87d2b557ab3a255f0aea1fd/src/main/java/hudson/maven/ModuleName.java#L93

          in general, on Linux platforms, the dollar $ in path messes up with just about anything you can do on the command line being it finds, greps, changing directories and even running a manual deployment task

          Single quote it.

          would suggest it be replaced with a delimiter such as a double dash or something more 'normal'.

          Purely speculating, but it may be illegal in a Maven module name, so there's no ambiguity. With anything legal, there may be.

          Daniel Beck added a comment - This path format is created and used by the Maven Plugin. https://github.com/jenkinsci/maven-plugin/blob/1b30d831d13ce8dce87d2b557ab3a255f0aea1fd/src/main/java/hudson/maven/ModuleName.java#L93 in general, on Linux platforms, the dollar $ in path messes up with just about anything you can do on the command line being it finds, greps, changing directories and even running a manual deployment task Single quote it. would suggest it be replaced with a delimiter such as a double dash or something more 'normal'. Purely speculating, but it may be illegal in a Maven module name, so there's no ambiguity. With anything legal, there may be.

          Daniel Beck added a comment -

          FWIW you're relying on details of the internal storage format of artifacts in Jenkins, which is pretty much a 'worst practice'. Global settings like job or build folder locations and plugins such as Compress Artifacts Plugin may change that at any time, breaking everything you're doing. Therefore the justification for this request is pretty weak IMO.

          Daniel Beck added a comment - FWIW you're relying on details of the internal storage format of artifacts in Jenkins, which is pretty much a 'worst practice'. Global settings like job or build folder locations and plugins such as Compress Artifacts Plugin may change that at any time, breaking everything you're doing. Therefore the justification for this request is pretty weak IMO.

          trevorw added a comment -

          Thanks for the comments, the pointer to maven plugin and updating the ticket to that plugin.

          I'm not understanding your second comment, can you elaborate? We are not doing anything special, we ran into this issue using the weblogic deployer plugin and what happened to be a project name that ended up creating a $user variable in the folder name which was then replaced by apparently maven and broke the path causing the deployment to fail. If there is something about this that is 'worst practice' I'd like to rectify that as this environment is still new to us.

          If the maven plugin developers are able, feel it's something worth changing, or not, so be it. I will support my request though. That dollar $ delimiter in the folder name cost us real money $ this week in resource time. Kinda ironic.

          trevorw added a comment - Thanks for the comments, the pointer to maven plugin and updating the ticket to that plugin. I'm not understanding your second comment, can you elaborate? We are not doing anything special, we ran into this issue using the weblogic deployer plugin and what happened to be a project name that ended up creating a $user variable in the folder name which was then replaced by apparently maven and broke the path causing the deployment to fail. If there is something about this that is 'worst practice' I'd like to rectify that as this environment is still new to us. If the maven plugin developers are able, feel it's something worth changing, or not, so be it. I will support my request though. That dollar $ delimiter in the folder name cost us real money $ this week in resource time. Kinda ironic.

            Unassigned Unassigned
            trevorw trevorw
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: