[
    {
    "comment": [ "file_pattern_ending: strings matched against the end of a file name.",
                  "location keys: regular expression matched against the beginning of",
                  "the file path (relative to the git submodule root).",
                  "spdx: list of SPDX-License-Expression's allowed in the matching files.",
                  "-------------------------------------------------------",
                  "Files with the following endings are Build System licensed,",
                  "unless they are examples",
                  "Files with other endings can also be build system files"],
        "file_pattern_ending": ["CMakeLists.txt", ".cmake", ".pro", "configure",
                                 ".cmake.conf", ".tag", ".yaml"],
        "location": {
            "": {
                "comment": "Default",
                "file type": "build system",
                "spdx": ["BSD-3-Clause"]
            },
         "(.*)(examples/|snippets/)": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
             },
         "examples/demos/qtjennydemo/qtjenny_general": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["Apache-2.0"]
              },
         "examples/demos/qtjennydemo/qtjenny_baseclass": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["Apache-2.0"]
              },
         "examples/demos/qtjennydemo/qtjenny_callback": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["Apache-2.0"]
              }
        }
    },
    {
        "comments": ["Files with the following endings are infrastructure licensed"],
        "file_pattern_ending": [".gitattributes", ".gitignore", ".gitmodules", ".gitreview",
                                "_clang-format", "licenseRule.json", "REUSE.toml"],
        "location":{
            "": {
                "comment": "Default",
                "file type": "infrastructure",
                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
            }
        }
    },
    {
    "comments": ["Files with the following endings are Tool licensed,",
                  "unless they are examples.",
                  "Files with other endings can also be tool files."],
    "file_pattern_ending": [".sh", ".py", ".pl", ".bat", ".ps1"],
    "location":{
            "": {
                "comment": "",
                "file type": "tools",
                "spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0"]
            },
            "(.*)(examples/|snippets/)": {
                      "comment": "Example takes precedence",
                      "file type": "examples and snippets",
                      "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
            },
            "examples/demos/qtjennydemo/qtjenny_general/gradlew.bat": {
                      "comment": "Example takes precedence",
                      "file type": "examples and snippets",
                      "spdx": ["Apache-2.0"]
            },
         "examples/demos/qtjennydemo/qtjenny_baseclass/gradlew.bat": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["Apache-2.0"]
              },
         "examples/demos/qtjennydemo/qtjenny_callback/gradlew.bat": {
                   "comment": "Example takes precedence",
                   "file type": "examples and snippets",
                   "spdx": ["Apache-2.0"]
              }
        }
    },
    {
    "comment": "Files with the following endings are Documentation licensed.",
    "file_pattern_ending": [".qdoc", ".qdocinc" , ".qdocconf", ".qdoc.sample", "README.md",
                             "README", "qt_attribution.json", "tree_config.xml"],
        "location":{
            "": {
                "comment": "",
                "file type": "documentation",
                "spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
            }
        }
    },
    {
        "comment": ["All other files",
                 "The licensing is defined only by the file location in the Qt module repository.",
                 "NO <file_pattern_ending> key for this case!",
                 "This needs to be the last entry of the file."],
        "location": {
            "tests/": {
                "comment": "",
                "file type": "test",
                "spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
            },
            "doc/src/platformintegration/platformintegration.h": {
                "comment": "examples and snippets",
                "file type": "",
                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
            },
            "dist/": {
                "comment": "Default",
                "file type": "documentation",
                "spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
            },
            "(.*)(examples/|snippets/)": {
                      "comment": "Example takes precedence",
                      "file type": "examples and snippets",
                      "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
            },
            "doc(/.*/|/|.*snippets.*)images/": {
                "comment": "Default",
                "file type": "documentation",
                "spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
            },
            "tests/auto/quick/examples/": {
                "comment": "",
                "file type": "test",
                "spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
            },
            "examples/demos/todolist/imports/CustomControls/images/.*.svg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/todolist/content/images/.*.svg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/todolist/imports/CustomStyle/images/Expand_Icon.svg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/thermostat/imports/ThermostatCustomControls/images/keyboard.svg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/hangman/purchasing/android/src/org/qtproject/qt/android/purchasing/(Base|Security)": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/colorpaletteclient/icons/": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/thermostat/content/images/(Auto|Cool|Dry|Eco|Fan|Heat|down|drop|edit|energy)": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/thermostat/content/images/(maxTemp|minTemp|more|power|schedule|settings|stats)": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/thermostat/content/images/(temperature|thermostat|up)": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/thermostat/content/images/(home|kid_room|kitchen|living_room|theme|bedroom|arrow)": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
            "examples/demos/dice/maps/M_Side_Table_Natural_Wenge_Wood_4K_": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/dice/maps/carpet_texture_baseColor.jpeg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-SA-4.0"]
            },
            "examples/demos/dice/meshes/object_(2|3).mesh": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-SA-4.0"]
            },
            "examples/demos/dice/meshes/side_Table_Pine_LOD0_M_Side_Table_Natural_Wenge_Wood_4K_0.mesh": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/thermostat/imports/ThermostatCustomControls/images/thermometer.svg": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["CC-BY-4.0"]
            },
            "examples/demos/qtjennydemo/qtjenny_general/": {
                "comment": "",
                "file type": "3rd party",
                "spdx": ["Apache-2.0"]
            },
         "examples/demos/qtjennydemo/qtjenny_baseclass/": {
                   "comment": "Example takes precedence",
                   "file type": "3rd party",
                   "spdx": ["Apache-2.0"]
              },
         "examples/demos/qtjennydemo/qtjenny_callback/": {
                   "comment": "Example takes precedence",
                   "file type": "3rd party",
                   "spdx": ["Apache-2.0"]
              }
        }
    }
]
