in src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMNavigator.java [220:254]
public void visitSource(@NonNull String sourceName, @NonNull SCMSourceObserver observer)
throws IOException, InterruptedException {
try (ASFGitSCMNavigatorRequest request = new ASFGitSCMNavigatorContext()
.withTraits(traits)
.newRequest(this, observer)) {
observer.getListener().getLogger().format("%n Checking repository %s%n",
HyperlinkNote
.encodeTo(server + "?p=" + URLEncoder.encode(sourceName, "UTF-8") + ".git;a=summary",
sourceName));
if (request.process(sourceName, new SCMNavigatorRequest.SourceLambda() {
@NonNull
@Override
public SCMSource create(@NonNull String projectName) throws IOException, InterruptedException {
return new ASFGitSCMSourceBuilder(getId() + "::" + projectName,
server, projectName
)
.withTraits(traits)
.build();
}
}, null, new SCMNavigatorRequest.Witness() {
@Override
public void record(@NonNull String projectName, boolean isMatch) {
if (isMatch) {
observer.getListener().getLogger().format(" Proposing %s%n", projectName);
} else {
observer.getListener().getLogger().format(" Ignoring %s%n", projectName);
}
}
})) {
observer.getListener().getLogger().format("%n 1 repository was processed (query complete)%n");
return;
}
observer.getListener().getLogger().format("%n 1 repository was processed%n");
}
}