Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 0 additions & 45 deletions gobin/coalescer.go

This file was deleted.

5 changes: 3 additions & 2 deletions gobin/ecosystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ import (
"context"

"github.com/quay/claircore/indexer"
"github.com/quay/claircore/language"
)

// NewEcosystem provides the ecosystem for handling go binaries.
func NewEcosystem(ctx context.Context) *indexer.Ecosystem {
func NewEcosystem(_ context.Context) *indexer.Ecosystem {
return &indexer.Ecosystem{
Name: "gobin",
PackageScanners: func(context.Context) ([]indexer.PackageScanner, error) {
return []indexer.PackageScanner{Detector{}}, nil
},
DistributionScanners: func(context.Context) ([]indexer.DistributionScanner, error) { return nil, nil },
RepositoryScanners: func(context.Context) ([]indexer.RepositoryScanner, error) { return nil, nil },
Coalescer: func(context.Context) (indexer.Coalescer, error) { return &coalescer{}, nil },
Coalescer: language.NewCoalescer,
}
}
2 changes: 1 addition & 1 deletion gobin/gobin.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ type Detector struct{}

const (
detectorName = `gobin`
detectorVersion = `7`
detectorVersion = `8`
detectorKind = `package`
)

Expand Down
42 changes: 0 additions & 42 deletions java/coalescer.go

This file was deleted.

7 changes: 3 additions & 4 deletions java/ecosystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ import (
"context"

"github.com/quay/claircore/indexer"
"github.com/quay/claircore/language"
)

// NewEcosystem provides the set of scanners for the java ecosystem.
func NewEcosystem(ctx context.Context) *indexer.Ecosystem {
func NewEcosystem(_ context.Context) *indexer.Ecosystem {
return &indexer.Ecosystem{
PackageScanners: func(_ context.Context) ([]indexer.PackageScanner, error) {
return []indexer.PackageScanner{&Scanner{}}, nil
Expand All @@ -16,8 +17,6 @@ func NewEcosystem(ctx context.Context) *indexer.Ecosystem {
RepositoryScanners: func(_ context.Context) ([]indexer.RepositoryScanner, error) {
return nil, nil
},
Coalescer: func(_ context.Context) (indexer.Coalescer, error) {
return (*coalescer)(nil), nil
},
Coalescer: language.NewCoalescer,
}
}
9 changes: 4 additions & 5 deletions nodejs/coalescer.go → language/coalescer.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package nodejs
package language

import (
"context"
"github.com/quay/claircore"

"github.com/quay/claircore"
"github.com/quay/claircore/indexer"
)

Expand All @@ -21,10 +21,9 @@ func (c *coalescer) Coalesce(_ context.Context, ls []*indexer.LayerArtifacts) (*
Packages: map[string]*claircore.Package{},
Repositories: map[string]*claircore.Repository{},
}

for _, l := range ls {
// If we didn't find at least one npm repo in this layer
// no point in searching for packages.
// If we didn't find at least one repo in this layer,
// there's no point in searching for packages.
if len(l.Repos) == 0 {
continue
}
Expand Down
21 changes: 14 additions & 7 deletions nodejs/coalescer_test.go → language/coalescer_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package nodejs
package language

import (
"strconv"
Expand All @@ -12,9 +12,14 @@ import (
func TestCoalescer(t *testing.T) {
t.Parallel()
ctx := test.Logging(t)
repoName := "npm"
coalescer := &coalescer{}
pkgs := test.GenUniquePackages(6)
repo := []*claircore.Repository{&Repository}
repo := []*claircore.Repository{{
ID: "1",
Name: repoName,
URI: "https://www.npmjs.com/",
}}
layerArtifacts := []*indexer.LayerArtifacts{
{
Hash: test.RandomSHA256Digest(t),
Expand Down Expand Up @@ -48,21 +53,23 @@ func TestCoalescer(t *testing.T) {
t.Fatalf("received error from coalesce method: %v", err)
}
// Expect 0-5 to have gotten associated with the repository.
for i := range pkgs {
for i := range pkgs[:5] {
es, ok := ir.Environments[strconv.Itoa(i)]
if !ok && i == 5 {
// Left out the last package.
continue
if !ok {
t.Errorf("missing environment for package %d", i)
}
e := es[0]
if len(e.RepositoryIDs) == 0 {
t.Error("expected some repositories")
}
for _, id := range e.RepositoryIDs {
r := ir.Repositories[id]
if got, want := r.Name, Repository.Name; got != want {
if got, want := r.Name, repoName; got != want {
t.Errorf("got: %q, want: %q", got, want)
}
}
}
if _, ok := ir.Environments[strconv.Itoa(5)]; ok {
t.Error("expected last package to be excluded (no repo in its layer)")
}
}
3 changes: 2 additions & 1 deletion nodejs/ecosystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"

"github.com/quay/claircore/indexer"
"github.com/quay/claircore/language"
)

var scanners = []indexer.PackageScanner{&Scanner{}}
Expand All @@ -14,6 +15,6 @@ func NewEcosystem(_ context.Context) *indexer.Ecosystem {
PackageScanners: func(_ context.Context) ([]indexer.PackageScanner, error) { return scanners, nil },
DistributionScanners: func(_ context.Context) ([]indexer.DistributionScanner, error) { return nil, nil },
RepositoryScanners: func(_ context.Context) ([]indexer.RepositoryScanner, error) { return nil, nil },
Coalescer: NewCoalescer,
Coalescer: language.NewCoalescer,
}
}
47 changes: 0 additions & 47 deletions python/coalescer.go

This file was deleted.

5 changes: 3 additions & 2 deletions python/ecosystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@ import (
"context"

"github.com/quay/claircore/indexer"
"github.com/quay/claircore/language"
)

var scanners = []indexer.PackageScanner{&Scanner{}}

// NewEcosystem provides the set of scanners for the python ecosystem.
func NewEcosystem(ctx context.Context) *indexer.Ecosystem {
func NewEcosystem(_ context.Context) *indexer.Ecosystem {
return &indexer.Ecosystem{
PackageScanners: func(_ context.Context) ([]indexer.PackageScanner, error) { return scanners, nil },
DistributionScanners: func(_ context.Context) ([]indexer.DistributionScanner, error) { return nil, nil },
RepositoryScanners: func(_ context.Context) ([]indexer.RepositoryScanner, error) { return nil, nil },
Coalescer: NewCoalescer,
Coalescer: language.NewCoalescer,
}
}
46 changes: 0 additions & 46 deletions ruby/coalescer.go

This file was deleted.

3 changes: 2 additions & 1 deletion ruby/ecosystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"

"github.com/quay/claircore/indexer"
"github.com/quay/claircore/language"
)

var scanners = []indexer.PackageScanner{&Scanner{}}
Expand All @@ -14,6 +15,6 @@ func NewEcosystem(_ context.Context) *indexer.Ecosystem {
PackageScanners: func(_ context.Context) ([]indexer.PackageScanner, error) { return scanners, nil },
DistributionScanners: func(_ context.Context) ([]indexer.DistributionScanner, error) { return nil, nil },
RepositoryScanners: func(_ context.Context) ([]indexer.RepositoryScanner, error) { return nil, nil },
Coalescer: NewCoalescer,
Coalescer: language.NewCoalescer,
}
}
Loading