feature: Added '--specignore' option to pass file containing specs to be ignored for fission spec commands (#2239)

- New flag `--specignore` has been added for command fission spec [list | validate | apply | destroy]
- This flag is optional.
- The default spec ignore file name is `.specignore`, if the flag is not used
- The spec ignore file existence will be checked in the `--specdir` path
- If spec ignore file is passed to the flag, with a name other than .specignore and if it does not exist in the `--specdir` path then an error will be returned.
- `--specdir` will be the root path against which the patterns will be evaluated
- The behaviour of the spec ignore file will be similar to .gitignore (only for yml and yaml files). For reference: http://git-scm.com/docs/gitignore
This commit is contained in:
Pradeep Lakshmi Narasimha
2021-10-29 13:26:42 +05:30
committed by GitHub
parent 8fb311b739
commit a5fb5b9901
19 changed files with 103 additions and 24 deletions
+3 -2
View File
@@ -86,7 +86,8 @@ func (opts *CreateSubCommand) run(input cli.Input) error {
if input.Bool(flagkey.SpecSave) {
specDir = util.GetSpecDir(input)
fr, err := spec.ReadSpecs(specDir)
specIgnore := util.GetSpecIgnore(input)
fr, err := spec.ReadSpecs(specDir, specIgnore)
if err != nil {
return errors.Wrap(err, fmt.Sprintf("error reading spec in '%v'", specDir))
}
@@ -185,7 +186,7 @@ func CreatePackage(input cli.Input, client client.Interface, pkgName string, pkg
if input.Bool(flagkey.SpecSave) {
// if a package with the same spec exists, don't create a new spec file
fr, err := spec.ReadSpecs(util.GetSpecDir(input))
fr, err := spec.ReadSpecs(util.GetSpecDir(input), util.GetSpecIgnore(input))
if err != nil {
return nil, errors.Wrap(err, "error reading specs")
}
+2 -1
View File
@@ -161,7 +161,8 @@ func CreateArchive(client client.Interface, input cli.Input, includeFiles []stri
}
} else if input.Bool(flagkey.SpecSave) {
// check if this AUS exists in the specs; if so, don't create a new one
fr, err := spec.ReadSpecs(specDir)
specIgnore := util.GetSpecIgnore(input)
fr, err := spec.ReadSpecs(specDir, specIgnore)
if err != nil {
return nil, errors.Wrap(err, "error reading specs")
}