build/buildutils/checkcopyrights.py
branchRCL_3
changeset 23 e5618cc85d74
parent 18 9ac0a0a7da70
--- a/build/buildutils/checkcopyrights.py	Mon Jun 21 15:32:50 2010 +0300
+++ b/build/buildutils/checkcopyrights.py	Thu Jul 15 18:31:06 2010 +0300
@@ -13,48 +13,54 @@
 # Contributors:
 #
 # Description:
-#   Checks that all the source files have a proper copyright header. 
+#   Checks that all the source files have a proper EPL copyright header.
 #   Ignores number of known 3rd party source files and directories.
 #
-#    Run this script on a clean workarea in order to avoid warnings
-#    about exported files and qmake generated files.
+#   Run this script on a clean workarea in order to avoid warnings
+#   about exported files and qmake generated files.
 #
-#    The excluded directories should be checked every now and then
-#    so that there won't be other problems (like files without any
-#    header).
+#   The excluded directories should be checked every now and then
+#   so that there won't be other problems (like files without any header).
 
 import sys, os, re
 
 # Specify here the file types to be checked
 checkedFileTypes = [".cpp", ".h", ".java", ".py", ".mk"]
 
-# Include here the directories to be ignored
-ignoredDirectories = [
-    "javaextensions\\bluetooth\\bluecove",  # Bluecove
-    "javacommons\\jvms\\j9\\s60\\inc",      # IBM J9
-    "javauis\\eswt_akn",                    # eSWT checked separately
-    "javauis\\eswt_qt",                     # eSWT checked separately
-    "javauis\\tsrc\\fute\\eswt\\",          # eSWT checked separately
-    "javaextensions\\webservices",          # Webservices not delivered
-    "jrt\\tools",                           # Tools not delivered
-    "\\internal"                            # Internal directories not delivered
-    ]
 
-# Include here any individual files to be ignored
-ignoredFiles = [
-    "javacommons\\jvms\\cldc_1.1.1\\javasrc\\java\\util\\Timer.java",       # Apache license
-    "javacommons\\jvms\\cldc_1.1.1\\javasrc\\java\\util\\TimerTask.java",   # Apache license
-    "javacommons\\jvms\\cldc_1.1.1\\tsrc\\javasrc\\com\\nokia\\mj\\test\\java\\util\\TimerTaskTest.java",   # Apache license
-    "javacommons\\jvms\\cldc_1.1.1\\tsrc\\javasrc\\com\\nokia\\mj\\test\\java\\util\\TimerTest.java",       # Apache license
-    "javacommons\\utils\\inc\\convertutf.h",                                # Unicode Inc.
-    "javacommons\\utils\\src\\convertutf.cpp"                               # Unicode Inc.
-]
-
-# The copyright text to be checked
-copyrightText = "Nokia Corporation and/or its subsidiary(-ies)"
+# The copyright texts to be searched for
+copyrightText1 = "Nokia Corporation and/or its subsidiary(-ies)"
+copyrightText2 = "Eclipse Public License v1.0"
 
 
 def main():
+
+    root = sys.argv[1]
+    if root[-1] != '\\':
+        root = root + '\\'
+
+    # Include here the directories to be ignored
+    ignoredDirectories = [
+        root + "javaextensions\\bluetooth\\bluecove",  # Bluecove
+        root + "javacommons\\jvms\\j9\\s60\\inc",      # IBM J9
+        root + "javauis\\eswt_akn",                    # eSWT checked separately
+        root + "javauis\\eswt_qt",                     # eSWT checked separately
+        root + "javauis\\tsrc\\fute\\eswt\\",          # eSWT checked separately
+        root + "javaextensions\\webservices",          # Webservices not delivered
+        root + "tools",                                # Tools not delivered
+        "\\internal"                                   # Internal directories not delivered
+        ]
+     
+    # Include here any individual files to be ignored
+    ignoredFiles = [
+        root + "javacommons\\jvms\\cldc_1.1.1\\javasrc\\java\\util\\Timer.java",       # Apache license
+        root + "javacommons\\jvms\\cldc_1.1.1\\javasrc\\java\\util\\TimerTask.java",   # Apache license
+        root + "javacommons\\jvms\\cldc_1.1.1\\tsrc\\javasrc\\com\\nokia\\mj\\test\\java\\util\\TimerTaskTest.java",   # Apache license
+        root + "javacommons\\jvms\\cldc_1.1.1\\tsrc\\javasrc\\com\\nokia\\mj\\test\\java\\util\\TimerTest.java",       # Apache license
+        root + "javacommons\\utils\\inc\\convertutf.h",                                # Unicode Inc.
+        root + "javacommons\\utils\\src\\convertutf.cpp"                               # Unicode Inc.
+    ]
+
     
     def visitFun(arg, dirname, names):
 
@@ -94,16 +100,29 @@
                 # print "Ignoring file", f
                 continue
 
-            # Check if the file contains the copyright text
+            # Check if the file contains the copyright texts
             try:                       
                 file = open(fname)
+                
+                # Search for the first text
                 found = False
                 line = file.readline()
                 while line != "":
-                    if copyrightText in line:
+                    if copyrightText1 in line:
                         found = True
                         break;
-                    line = file.readline()                
+                    line = file.readline()
+                
+                # Search the second copyright text as well
+                if found:
+                    found = False
+                    line = file.readline()
+                    while line != "":
+                        if copyrightText2 in line:
+                            found = True
+                            break;
+                        line = file.readline()
+
                 file.close()
                                     
             except IOError:
@@ -112,8 +131,8 @@
             if not found:
                 print fname
                 continue
-                
-    os.path.walk(sys.argv[1], visitFun, None)
+    
+    os.path.walk(root, visitFun, None)
 
 
 if __name__ == "__main__":