public DependencyMetadata get()

in initializr-web/src/main/java/io/spring/initializr/web/support/DefaultDependencyMetadataProvider.java [41:73]


	public DependencyMetadata get(InitializrMetadata metadata, Version bootVersion) {
		Map<String, Dependency> dependencies = new LinkedHashMap<>();
		for (Dependency d : metadata.getDependencies().getAll()) {
			if (d.match(bootVersion)) {
				dependencies.put(d.getId(), d.resolve(bootVersion));
			}
		}

		Map<String, Repository> repositories = new LinkedHashMap<>();
		for (Dependency d : dependencies.values()) {
			if (d.getRepository() != null) {
				repositories.put(d.getRepository(), metadata.getConfiguration().getEnv()
						.getRepositories().get(d.getRepository()));
			}
		}

		Map<String, BillOfMaterials> boms = new LinkedHashMap<>();
		for (Dependency d : dependencies.values()) {
			if (d.getBom() != null) {
				boms.put(d.getBom(), metadata.getConfiguration().getEnv().getBoms()
						.get(d.getBom()).resolve(bootVersion));
			}
		}
		// Each resolved bom may require additional repositories
		for (BillOfMaterials b : boms.values()) {
			for (String id : b.getRepositories()) {
				repositories.put(id,
						metadata.getConfiguration().getEnv().getRepositories().get(id));
			}
		}

		return new DependencyMetadata(bootVersion, dependencies, repositories, boms);
	}