JS: classify bundle files based on multiple license comments

This commit is contained in:
Esben Sparre Andreasen
2018-09-11 13:21:36 +02:00
parent 10329fa188
commit 43c65e02ec
3 changed files with 18 additions and 0 deletions

View File

@@ -213,6 +213,7 @@ Comment getExclamationPointCommentInRun(ExclamationPointComment head) {
* Holds if this is a bundle containing multiple licenses.
*/
predicate isMultiLicenseBundle(TopLevel tl) {
// case: comments preserved by minifiers
count(ExclamationPointComment head |
head.getTopLevel() = tl and
exists(ExclamationPointComment licenseIndicator |
@@ -220,6 +221,12 @@ predicate isMultiLicenseBundle(TopLevel tl) {
licenseIndicator.getLine(_).regexpMatch("(?i).*\\b(copyright|license|\\d+\\.\\d+)\\b.*")
)
) > 1
or
// case: ordinary block comments with "@license" lines
count(BlockComment head |
head.getTopLevel() = tl and
head.getLine(_).regexpMatch("(?i) *\\* @license .*")
) > 1
}
/**