# HG changeset patch # User Jaroslav Tulach # Date 1434461203 -7200 # Node ID c0b6865b76989b5251b8d6fc2929f7d5ea95e4b2 # Parent f0a982a2894492709c8604d7a5d75df6c8408bc3 Include dependencies of a library when it is put into -processorpath diff -r f0a982a28944 -r c0b6865b7698 mxtool/mx.py --- 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