Skip to content

Commit 6b6acde

Browse files
committed
Add a license check to tidy. rust-lang#4018
1 parent 1244c0b commit 6b6acde

37 files changed

+160
-17
lines changed

src/etc/check-summary.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
import sys
45

src/etc/combine-tests.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
# this combines all the working run-pass tests into a single large crate so we
45
# can run it "fast": spawning zillions of windows processes is our major build

src/etc/extract-tests.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# xfail-license
2+
13
# Script for extracting compilable fragments from markdown
24
# documentation. See prep.js for a description of the format
35
# recognized by this tool. Expects a directory fragements/ to exist

src/etc/extract_grammar.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
# This script is for extracting the grammar from the rust docs.
45

src/etc/get-snapshot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
import os, tarfile, re, shutil, sys
45
from snapshot import *

src/etc/latest-unix-snaps.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
import os, tarfile, hashlib, re, shutil, sys
45
from snapshot import *

src/etc/licenseck.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
# file at the top-level directory of this distribution and at
3+
# http://rust-lang.org/COPYRIGHT.
4+
#
5+
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
# option. This file may not be copied, modified, or distributed
9+
# except according to those terms.
10+
11+
license1 = """// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
12+
// file at the top-level directory of this distribution and at
13+
// http://rust-lang.org/COPYRIGHT.
14+
//
15+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
16+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
17+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
18+
// option. This file may not be copied, modified, or distributed
19+
// except according to those terms.
20+
"""
21+
22+
license2 = """// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
23+
// file at the top-level directory of this distribution and at
24+
// http://rust-lang.org/COPYRIGHT.
25+
//
26+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
27+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
28+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
29+
// option. This file may not be copied, modified, or distributed
30+
// except according to those terms.
31+
"""
32+
33+
license3 = """# Copyright 2013 The Rust Project Developers. See the COPYRIGHT
34+
# file at the top-level directory of this distribution and at
35+
# http://rust-lang.org/COPYRIGHT.
36+
#
37+
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
38+
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
39+
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
40+
# option. This file may not be copied, modified, or distributed
41+
# except according to those terms.
42+
"""
43+
44+
licenses = [license1, license2, license3]
45+
46+
exceptions = [
47+
"rt/rust_android_dummy.cpp", # BSD, chromium
48+
"rt/rust_android_dummy.h", # BSD, chromium
49+
"rt/isaac/randport.cpp", # public domain
50+
"rt/isaac/rand.h", # public domain
51+
"rt/isaac/standard.h", # public domain
52+
]
53+
54+
def check_license(name, contents):
55+
valid_license = False
56+
for a_valid_license in licenses:
57+
if contents.startswith(a_valid_license):
58+
valid_license = True
59+
break
60+
if valid_license:
61+
return True
62+
63+
for exception in exceptions:
64+
if name.endswith(exception):
65+
return True
66+
67+
firstlineish = contents[:100]
68+
if firstlineish.find("xfail-license") != -1:
69+
return True
70+
71+
return False
72+

src/etc/make-snapshot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
import snapshot, sys
45

src/etc/mirror-all-snapshots.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env python
2+
# xfail-license
23

34
import os, tarfile, hashlib, re, shutil
45
from snapshot import *

src/etc/snapshot.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# xfail-license
2+
13
import re, os, sys, glob, tarfile, shutil, subprocess, tempfile
24

35
try:

0 commit comments

Comments
 (0)