private static Collection<File> getOutputDirs(SourceSet sourceSet) { Collection<File> result; if (GradleVersion.version("4.0").compareTo(GradleVersion.current()) <= 0) { result = sourceSet.getOutput().getClassesDirs().getFiles(); } else { result = Collections.singletonList(sourceSet.getOutput().getClassesDir()); } return exists(result); }
@Override public FileCollection call() { return project.fileTree(sourceSet.getOutput().getClassesDir()).builtBy(sourceSet.getOutput()); } });
private static Collection<File> getOutputDirs(SourceSet sourceSet) { Collection<File> result; if (GradleVersion.version("4.0").compareTo(GradleVersion.current()) <= 0) { result = sourceSet.getOutput().getClassesDirs().getFiles(); } else { result = Collections.singletonList(sourceSet.getOutput().getClassesDir()); } return exists(result); }
private void addClassesAndResourcesDirs(Set<URL> extraURLs) throws IllegalAccessException, InvocationTargetException, MalformedURLException { JavaPluginConvention plugin = getProject().getConvention().getPlugin(JavaPluginConvention.class); for (SourceSet sourceSet : plugin.getSourceSets()) { try { @SuppressWarnings("JavaReflectionMemberAccess") Method getClassesDirs = SourceSetOutput.class.getMethod("getClassesDirs"); // use alternative method available in Gradle 4.0 FileCollection classesDirs = (FileCollection) getClassesDirs.invoke(sourceSet.getOutput()); for (File directory : classesDirs.getFiles()) { URL classesUrl = directory.toURI().toURL(); getLogger().debug("Adding directory to Classpath: " + classesUrl); extraURLs.add(classesUrl); } } catch (NoSuchMethodException e) { // use original method available in Gradle 3.x URL classesUrl = sourceSet.getOutput().getClassesDir().toURI().toURL(); getLogger().debug("Adding directory to Classpath: " + classesUrl); extraURLs.add(classesUrl); } URL resourcesUrl = sourceSet.getOutput().getResourcesDir().toURI().toURL(); getLogger().debug("Adding directory to Classpath: " + resourcesUrl); extraURLs.add(resourcesUrl); } }
private static void configureOutputDirectoryForSourceSet(final SourceSet sourceSet, final SourceDirectorySet sourceDirectorySet, AbstractCompile compile, final Project target) { final String sourceSetChildPath = "classes/" + sourceDirectorySet.getName() + "/" + sourceSet.getName(); sourceDirectorySet.setOutputDir(target.provider(() -> { if (sourceSet.getOutput().isLegacyLayout()) { return sourceSet.getOutput().getClassesDir(); } return new File(target.getBuildDir(), sourceSetChildPath); })); ((ConfigurableFileCollection) sourceSet.getOutput().getClassesDirs()).from(target.provider( sourceDirectorySet::getOutputDir)); compile.setDestinationDir(target.provider(sourceDirectorySet::getOutputDir)); }
classes.add(output.getClassesDir());
classpathEntries.add(main.getOutput().getClassesDir()); } catch (java.lang.NoSuchMethodError e) {
private void _configureTaskNpmRun( NpmRunTask npmRunTask, NodeExtension nodeExtension) { npmRunTask.setNodeVersion(nodeExtension.getNodeVersion()); npmRunTask.setNpmVersion(nodeExtension.getNpmVersion()); Project project = npmRunTask.getProject(); PluginContainer pluginContainer = project.getPlugins(); if (pluginContainer.hasPlugin(JavaPlugin.class)) { SourceSet sourceSet = GradleUtil.getSourceSet( npmRunTask.getProject(), SourceSet.MAIN_SOURCE_SET_NAME); SourceSetOutput sourceSetOutput = sourceSet.getOutput(); File classesDir = sourceSetOutput.getClassesDir(); if (!classesDir.exists()) { TaskOutputs taskOutputs = npmRunTask.getOutputs(); taskOutputs.upToDateWhen( new Spec<Task>() { @Override public boolean isSatisfiedBy(Task task) { return false; } }); } } }
private void _configureTaskNpmRun( NpmRunTask npmRunTask, NodeExtension nodeExtension) { npmRunTask.setNodeVersion(nodeExtension.getNodeVersion()); npmRunTask.setNpmVersion(nodeExtension.getNpmVersion()); Project project = npmRunTask.getProject(); PluginContainer pluginContainer = project.getPlugins(); if (pluginContainer.hasPlugin(JavaPlugin.class)) { SourceSet sourceSet = GradleUtil.getSourceSet( npmRunTask.getProject(), SourceSet.MAIN_SOURCE_SET_NAME); SourceSetOutput sourceSetOutput = sourceSet.getOutput(); File classesDir = sourceSetOutput.getClassesDir(); if (!classesDir.exists()) { TaskOutputs taskOutputs = npmRunTask.getOutputs(); taskOutputs.upToDateWhen( new Spec<Task>() { @Override public boolean isSatisfiedBy(Task task) { return false; } }); } } }
+ name); final File classDir = sourceSet.getOutput().getClassesDir(); final String taskName = sourceSet.getTaskName("classycle", null); final File reportFile = reporting.file("classycle/" + name + ".txt");
return buildDir.dir(buildDir.getAsFile().get().toPath() .relativize(sourceSet.getOutput() .getClassesDir().toPath()) .toString()).get();