changeset 21979:c0b6865b7698

Include dependencies of a library when it is put into -processorpath
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Tue, 16 Jun 2015 15:26:43 +0200
parents f0a982a28944
children 7b46c756a37c
files mxtool/mx.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mxtool/mx.py	Tue Jun 16 11:25:50 2015 +0200
+++ b/mxtool/mx.py	Tue Jun 16 15:26:43 2015 +0200
@@ -589,7 +589,10 @@
     """
     def annotation_processors_path(self):
         aps = [project(ap) for ap in self.annotation_processors()]
-        libAps = [dep for dep in self.all_deps([], includeLibs=True, includeSelf=False) if dep.isLibrary() and hasattr(dep, 'annotationProcessor') and getattr(dep, 'annotationProcessor').lower() == 'true']
+        libAps = set()
+        for dep in self.all_deps([], includeLibs=True, includeSelf=False):
+            if dep.isLibrary() and hasattr(dep, 'annotationProcessor') and getattr(dep, 'annotationProcessor').lower() == 'true':
+                libAps = libAps.union(dep.all_deps([], includeLibs=True, includeSelf=True))
         if len(aps) + len(libAps):
             return os.pathsep.join([ap.definedAnnotationProcessorsDist.path for ap in aps if ap.definedAnnotationProcessorsDist] + [lib.get_path(False) for lib in libAps])
         return None