Open
Description
The initializr-metadata
module has some public API that is only used in tests. It'd be nice to reduce the public API and pull those methods out into something that is test-specific. That might be a -test-support
module similar to what we have in Spring Boot.
Some methods that are candidates for removal from the public API:
io.spring.initializr.metadata.BillOfMaterials.create(String, String)
io.spring.initializr.metadata.BillOfMaterials.create(String, String, String)
io.spring.initializr.metadata.BillOfMaterials.Mapping.create(String, String)
io.spring.initializr.metadata.BillOfMaterials.Mapping.create(String, String, String...)
io.spring.initializr.metadata.Dependency.create(String, String, String, String)
io.spring.initializr.metadata.Dependency.withId(String, String)
io.spring.initializr.metadata.Dependency.withId(String, String, String, String)
io.spring.initializr.metadata.Dependency.withId(String, String, String, String, String)
io.spring.initializr.metadata.Dependency.Mapping.create(String, String, String, String, Boolean)
Of the methods listed above, one of them is used by tests in start.spring.io. We could consider a published test module or copy and paste as the usage is pretty minimal.
There's also a mixture of overloading (Dependency.withId
) and methods that may be called with several nulls
(Dependency.Mapping.create
). It'd be nice to be consistent and I wonder if a builder-based approach might work quite well here.