Skip to content

Commit

Permalink
Merge pull request #123 from diffplug/extensions-repoitories-from-roo…
Browse files Browse the repository at this point in the history
…t-project

Extension requiring external libraries on demand use the buildscript of the root project for lookup
  • Loading branch information
nedtwigg authored Jul 11, 2017
2 parents 519e442 + 430463f commit ea44821
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.Dependency;

import com.diffplug.common.base.StringPrinter;
import com.diffplug.spotless.Provisioner;

/** Gradle integration for Provisioner. */
Expand All @@ -36,11 +37,16 @@ public static Provisioner fromProject(Project project) {
Dependency[] deps = mavenCoords.stream()
.map(project.getBuildscript().getDependencies()::create)
.toArray(Dependency[]::new);
Configuration config = project.getBuildscript().getConfigurations().detachedConfiguration(deps);
Configuration config = project.getRootProject().getBuildscript().getConfigurations().detachedConfiguration(deps);
config.setDescription(mavenCoords.toString());
return config.resolve();
} catch (Exception e) {
logger.log(Level.SEVERE, "You probably need to add a repository containing the '" + mavenCoords + "' artifact, e.g.: 'buildscript { repositories { mavenCentral() }}'", e);
logger.log(Level.SEVERE,
StringPrinter.buildStringFromLines("You probably need to add a repository containing the '" + mavenCoords + "' artifact in the 'build.gradle' of your root project.",
"E.g.: 'buildscript { repositories { mavenCentral() }}'",
"Note that included buildscripts (using 'apply from') do not share their buildscript repositories with the underlying project.",
"You have to specify the missing repository explicitly in the buildscript of the root project."),
e);
throw e;
}
};
Expand Down

0 comments on commit ea44821

Please sign in to comment.