| /* |
| * Copyright 2015-2022 the original author or authors. |
| * |
| * All rights reserved. This program and the accompanying materials are |
| * made available under the terms of the Eclipse Public License v2.0 which |
| * accompanies this distribution and is available at |
| * |
| * https://www.eclipse.org/legal/epl-v20.html |
| */ |
| |
| package platform.tooling.support.tests; |
| |
| import static org.junit.jupiter.api.Assertions.assertLinesMatch; |
| |
| import java.nio.file.Files; |
| import java.util.List; |
| |
| import org.junit.jupiter.api.Test; |
| import platform.tooling.support.MavenRepo; |
| |
| /** |
| * @since 1.6 |
| */ |
| class GradleModuleFileTests { |
| |
| @Test |
| void jupiterAggregatorGradleModuleMetadataVariants() throws Exception { |
| var expected = List.of(">> HEAD >>", // |
| "{", // |
| " \"formatVersion\": \"1.1\",", // |
| " \"component\": {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter\",", // |
| ">> VERSION >>", // |
| " \"attributes\": {", // |
| ">> STATUS >>", // |
| " }", // |
| " },", // |
| ">> CREATED_BY >>", // |
| " \"variants\": [", // |
| " {", // |
| " \"name\": \"apiElements\",", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"library\",", // |
| " \"org.gradle.dependency.bundling\": \"external\",", // |
| " \"org.gradle.jvm.version\": 8,", // |
| " \"org.gradle.libraryelements\": \"jar\",", // |
| " \"org.gradle.usage\": \"java-api\"", // |
| " },", // |
| " \"dependencies\": [", // |
| " {", // |
| " \"group\": \"org.junit\",", // |
| " \"module\": \"junit-bom\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " },", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"platform\"", // |
| " },", // |
| " \"endorseStrictVersions\": true", // |
| " },", // |
| " {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter-api\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " }", // |
| " },", // |
| " {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter-params\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " }", // |
| " }", // |
| " ],", // |
| " \"files\": [", // |
| " {", // |
| ">> JAR_FILE_DETAILS >>", // |
| " }", // |
| " ]", // |
| " },", // |
| " {", // |
| " \"name\": \"runtimeElements\",", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"library\",", // |
| " \"org.gradle.dependency.bundling\": \"external\",", // |
| " \"org.gradle.jvm.version\": 8,", // |
| " \"org.gradle.libraryelements\": \"jar\",", // |
| " \"org.gradle.usage\": \"java-runtime\"", // |
| " },", // |
| " \"dependencies\": [", // |
| " {", // |
| " \"group\": \"org.junit\",", // |
| " \"module\": \"junit-bom\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " },", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"platform\"", // |
| " },", // |
| " \"endorseStrictVersions\": true", // |
| " },", // |
| " {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter-api\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " }", // |
| " },", // |
| " {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter-params\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " }", // |
| " },", // |
| " {", // |
| " \"group\": \"org.junit.jupiter\",", // |
| " \"module\": \"junit-jupiter-engine\",", // |
| " \"version\": {", // |
| ">> VERSION >>", // |
| " }", // |
| " }", // |
| " ],", // |
| " \"files\": [", // |
| " {", // |
| ">> JAR_FILE_DETAILS >>", // |
| " }", // |
| " ]", // |
| " },", // |
| " {", // |
| " \"name\": \"javadocElements\",", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"documentation\",", // |
| " \"org.gradle.dependency.bundling\": \"external\",", // |
| " \"org.gradle.docstype\": \"javadoc\",", // |
| " \"org.gradle.usage\": \"java-runtime\"", // |
| " },", // |
| " \"files\": [", // |
| " {", // |
| ">> JAR_FILE_DETAILS >>", // |
| " }", // |
| " ]", // |
| " },", // |
| " {", // |
| " \"name\": \"sourcesElements\",", // |
| " \"attributes\": {", // |
| " \"org.gradle.category\": \"documentation\",", // |
| " \"org.gradle.dependency.bundling\": \"external\",", // |
| " \"org.gradle.docstype\": \"sources\",", // |
| " \"org.gradle.usage\": \"java-runtime\"", // |
| " },", // |
| " \"files\": [", // |
| " {", // |
| ">> JAR_FILE_DETAILS >>", // |
| " }", // |
| " ]", // |
| " }", // |
| " ]", // |
| "}"); |
| |
| assertLinesMatch(expected, Files.readAllLines(MavenRepo.gradleModuleMetadata("junit-jupiter"))); |
| } |
| } |