From ff0ec01eb65be2cfbb4c5da6bf15e4df79ca9953 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sun, 22 Mar 2020 13:02:29 +0100 Subject: [PATCH] distro: drop NewDefaultRegistry() Require the caller to pass in the required distros explicitly. This would allow us to easily add distros in osbuild-pipeline and tests before exposing them in composer itself, for instance. This means there is no longer a dependency from the distro package to each of the individual distros, so the distros are now able to depend on the distro packag for types and interfaces. Signed-off-by: Tom Gundersen --- cmd/osbuild-composer/main.go | 10 ++++++++-- cmd/osbuild-pipeline/main.go | 7 ++++++- internal/distro/distro.go | 11 ----------- internal/distro/distro_test.go | 9 +++++++-- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/cmd/osbuild-composer/main.go b/cmd/osbuild-composer/main.go index 5e4b39c96..fdfd52711 100644 --- a/cmd/osbuild-composer/main.go +++ b/cmd/osbuild-composer/main.go @@ -4,12 +4,18 @@ import ( "crypto/tls" "crypto/x509" "flag" - "github.com/osbuild/osbuild-composer/internal/rcm" "io/ioutil" "log" "os" "path" + "github.com/osbuild/osbuild-composer/internal/distro/fedora30" + "github.com/osbuild/osbuild-composer/internal/distro/fedora31" + "github.com/osbuild/osbuild-composer/internal/distro/fedora32" + "github.com/osbuild/osbuild-composer/internal/distro/rhel81" + "github.com/osbuild/osbuild-composer/internal/distro/rhel82" + "github.com/osbuild/osbuild-composer/internal/rcm" + "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/jobqueue" @@ -84,7 +90,7 @@ func main() { rpm := rpmmd.NewRPMMD(path.Join(cacheDirectory, "rpmmd")) - distros, err := distro.NewDefaultRegistry() + distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) if err != nil { log.Fatalf("Error loading distros: %v", err) } diff --git a/cmd/osbuild-pipeline/main.go b/cmd/osbuild-pipeline/main.go index 8264d3117..ace2e26fd 100644 --- a/cmd/osbuild-pipeline/main.go +++ b/cmd/osbuild-pipeline/main.go @@ -10,6 +10,11 @@ import ( "path" "github.com/osbuild/osbuild-composer/internal/common" + "github.com/osbuild/osbuild-composer/internal/distro/fedora30" + "github.com/osbuild/osbuild-composer/internal/distro/fedora31" + "github.com/osbuild/osbuild-composer/internal/distro/fedora32" + "github.com/osbuild/osbuild-composer/internal/distro/rhel81" + "github.com/osbuild/osbuild-composer/internal/distro/rhel82" "github.com/osbuild/osbuild-composer/internal/blueprint" "github.com/osbuild/osbuild-composer/internal/distro" @@ -74,7 +79,7 @@ func main() { } } - distros, err := distro.NewDefaultRegistry() + distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) if err != nil { panic(err) } diff --git a/internal/distro/distro.go b/internal/distro/distro.go index 78984ad33..f5102f415 100644 --- a/internal/distro/distro.go +++ b/internal/distro/distro.go @@ -14,12 +14,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/blueprint" "github.com/osbuild/osbuild-composer/internal/rpmmd" - - "github.com/osbuild/osbuild-composer/internal/distro/fedora30" - "github.com/osbuild/osbuild-composer/internal/distro/fedora31" - "github.com/osbuild/osbuild-composer/internal/distro/fedora32" - "github.com/osbuild/osbuild-composer/internal/distro/rhel81" - "github.com/osbuild/osbuild-composer/internal/distro/rhel82" ) type Distro interface { @@ -78,11 +72,6 @@ func NewRegistry(distros ...Distro) (*Registry, error) { return reg, nil } -// NewDefaultRegistry creates a new Registry containing all known distros. -func NewDefaultRegistry() (*Registry, error) { - return NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) -} - func (r *Registry) GetDistro(name string) Distro { distroTag, exists := common.DistributionFromString(name) if !exists { diff --git a/internal/distro/distro_test.go b/internal/distro/distro_test.go index 56c4f10b6..cfec649aa 100644 --- a/internal/distro/distro_test.go +++ b/internal/distro/distro_test.go @@ -9,6 +9,11 @@ import ( "github.com/osbuild/osbuild-composer/internal/blueprint" "github.com/osbuild/osbuild-composer/internal/distro" + "github.com/osbuild/osbuild-composer/internal/distro/fedora30" + "github.com/osbuild/osbuild-composer/internal/distro/fedora31" + "github.com/osbuild/osbuild-composer/internal/distro/fedora32" + "github.com/osbuild/osbuild-composer/internal/distro/rhel81" + "github.com/osbuild/osbuild-composer/internal/distro/rhel82" "github.com/osbuild/osbuild-composer/internal/osbuild" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -52,7 +57,7 @@ func TestDistro_Manifest(t *testing.T) { t.Fatalf("rpmmd.LoadRepositories: %v", err) } t.Run(tt.ComposeRequest.OutputFormat, func(t *testing.T) { - distros, err := distro.NewDefaultRegistry() + distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) if err != nil { t.Fatal(err) } @@ -92,7 +97,7 @@ func TestDistro_RegistryList(t *testing.T) { "rhel-8.2", } - distros, err := distro.NewDefaultRegistry() + distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) if err != nil { t.Fatal(err) }