Home / Class/ MavenPublishingIntegrationTests Class — spring-boot Architecture

MavenPublishingIntegrationTests Class — spring-boot Architecture

Architecture documentation for the MavenPublishingIntegrationTests class in MavenPublishingIntegrationTests.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/MavenPublishingIntegrationTests.java lines 37–81

@GradleCompatibility
class MavenPublishingIntegrationTests {

	@SuppressWarnings("NullAway.Init")
	GradleBuild gradleBuild;

	@TestTemplate
	void bootJarCanBePublished() {
		BuildResult result = this.gradleBuild.build("publish");
		BuildTask task = result.task(":publish");
		assertThat(task).isNotNull();
		assertThat(task.getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
		assertThat(artifactWithSuffix("jar")).isFile();
		assertThat(artifactWithSuffix("pom")).is(pomWith().groupId("com.example")
			.artifactId(this.gradleBuild.getProjectDir().getName())
			.version("1.0")
			.noPackaging()
			.noDependencies());
	}

	@TestTemplate
	void bootWarCanBePublished() {
		BuildResult result = this.gradleBuild.build("publish");
		BuildTask task = result.task(":publish");
		assertThat(task).isNotNull();
		assertThat(task.getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
		assertThat(artifactWithSuffix("war")).isFile();
		assertThat(artifactWithSuffix("pom")).is(pomWith().groupId("com.example")
			.artifactId(this.gradleBuild.getProjectDir().getName())
			.version("1.0")
			.packaging("war")
			.noDependencies());
	}

	private File artifactWithSuffix(String suffix) {
		String name = this.gradleBuild.getProjectDir().getName();
		return new File(new File(this.gradleBuild.getProjectDir(), "build/repo"),
				String.format("com/example/%s/1.0/%s-1.0.%s", name, name, suffix));
	}

	private PomCondition pomWith() {
		return new PomCondition();
	}

}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free