Uploaded image for project: 'Maven Archetype'
  1. Maven Archetype
  2. ARCHETYPE-349

Property not available in config when defaultValue in descriptor contains token

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0
    • 2.1
    • Generator
    • None
    • any
    • Patch

    Description

      There is a bug with property resolving when calling archetype:generate mojo. Default property value provided in archetype descriptor hides the value passed as parameter to mojo.

      archetype-metadata.xml:

      <requiredProperty key="foo">
        <defaultValue>${some.name}</defaultValue>
      </requiredProperty>

      running:

      mvn archetype:generate ... -Dfoo=bar
      ...
      Define value for property 'foo':  ${some.name}: :

      Generation stops and asks for value of property foo although it was passed as parameter.

      I have attached example archetype and patch that solves this issue.
      Please review and focus on suspicious line (112 before patching, 116 after patching).
      Basically the default value from metadata should be ignored, when value is explicitly set.

      Handling nested tokens is a different story...

      Attachments

        1. archetype-349.patch
          4 kB
          Jesse Stockall
        2. test_and_patch.tgz
          1 kB
          Petr Janata

        Activity

          People

            brett Brett Porter
            petrjanata Petr Janata
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: