Uploaded image for project: 'Maven Install Plugin'
  1. Maven Install Plugin
  2. MINSTALL-50

provide property filtering on .pom files placed in local repo

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.3
    • None
    • install:install
    • None
    • independent
    • Patch

    Description

      When maven installs an artifact, it's pom is also copied into the artifact's directory. Unfortunately, if the pom contains a property reference (e.g. ${myprop}), this will not be replaced upon copying the pom file.
      I've created a patch for the install plugin that switches on property filtering by setting a mojo parameter "filteringEnabled". Since this defaults to "false", backward compatibility is kept 100%.

      Some implementation notes:

      • the dirty work is done in FilteredProjectArtifactMetadata.java, the property resolution code has been inspired by ResourcesMojo.
      • I've added a unit test, that replaces ${basedir} with the value of a system property.
      • since "svn diff" does not handle binary files, src/test/resources/unit/basic-install-test-with-filtering/target/maven-install-test-1.0-SNAPSHOT.jar is not included in the patch. This file is the same as
        src/test/resources/unit/basic-install-test/target/maven-install-test-1.0-SNAPSHOT.jar

      Since my knowledge of Maven API is more than limited, there might be a more elegant way to provide this feature ... but it works! I'd be happy to see this in a future release of maven.

      Attachments

        1. MNG-maven-install.patch
          12 kB
          Stefan Armbruster
        2. MNG-maven-install.patch
          11 kB
          Stefan Armbruster

        Issue Links

          Activity

            People

              Unassigned Unassigned
              darthvader Stefan Armbruster
              Votes:
              13 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: