mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 11:44:31 +01:00 
			
		
		
		
	Renamed AddLicenseHeader.py to FixLicenseHeader.py.
Modified it to switch us over to the Ecma license for everything except Sputnik-based sources (someone from Google should make this change on line 60 of FixLicenseHeader.py).
This commit is contained in:
		
							parent
							
								
									631764221a
								
							
						
					
					
						commit
						23598a3c67
					
				| @ -9,27 +9,25 @@ import argparse | |||||||
| import os | import os | ||||||
| import sys | import sys | ||||||
| import re | import re | ||||||
|  | import codecs | ||||||
| 
 | 
 | ||||||
| #--Globals--------------------------------------------------------------------- | #--Globals--------------------------------------------------------------------- | ||||||
| MSFT_LICENSE = '''/// Copyright (c) 2012 Ecma International.  All rights reserved.  | ECMA_LICENSE = '''/// Copyright (c) 2012 Ecma International.  All rights reserved.  | ||||||
| /// Ecma International makes this code available under the terms and conditions set | /// Ecma International makes this code available under the terms and conditions set | ||||||
| /// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the  | /// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the  | ||||||
| /// "Use Terms").   Any redistribution of this code must retain the above  | /// "Use Terms").   Any redistribution of this code must retain the above  | ||||||
| /// copyright and this notice and otherwise comply with the Use Terms. | /// copyright and this notice and otherwise comply with the Use Terms. | ||||||
| ''' | ''' | ||||||
| 
 | 
 | ||||||
| GOOGLE_LICENSE = '''// Copyright 2011 Google Inc.  All rights reserved. | NEW_LICENSE_FIRST_LINE = re.compile(r"Copyright\s+\(c\)\s+20[0-9][0-9]\s+Ecma\s+International") | ||||||
| // This code is governed by the BSD license found in the LICENSE file. | OLD_LICENSE_FIRST_LINE = re.compile(r"(Copyright\s+20[0-9][0-9]\s+Google)|(the\s+Sputnik\s+authors)|(Microsoft\s+Corporation)") | ||||||
| ''' | OLD_LICENSE_LAST_LINE  = re.compile(r"(ADVISED\s+OF\s+THE\s+POSSIBILITY\s+OF\s+SUCH\s+DAMAGE)|(This\s+code\s+is\s+governed\s+by\s+the\s+BSD\s+license\s+found\s+in\s+the\s+LICENSE\s+file)") | ||||||
| 
 | 
 | ||||||
|  | #Dirty way of determining if the contribution stems from Google or Microsoft | ||||||
| GOOGLE_RE = re.compile(r"[\\/]S([0-9]+)|(bp)(\.|_)[^\\/]+\.js$") | GOOGLE_RE = re.compile(r"[\\/]S([0-9]+)|(bp)(\.|_)[^\\/]+\.js$") | ||||||
| GOOGLE_LINE_ONE  = re.compile(r"(Copyright\s+20[0-9][0-9]\s+Google)|(the Sputnik authors)") | IETC_RE    = re.compile(r"[\\/][0-9]+(\.|_)[^\\/]+\.js$") | ||||||
| 
 |  | ||||||
| IETC_RE    = re.compile(r"[\\/][0-9]+\.[^\\/]+\.js$") |  | ||||||
| IETC_LINE_ONE = re.compile(r"Microsoft Corporation") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|  | DEBUG = False | ||||||
| #------------------------------------------------------------------------------ | #------------------------------------------------------------------------------ | ||||||
| def getAllJSFiles(dirName): | def getAllJSFiles(dirName): | ||||||
|     ''' |     ''' | ||||||
| @ -53,27 +51,45 @@ def handleFile(filePath): | |||||||
|     with open(filePath, "rb") as f: |     with open(filePath, "rb") as f: | ||||||
|         origLines = f.readlines() |         origLines = f.readlines() | ||||||
|      |      | ||||||
|     #Figure out which license header we'll be using |     #See if it's already there | ||||||
|     if GOOGLE_RE.search(filePath)!=None: |     if NEW_LICENSE_FIRST_LINE.search(origLines[0])!=None: | ||||||
|         licenseHeader = GOOGLE_LICENSE |         #print "\talready there:\t", filePath | ||||||
|         lineOne = GOOGLE_LINE_ONE |         return | ||||||
|     elif IETC_RE.search(filePath)!=None: |     #TODO: Google employee needs to remove this elif  | ||||||
|         licenseHeader = MSFT_LICENSE |     #      and fix the next elif clause | ||||||
|         lineOne = IETC_LINE_ONE |     elif GOOGLE_RE.search(filePath)!=None: | ||||||
|     else: |         if DEBUG: | ||||||
|         print "*!!!*:\t", filePath |             print "\tignoring Google sources:\t", filePath | ||||||
|  |         return | ||||||
|  |     elif (IETC_RE.search(filePath))==None: #and (GOOGLE_RE.search(filePath)==None): | ||||||
|  |         errMsg = "\tno idea which license should be used for:\t" + filePath | ||||||
|  |         raise Exception(errMsg) | ||||||
|         return |         return | ||||||
|      |      | ||||||
|     #See if it's already there |     with codecs.open(filePath,'r','utf8') as f: | ||||||
|     if lineOne.search(origLines[0])!=None: |         bomPresent = f.read(2).startswith(u"\ufeff") | ||||||
|         return |         if bomPresent: | ||||||
|  |             print "\tnon-ASCII file detected. Please modify by hand:", filePath | ||||||
|  |             return | ||||||
|      |      | ||||||
|     with open(filePath, "wb") as f: |     with open(filePath, "wb") as f: | ||||||
|         print "MODIFIED:\t", filePath |         if DEBUG: | ||||||
|         f.write(licenseHeader) |             print "\tmodified:\t", filePath | ||||||
|  |         #TODO: this isn't good enough... | ||||||
|  |         #if bomPresent: | ||||||
|  |         #    print "\tBOM was detected for:", filePath | ||||||
|  |         #    f.write(u"\ufeff") | ||||||
|  |         f.write(ECMA_LICENSE) | ||||||
|          |          | ||||||
|  |         writeIt = False | ||||||
|         for line in origLines: |         for line in origLines: | ||||||
|             f.write(line) |             if writeIt: | ||||||
|  |                 f.write(line) | ||||||
|  |             elif OLD_LICENSE_LAST_LINE.search(line)!=None: | ||||||
|  |                 writeIt = True | ||||||
|  |                  | ||||||
|  |         if not writeIt: | ||||||
|  |             print "\tError - didn't find end of the original license:\t", filePath | ||||||
| 
 | 
 | ||||||
| #--Main------------------------------------------------------------------------ | #--Main------------------------------------------------------------------------ | ||||||
| if __name__=="__main__": | if __name__=="__main__": | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user