private static boolean isAptBuildGeneratedFolder(@NonNull final FileObject root) { final ClassPath scp = ClassPath.getClassPath(root, ClassPath.SOURCE); if (scp != null) { for (FileObject srcRoot : scp.getRoots()) { if (root.toURL().equals( AnnotationProcessingQuery.getAnnotationProcessingOptions(srcRoot).sourceOutputDirectory())) { return true; } } } return false; }
@NonNull static Set<? extends URL> getAptBuildGeneratedFolders(@NonNull final List<ClassPath.Entry> entries) { final Set<URL> roots = new HashSet<>(); for (ClassPath.Entry entry : entries) { roots.add(entry.getURL()); } for (ClassPath.Entry entry : entries) { final FileObject fo = entry.getRoot(); if (fo != null) { URL aptRoot; final APTUtils aptUtils = APTUtils.getIfExist(fo); if (aptUtils != null) { aptRoot = aptUtils.sourceOutputDirectory(); } else { aptRoot = AnnotationProcessingQuery.getAnnotationProcessingOptions(fo).sourceOutputDirectory(); } if (roots.contains(aptRoot)) { return Collections.singleton(aptRoot); } } } return Collections.<URL>emptySet(); }
private static boolean isAptBuildGeneratedFolder( @NonNull final URL root, @NonNull final ClassPath srcPath) { Parameters.notNull("root", root); //NOI18N Parameters.notNull("srcPath", srcPath); //NOI18N for (FileObject srcRoot : srcPath.getRoots()) { if (root.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(srcRoot).sourceOutputDirectory())) { return true; } } return false; }
@CheckForNull private static URL getAPTSourceOutputDirectory(@NonNull final FileObject sourceRoot) { final APTUtils au = APTUtils.getIfExist(sourceRoot); return au != null ? au.sourceOutputDirectory(): AnnotationProcessingQuery.getAnnotationProcessingOptions(sourceRoot).sourceOutputDirectory(); } }
/** * Resolves the APT sources cache root * Depends on the JavaIndex rather than on AptCacheForSourceQuery due to performance reasons */ private static FileObject[] resolveAptSourceCache(final FileObject sourceRoot) { try { final AnnotationProcessingQuery.Result result = AnnotationProcessingQuery.getAnnotationProcessingOptions(sourceRoot); final URL annotationOutputURL = result.sourceOutputDirectory(); final FileObject userAnnotationOutput = annotationOutputURL == null ? null : URLMapper.findFileObject(annotationOutputURL); final FileObject cacheAnnoationOutput = FileUtil.toFileObject(JavaIndex.getAptFolder(sourceRoot.getURL(), false)); return userAnnotationOutput == null ? cacheAnnoationOutput == null ? new FileObject[0] : new FileObject[] {cacheAnnoationOutput} : cacheAnnoationOutput == null ? new FileObject[] {userAnnotationOutput} : new FileObject[] {userAnnotationOutput, cacheAnnoationOutput}; } catch (IOException ex) { Exceptions.printStackTrace(ex); return null; } } }
if (srURL.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(sr).sourceOutputDirectory())) { continue;
private APTUtils(@NonNull final FileObject root) { this.root = root; bootPath = ClassPath.getClassPath(root, ClassPath.BOOT); compilePath = ClassPath.getClassPath(root, ClassPath.COMPILE); processorPath = new AtomicReference<>(ClassPath.getClassPath(root, JavaClassPathConstants.PROCESSOR_PATH)); aptOptions = AnnotationProcessingQuery.getAnnotationProcessingOptions(root); sourceLevel = SourceLevelQuery.getSourceLevel2(root); slidingRefresh = RP.create(new Runnable() { @Override public void run() { IndexingManager.getDefault().refreshIndex( root.toURL(), Collections.<URL>emptyList(), false); } }); usedRoots = new UsedRoots(root.toURL()); }