Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-121

Remove relative namespacing

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • PUP 3.7.0
    • Compiler
    • None
    • 3
    • Week 2014-5-21 to 2014-5-28, Week 2014-5-28 to 2014-6-4, Week 2014-6-4 to 2014-6-11, Week 2014-6-11 to 2014-6-18

    Description

      This is the issue where `include apache` actually means “try to declare class `<current namespace>::apache`, class `<parent of current namespace>::apache`, and so on, eventually declaring `apache` as a last resort."

      This bites people in the wild frequently, and seem to be getting a steady stream of customer complaints about it.

      We seem to have nearly universal agreement that this isn't how Puppet should work, but fixing it will break code in the wild. In redmine #2053, I suggested a deprecation plan:

      • In a mid-stream 3.x release, we start logging warnings when relative namespacing finds a class that doesn't match the provided name, and provide a setting to turn on a "strict mode" that kills relative namespacing completely.
      • In 4.0, we make the strict mode the only mode.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              nick.fagerlund Nicholas Fagerlund
              Kurt Wall Kurt Wall
              Votes:
              2 Vote for this issue
              Watchers:
              19 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support