Skip to content

Commit

Permalink
Merge branch '2.4.x'
Browse files Browse the repository at this point in the history
Closes gh-26828
  • Loading branch information
wilkinsona committed Jun 9, 2021
2 parents f159a5a + a1c5fcc commit de410b7
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
import org.asciidoctor.gradle.jvm.AsciidoctorJPlugin;
import org.asciidoctor.gradle.jvm.AsciidoctorTask;
import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.Sync;

Expand All @@ -40,9 +38,16 @@
* the plugin is applied:
*
* <ul>
* <li>The {@code https://repo.spring.io/release} Maven repository is configured and
* limited to dependencies in the following groups:
* <ul>
* <li>{@code io.spring.asciidoctor}
* <li>{@code io.spring.asciidoctor.backends}
* <li>{@code io.spring.docresources}
* </ul>
* <li>All warnings are made fatal.
* <li>The version of AsciidoctorJ is upgraded to 2.4.3.
* <li>A {@code asciidoctorExtensions} configuration is created.
* <li>An {@code asciidoctorExtensions} configuration is created.
* <li>For each {@link AsciidoctorTask} (HTML only):
* <ul>
* <li>A task is created to sync the documentation resources to its output directory.
Expand All @@ -56,20 +61,21 @@
* the current version, etc.
* <li>{@link AbstractAsciidoctorTask#baseDirFollowsSourceDir() baseDirFollowsSourceDir()}
* is enabled.
* <li>{@code asciidoctorExtensions} is added to the task's configurations.
* </ul>
* </ul>
*
* @author Andy Wilkinson
*/
class AsciidoctorConventions {

private static final String EXTENSIONS_CONFIGURATION = "asciidoctorExtensions";

private static final String ASCIIDOCTORJ_VERSION = "2.4.3";

private static final String EXTENSIONS_CONFIGURATION_NAME = "asciidoctorExtensions";

void apply(Project project) {
project.getPlugins().withType(AsciidoctorJPlugin.class, (asciidoctorPlugin) -> {
configureDocResourcesRepository(project);
configureDocumentationDependenciesRepository(project);
makeAllWarningsFatal(project);
upgradeAsciidoctorJVersion(project);
createAsciidoctorExtensionsConfiguration(project);
Expand All @@ -78,10 +84,14 @@ void apply(Project project) {
});
}

private void configureDocResourcesRepository(Project project) {
private void configureDocumentationDependenciesRepository(Project project) {
project.getRepositories().maven((mavenRepo) -> {
mavenRepo.setUrl(URI.create("https://repo.spring.io/snapshot"));
mavenRepo.mavenContent((mavenContent) -> mavenContent.includeGroup("io.spring.asciidoctor.backends"));
mavenRepo.setUrl(URI.create("https://repo.spring.io/release"));
mavenRepo.mavenContent((mavenContent) -> {
mavenContent.includeGroup("io.spring.asciidoctor");
mavenContent.includeGroup("io.spring.asciidoctor.backends");
mavenContent.includeGroup("io.spring.docresources");
});
});
}

Expand All @@ -94,20 +104,18 @@ private void upgradeAsciidoctorJVersion(Project project) {
}

private void createAsciidoctorExtensionsConfiguration(Project project) {
ConfigurationContainer configurations = project.getConfigurations();
Configuration asciidoctorExtensions = configurations.maybeCreate(EXTENSIONS_CONFIGURATION);
asciidoctorExtensions.getDependencies().add(
project.getDependencies().create("io.spring.asciidoctor.backends:spring-asciidoctor-backends:0.0.1"));
asciidoctorExtensions.getDependencies()
.add(project.getDependencies().create("org.asciidoctor:asciidoctorj-pdf:1.5.3"));
Configuration dependencyManagement = configurations.findByName("dependencyManagement");
if (dependencyManagement != null) {
asciidoctorExtensions.extendsFrom(dependencyManagement);
}
project.getConfigurations().create(EXTENSIONS_CONFIGURATION_NAME, (configuration) -> {
project.getConfigurations().matching((candidate) -> "dependencyManagement".equals(candidate.getName()))
.all((dependencyManagement) -> configuration.extendsFrom(dependencyManagement));
configuration.getDependencies().add(project.getDependencies()
.create("io.spring.asciidoctor.backends:spring-asciidoctor-backends:0.0.1"));
configuration.getDependencies()
.add(project.getDependencies().create("org.asciidoctor:asciidoctorj-pdf:1.5.3"));
});
}

private void configureAsciidoctorTask(Project project, AbstractAsciidoctorTask asciidoctorTask) {
asciidoctorTask.configurations(EXTENSIONS_CONFIGURATION);
asciidoctorTask.configurations(EXTENSIONS_CONFIGURATION_NAME);
configureCommonAttributes(project, asciidoctorTask);
configureOptions(asciidoctorTask);
asciidoctorTask.baseDirFollowsSourceDir();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ task dependencyVersions(type: org.springframework.boot.build.constraints.Extract

tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
dependsOn dependencyVersions
baseDirFollowsSourceDir()
doFirst {
def versionConstraints = dependencyVersions.versionConstraints
def integrationVersion = versionConstraints["org.springframework.integration:spring-integration-core"]
Expand Down
11 changes: 0 additions & 11 deletions spring-boot-project/spring-boot-docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,6 @@ configurations {
testSlices
}

repositories {
maven {
url "https://repo.spring.io/release"
mavenContent {
includeGroup "io.spring.asciidoctor"
includeGroup "io.spring.asciidoctor.backends"
}
}
}

jar {
enabled = false
}
Expand Down Expand Up @@ -224,7 +214,6 @@ task documentConfigurationProperties(type: org.springframework.boot.build.contex

tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
dependsOn dependencyVersions
baseDirFollowsSourceDir()
asciidoctorj {
fatalWarnings = ['^((?!successfully validated).)*$']
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,6 @@ configurations {
documentation
}

repositories {
maven {
url "https://repo.spring.io/release"
mavenContent {
includeGroup "io.spring.asciidoctor"
includeGroup "io.spring.asciidoctor.backends"
}
}
}

dependencies {
asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-section-ids")

Expand Down

0 comments on commit de410b7

Please sign in to comment.