@Override public void projectsEvaluated(@Nullable Gradle gradle) { complete(); } });
/** * Find a resolved artifact in a collection of projects * * @param projects Projects to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Collection<@NonNull Project> projects, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (Project project : projects) { info = findResolvedArtifact(project, configurationPredicate, artifactPredicate); if (info.isPresent()) { break; } } return info; }
/** * Search a collection of projects for a publish artifact * * @param projects Projects to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Collection<@NonNull Project> projects, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (Project project : projects) { info = findPublishArtifact(project, configurationPredicate, artifactPredicate); if (info.isPresent()) { break; } } return info; }
/** * @see org.gradle.api.Plugin#apply(java.lang.Object) */ @Override public void apply(Project project) { this.project = project; if (VersionNumber.parse(project.getGradle().getGradleVersion()).compareTo(MIN_GRADLE_VERSION) < 0) { throw new GradleException(format("Base project plugin requires Gradle %s or higher", MIN_GRADLE_VERSION)); } getLogger().info("Applying plugin {} to {}", this, getProject()); initialize(); getProject().afterEvaluate(p -> configure()); getProject().getGradle().addBuildListener(new BuildAdapter() { @Override public void projectsEvaluated(@Nullable Gradle gradle) { complete(); } }); }
Optional<ProjectElement<PublishArtifact>> publishInfo = Projects.findPublishArtifact(annotationsProject, c -> c.getName().equals(Dependency.ARCHIVES_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) Optional<ProjectElement<ResolvedArtifact>> resolutionInfo = Projects.findResolvedArtifact( getProject().getAllprojects(), c -> c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) && Objects.equals(a.getType(), "jar")); annotationPath = resolutionInfo.map(i -> i.getElement().getFile());
Optional<ProjectElement<ResolvedArtifact>> artifact = Projects.findResolvedArtifact( getProject().getAllprojects(), p -> true, a -> a.getFile().equals(file)); getLogger().debug("Resolved classpath to artifact '{}'", a.getElement().getId()); a.getElement().getName() + "-annotations"); });
/** * Search a configuration for a publish artifact * * @param project Project to search * @param configuration Configuration to search * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Project project, Configuration configuration, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (@NonNull PublishArtifact artifact : configuration.getAllArtifacts()) { if (artifactPredicate.test(artifact)) { info = Optional.of(new ProjectElement<>(project, configuration, artifact)); break; } } return info; } }
/** * @see org.gradle.api.Plugin#apply(java.lang.Object) */ @Override public void apply(Project project) { this.project = project; if (VersionNumber.parse(project.getGradle().getGradleVersion()).compareTo(MIN_GRADLE_VERSION) < 0) { throw new GradleException(format("Base project plugin requires Gradle %s or higher", MIN_GRADLE_VERSION)); } getLogger().info("Applying plugin {} to {}", this, getProject()); initialize(); getProject().afterEvaluate(p -> configure()); getProject().getGradle().addBuildListener(new BuildAdapter() { @Override public void projectsEvaluated(@Nullable Gradle gradle) { complete(); } }); }
Optional<ProjectElement<PublishArtifact>> publishInfo = Projects.findPublishArtifact(annotationsProject, c -> c.getName().equals(Dependency.ARCHIVES_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) Optional<ProjectElement<ResolvedArtifact>> resolutionInfo = Projects.findResolvedArtifact( getProject().getAllprojects(), c -> c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) && Objects.equals(a.getType(), "jar")); annotationPath = resolutionInfo.map(i -> i.getElement().getFile());
Optional<ProjectElement<ResolvedArtifact>> artifact = Projects.findResolvedArtifact( getProject().getAllprojects(), p -> true, a -> a.getFile().equals(file)); getLogger().debug("Resolved classpath to artifact '{}'", a.getElement().getId()); a.getElement().getName() + "-annotations"); });
/** * Find a resolved artifact in a collection of projects * * @param projects Projects to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Collection<@NonNull Project> projects, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (Project project : projects) { info = findResolvedArtifact(project, configurationPredicate, artifactPredicate); if (info.isPresent()) { break; } } return info; }
/** * Search a collection of projects for a publish artifact * * @param projects Projects to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Collection<@NonNull Project> projects, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (Project project : projects) { info = findPublishArtifact(project, configurationPredicate, artifactPredicate); if (info.isPresent()) { break; } } return info; }
/** * Search a configuration for a publish artifact * * @param project Project to search * @param configuration Configuration to search * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Project project, Configuration configuration, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (@NonNull PublishArtifact artifact : configuration.getAllArtifacts()) { if (artifactPredicate.test(artifact)) { info = Optional.of(new ProjectElement<>(project, configuration, artifact)); break; } } return info; } }
@Override public void projectsEvaluated(@Nullable Gradle gradle) { complete(); } });
/** * Find a resolved artifact in a project * * @param project Project to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Project project, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (@NonNull Configuration configuration : project.getConfigurations()) { if (configuration.isCanBeResolved() && configurationPredicate.test(configuration)) { info = findResolvedArtifact(project, configuration, artifactPredicate); if (info.isPresent()) { break; } } } return info; }
/** * Search a project for a publish artifact * * @param project Project to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Project project, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (@NonNull Configuration configuration : project.getConfigurations()) { if (configurationPredicate.test(configuration)) { info = findPublishArtifact(project, configuration, artifactPredicate); if (info.isPresent()) { break; } } } return info; }
/** * Find a resolved artifact in a configuration * * @param project Project to search * @param configuration Configuration to search * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Project project, Configuration configuration, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (@NonNull ResolvedArtifact artifact : configuration.getResolvedConfiguration().getResolvedArtifacts()) { if (artifactPredicate.test(artifact)) { info = Optional.of(new ProjectElement<>(project, configuration, artifact)); break; } } return info; }
/** * Find a resolved artifact in a project * * @param project Project to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Project project, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (@NonNull Configuration configuration : project.getConfigurations()) { if (configuration.isCanBeResolved() && configurationPredicate.test(configuration)) { info = findResolvedArtifact(project, configuration, artifactPredicate); if (info.isPresent()) { break; } } } return info; }
/** * Search a project for a publish artifact * * @param project Project to search * @param configurationPredicate Predicate to test configurations * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<PublishArtifact>> findPublishArtifact(Project project, Predicate<@NonNull Configuration> configurationPredicate, Predicate<@NonNull PublishArtifact> artifactPredicate) { Optional<ProjectElement<PublishArtifact>> info = Optional.empty(); for (@NonNull Configuration configuration : project.getConfigurations()) { if (configurationPredicate.test(configuration)) { info = findPublishArtifact(project, configuration, artifactPredicate); if (info.isPresent()) { break; } } } return info; }
/** * Find a resolved artifact in a configuration * * @param project Project to search * @param configuration Configuration to search * @param artifactPredicate Predicate to test artifacts * @return Found element or empty value */ public static Optional<ProjectElement<ResolvedArtifact>> findResolvedArtifact(Project project, Configuration configuration, Predicate<@NonNull ResolvedArtifact> artifactPredicate) { Optional<ProjectElement<ResolvedArtifact>> info = Optional.empty(); for (@NonNull ResolvedArtifact artifact : configuration.getResolvedConfiguration().getResolvedArtifacts()) { if (artifactPredicate.test(artifact)) { info = Optional.of(new ProjectElement<>(project, configuration, artifact)); break; } } return info; }