changeset 13243:68529068f08e

Update eclipse config when files in eclipse-settings have changed
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 04 Dec 2013 14:54:43 +0100
parents 65c0f2ec1ad7
children 6140eda73e6f
files mxtool/mx.py
diffstat 1 files changed, 15 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mxtool/mx.py	Tue Dec 03 20:28:23 2013 -0800
+++ b/mxtool/mx.py	Wed Dec 04 14:54:43 2013 +0100
@@ -2832,13 +2832,23 @@
     generate_eclipse_workingsets()
 
 def _check_ide_timestamp(suite, timestamp):
-    """return True if and only if the projects file, imports file, and mx itself are all older than timestamp"""
+    """return True if and only if the projects file, imports file, eclipse-settings files, and mx itself are all older than timestamp"""
     projectsFile = join(suite.mxDir, 'projects')
-    projectsFileOlder = not timestamp.isOlderThan(projectsFile)
-    importsFileOlder = not timestamp.isOlderThan(suite.import_timestamp())
+    if timestamp.isOlderThan(projectsFile):
+        return False
+    if timestamp.isOlderThan(suite.import_timestamp()):
+        return False
     # Assume that any mx change might imply changes to the generated IDE files
-    mxOlder = not timestamp.isOlderThan(__file__)
-    return projectsFileOlder and importsFileOlder and mxOlder
+    if timestamp.isOlderThan(__file__):
+        return False
+    
+    eclipseSettingsDir = join(suite.mxDir, 'eclipse-settings')
+    if exists(eclipseSettingsDir):
+        for name in os.listdir(eclipseSettingsDir):
+            path = join(eclipseSettingsDir, name)
+            if timestamp.isOlderThan(path):
+                return False
+    return True 
 
 def _eclipseinit_suite(args, suite, buildProcessorJars=True, refreshOnly=False):
     timestamp = TimeStampFile(join(suite.mxDir, 'eclipseinit.timestamp'))