mirror of
https://github.com/anchore/syft.git
synced 2026-11-05 00:46:38 +01:00
* Add support for PHP Pear and unify PECL with it Signed-off-by: Laurent Goderre <laurent.goderre@docker.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix tests Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * remove log statements Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix struct comment Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> --------- Signed-off-by: Laurent Goderre <laurent.goderre@docker.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
39 lines
1.6 KiB
Go
39 lines
1.6 KiB
Go
/*
|
|
Package php provides a concrete Cataloger implementation relating to packages within the PHP language ecosystem.
|
|
*/
|
|
package php
|
|
|
|
import (
|
|
"github.com/anchore/syft/syft/pkg"
|
|
"github.com/anchore/syft/syft/pkg/cataloger/generic"
|
|
)
|
|
|
|
// Note about the distinction between composer.lock and installed.json: composer.lock and installed.json have different
|
|
// semantic meanings. The lock file represents what should be installed, whereas the installed file represents what is installed.
|
|
|
|
// NewComposerInstalledCataloger returns a new cataloger for PHP installed.json files.
|
|
func NewComposerInstalledCataloger() pkg.Cataloger {
|
|
return generic.NewCataloger("php-composer-installed-cataloger").
|
|
WithParserByGlobs(parseInstalledJSON, "**/installed.json")
|
|
}
|
|
|
|
// NewComposerLockCataloger returns a new cataloger for PHP composer.lock files.
|
|
func NewComposerLockCataloger() pkg.Cataloger {
|
|
return generic.NewCataloger("php-composer-lock-cataloger").
|
|
WithParserByGlobs(parseComposerLock, "**/composer.lock")
|
|
}
|
|
|
|
// NewPearCataloger returns a new cataloger for PHP Pear metadata (including Pecl metadata).
|
|
func NewPearCataloger() pkg.Cataloger {
|
|
return generic.NewCataloger("php-pear-serialized-cataloger").
|
|
WithParserByGlobs(parsePear, "**/php/.registry/**/*.reg")
|
|
}
|
|
|
|
// NewPeclCataloger returns a new cataloger for PHP Pecl metadata. Note: this will also catalog Pear metadata so should
|
|
// not be used in conjunction with the Pear Cataloger.
|
|
// Deprecated: please use NewPearCataloger instead.
|
|
func NewPeclCataloger() pkg.Cataloger {
|
|
return generic.NewCataloger("php-pecl-serialized-cataloger").
|
|
WithParserByGlobs(parsePecl, "**/php/.registry/.channel.*/*.reg")
|
|
}
|