lib/licensee/project_files/license_file.rb in licensee-9.6.0 vs lib/licensee/project_files/license_file.rb in licensee-9.7.0

- old
+ new

@@ -5,12 +5,12 @@ # List of extensions to give preference to PREFERRED_EXT = %w[md markdown txt].freeze PREFERRED_EXT_REGEX = /\.#{Regexp.union(PREFERRED_EXT)}\z/ - # Regex to match any extension - ANY_EXT_REGEX = %r{\.[^./]+\z} + # Regex to match any extension except .spdx or .header + OTHER_EXT_REGEX = %r{\.(?!spdx|header)[^./]+\z}i # Regex to match, LICENSE, LICENCE, unlicense, etc. LICENSE_REGEX = /(un)?licen[sc]e/i # Regex to match COPYING, COPYRIGHT, etc. @@ -26,20 +26,20 @@ FILENAME_REGEXES = { /\A#{LICENSE_REGEX}\z/ => 1.00, # LICENSE /\A#{LICENSE_REGEX}#{PREFERRED_EXT_REGEX}\z/ => 0.95, # LICENSE.md /\A#{COPYING_REGEX}\z/ => 0.90, # COPYING /\A#{COPYING_REGEX}#{PREFERRED_EXT_REGEX}\z/ => 0.85, # COPYING.md - /\A#{LICENSE_REGEX}#{ANY_EXT_REGEX}\z/ => 0.80, # LICENSE.textile - /\A#{COPYING_REGEX}#{ANY_EXT_REGEX}\z/ => 0.75, # COPYING.textile + /\A#{LICENSE_REGEX}#{OTHER_EXT_REGEX}\z/ => 0.80, # LICENSE.textile + /\A#{COPYING_REGEX}#{OTHER_EXT_REGEX}\z/ => 0.75, # COPYING.textile /\A#{LICENSE_REGEX}[-_]/ => 0.70, # LICENSE-MIT /\A#{COPYING_REGEX}[-_]/ => 0.65, # COPYING-MIT /[-_]#{LICENSE_REGEX}/ => 0.60, # MIT-LICENSE-MIT /[-_]#{COPYING_REGEX}/ => 0.55, # MIT-COPYING /\A#{OFL_REGEX}#{PREFERRED_EXT_REGEX}/ => 0.50, # OFL.md - /\A#{OFL_REGEX}#{ANY_EXT_REGEX}/ => 0.45, # OFL.textile + /\A#{OFL_REGEX}#{OTHER_EXT_REGEX}/ => 0.45, # OFL.textile /\A#{OFL_REGEX}\z/ => 0.40, # OFL /\A#{PATENTS_REGEX}\z/ => 0.35, # PATENTS - /\A#{PATENTS_REGEX}#{ANY_EXT_REGEX}\z/ => 0.30, # PATENTS.txt + /\A#{PATENTS_REGEX}#{OTHER_EXT_REGEX}\z/ => 0.30, # PATENTS.txt // => 0.00 # Catch all }.freeze # CC-NC and CC-ND are not open source licenses and should not be # detected as CC-BY or CC-BY-SA which are 98%+ similar