Uploaded image for project: 'Apache Rat'
  1. Apache Rat
  2. RAT-303

Support https:// in apache license

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 0.13
    • 0.14
    • jar-license-meta-data
    • None

    Description

      Following the discussion in 

      it would be great if "https://" is supported in Apache licence. Currently the license with modified link is not detected properly.

      How to reproduce

      1. Checkout apache airflow https://github.com/apache/airflow/
      2. Modify airflow/templates.py and change http:// in license into https://
      3. Run java -jar apache-rat-0.13.jar -E .rat-excludes  -d .
      4. Observe error produced:

       

      Printing headers for text files without a valid license header...=====================================================
      == File: ./airflow/templates.py
      =====================================================
      #
      # Licensed to the Apache Software Foundation (ASF) under one
      # or more contributor license agreements.  See the NOTICE file
      # distributed with this work for additional information
      # regarding copyright ownership.  The ASF licenses this file
      # to you under the Apache License, Version 2.0 (the
      # "License"); you may not use this file except in compliance
      # with the License.  You may obtain a copy of the License at
      #
      #   https://www.apache.org/licenses/LICENSE-2.0
      #
      # Unless required by applicable law or agreed to in writing,
      # software distributed under the License is distributed on an
      # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
      # KIND, either express or implied.  See the License for the
      # specific language governing permissions and limitations
      # under the License.import jinja2.nativetypes
      import jinja2.sandbox
      class _AirflowEnvironmentMixin:
          def _init_(self, **kwargs):
              super()._init_(**kwargs)        self.filters.update(FILTERS)    def is_safe_attribute(self, obj, attr, value):
              """
              Allow access to ```` prefix vars (but not ``_``).        Unlike the stock SandboxedEnvironment, we allow access to "private" attributes (ones starting with
              ````) whilst still blocking internal or truly private attributes (``_`` prefixed ones).
              """
              return not jinja2.sandbox.is_internal_attribute(obj, attr)
      class NativeEnvironment(_AirflowEnvironmentMixin, jinja2.nativetypes.NativeEnvironment):
          """NativeEnvironment for Airflow task templates."""
      class SandboxedEnvironment(_AirflowEnvironmentMixin, jinja2.sandbox.SandboxedEnvironment):
          """SandboxedEnvironment for Airflow task templates."""
      def ds_filter(value):
          return value.strftime('%Y-%m-%d')

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              potiuk Jarek Potiuk
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: