changeset 15148:7357f62ed977

mx: eclipseinit should add containers only once to projects' classpath
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 15 Apr 2014 13:32:21 +0200
parents d93cc1fdf55e
children 2c7b18ae25d2
files mxtool/mx.py
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mxtool/mx.py	Tue Apr 15 13:27:32 2014 +0200
+++ b/mxtool/mx.py	Tue Apr 15 13:32:21 2014 +0200
@@ -2859,13 +2859,15 @@
         if exists(join(p.dir, 'plugin.xml')):  # eclipse plugin project
             out.element('classpathentry', {'kind' : 'con', 'path' : 'org.eclipse.pde.core.requiredPlugins'})
 
+        containers = set()
         for dep in p.all_deps([], True):
             if dep == p:
                 continue
 
             if dep.isLibrary():
-                if hasattr(dep, 'eclipse.container'):
+                if hasattr(dep, 'eclipse.container') and getattr(dep, 'eclipse.container') not in containers:
                     out.element('classpathentry', {'exported' : 'true', 'kind' : 'con', 'path' : getattr(dep, 'eclipse.container')})
+                    containers.add(getattr(dep, 'eclipse.container'))
                 elif hasattr(dep, 'eclipse.project'):
                     out.element('classpathentry', {'combineaccessrules' : 'false', 'exported' : 'true', 'kind' : 'src', 'path' : '/' + getattr(dep, 'eclipse.project')})
                 else: