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