static List<String> getJavaCompilerOptions(BaseVariant baseVariant) { if (baseVariant != null && baseVariant.getJavaCompiler() instanceof JavaCompile) { List<String> options = ((JavaCompile) baseVariant.getJavaCompiler()).getOptions().getCompilerArgs(); // Remove options added by apt plugin since they are handled by apt scope separately filterOptions(options, ImmutableList.of("-s", "-processorpath")); return options; } else { return ImmutableList.of(); } }
@TaskAction public void generateHensonNavigator() { JavaCompile javaCompiler = (JavaCompile) variant.getJavaCompiler(); FileCollection variantCompileClasspath = getJarDependencies(); FileCollection uft =
@Nonnull protected static JavaCompile getJavaCompile(BaseVariant variant) { Task javaCompiler = variant.getJavaCompiler(); if (javaCompiler instanceof JavaCompile) { return (JavaCompile) javaCompiler; } else { throw new IllegalArgumentException(); } }
public final void addGeneratorTask(@NotNull BaseVariant variant, @NotNull Task objectboxTask, @NotNull File targetGenDir) { boolean writeToBuildFolder = true; if(writeToBuildFolder) { variant.registerJavaGeneratingTask(objectboxTask, new File[]{targetGenDir}); } else { variant.getJavaCompiler().dependsOn(new Object[]{objectboxTask}); } }
@Override protected void configureForVariant(final BaseVariant variant, FindBugs task) { task.setDescription("Run FindBugs analysis for " + variant.getName() + " classes"); task.setSource(getAllJava(variant)); task.dependsOn(variant.getJavaCompiler()); ConventionMapping taskMapping = task.getConventionMapping(); taskMapping.map("classes", () -> { // the simple "classes = sourceSet.output" may lead to non-existing resources directory // being passed to FindBugs Ant task, resulting in an error List<String> generatedClasses = new LinkedList<>(); getJavaCompile(variant).getSource().visit(fileVisitDetails -> { if (!fileVisitDetails.isDirectory() && fileVisitDetails.getPath().endsWith(".java") && fileVisitDetails.getFile().getAbsolutePath().startsWith(project.getBuildDir().getAbsolutePath())) { generatedClasses.add(fileVisitDetails.getPath().replace(".java", "")); } }); return getOutput(variant) .filter(file -> generatedClasses.parallelStream().noneMatch(generatedClass -> file.getAbsolutePath().endsWith(generatedClass + ".class") || file.getAbsolutePath().contains(generatedClass + "$"))); }); taskMapping.map("classpath", () -> getCompileClasspath(variant)); } }
@Override protected void withAndroid(TestedExtension extension) { super.withAndroid(extension); getAndroidVariants().all(variant -> { Jar sourcesJarTask = getProject().getTasks().create("sources" + capitalize((CharSequence) variant.getName()) + "Jar", Jar.class, jar -> { jar.setDescription("Generate the sources jar for the " + variant.getName() + " variant"); jar.setGroup("jar"); jar.setClassifier("sources"); jar.setAppendix(variant.getName()); jar.from(variant.getJavaCompiler().property("source")); }); allSourcesJarTask.dependsOn(sourcesJarTask); if (publishVariant(variant)) { getProject().getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, sourcesJarTask); } }); } }
javadoc.setGroup(JavaBasePlugin.DOCUMENTATION_GROUP); javadoc.dependsOn(variant.getJavaCompiler());