# HG changeset patch # User Gilles Duboscq # Date 1386165283 -3600 # Node ID 68529068f08e7ffa73ece5e60c39927349796ed8 # Parent 65c0f2ec1ad745428f0e6b0de46331ec7f26bf1c Update eclipse config when files in eclipse-settings have changed diff -r 65c0f2ec1ad7 -r 68529068f08e mxtool/mx.py --- 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'))