mirror of
https://gitee.com/dcren/initializr.git
synced 2026-06-25 14:54:04 +08:00
Fix duplication of dependencies with alias
This commit fixes `getAllDependencies()` to stop returning duplicates when a dependency declares an alias. Closes gh-772
This commit is contained in:
@@ -22,6 +22,7 @@ import java.util.Collections;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import io.spring.initializr.util.VersionParser;
|
import io.spring.initializr.util.VersionParser;
|
||||||
@@ -64,7 +65,8 @@ public class DependenciesCapability extends ServiceCapability<List<DependencyGro
|
|||||||
* @return all dependencies
|
* @return all dependencies
|
||||||
*/
|
*/
|
||||||
public Collection<Dependency> getAll() {
|
public Collection<Dependency> getAll() {
|
||||||
return Collections.unmodifiableCollection(this.indexedDependencies.values());
|
return Collections.unmodifiableCollection(this.indexedDependencies.values()
|
||||||
|
.stream().distinct().collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validate() {
|
public void validate() {
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package io.spring.initializr.generator;
|
package io.spring.initializr.generator;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import io.spring.initializr.metadata.Dependency;
|
import io.spring.initializr.metadata.Dependency;
|
||||||
import io.spring.initializr.metadata.InitializrMetadata;
|
import io.spring.initializr.metadata.InitializrMetadata;
|
||||||
import io.spring.initializr.metadata.Type;
|
import io.spring.initializr.metadata.Type;
|
||||||
@@ -69,6 +71,19 @@ public class CommandLineHelpGeneratorTests {
|
|||||||
assertThat(content).contains("| foo-desc");
|
assertThat(content).contains("| foo-desc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void generateCapabilitiesWithAlias() {
|
||||||
|
Dependency dependency = createDependency("dep", "some description");
|
||||||
|
dependency.setAliases(Arrays.asList("legacy", "another"));
|
||||||
|
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||||
|
.addDependencyGroup("test", dependency).build();
|
||||||
|
String content = this.generator.generateGenericCapabilities(metadata,
|
||||||
|
"https://fake-service");
|
||||||
|
assertCommandLineCapabilities(content);
|
||||||
|
assertThat(content).contains("dep | some description |");
|
||||||
|
assertThat(content).doesNotContain("legacy").doesNotContain("another");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void generateCurlCapabilities() {
|
public void generateCurlCapabilities() {
|
||||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class InitializrMetadataBuilderTests {
|
|||||||
|
|
||||||
private static void assertDefaultConfig(InitializrMetadata metadata) {
|
private static void assertDefaultConfig(InitializrMetadata metadata) {
|
||||||
assertThat(metadata).isNotNull();
|
assertThat(metadata).isNotNull();
|
||||||
assertThat(metadata.getDependencies().getAll()).hasSize(9);
|
assertThat(metadata.getDependencies().getAll()).hasSize(8);
|
||||||
assertThat(metadata.getDependencies().getContent()).hasSize(2);
|
assertThat(metadata.getDependencies().getContent()).hasSize(2);
|
||||||
assertThat(metadata.getTypes().getContent()).hasSize(4);
|
assertThat(metadata.getTypes().getContent()).hasSize(4);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user