(fullPath string, strict bool)
| 141 | } |
| 142 | |
| 143 | func (s *DataValuesFlags) file(fullPath string, strict bool) ([]*datavalues.Envelope, error) { |
| 144 | libRef, path, err := s.libraryRefAndRemainder(fullPath) |
| 145 | if err != nil { |
| 146 | return nil, err |
| 147 | } |
| 148 | |
| 149 | dvFiles, err := s.asFiles(path) |
| 150 | if err != nil { |
| 151 | return nil, fmt.Errorf("Find files '%s': %s", path, err) |
| 152 | } |
| 153 | |
| 154 | var result []*datavalues.Envelope |
| 155 | for _, dvFile := range dvFiles { |
| 156 | // Users may want to store other files (docs, etc.) within this directory; ignore those. |
| 157 | if dvFile.IsImplied() && !(dvFile.Type() == files.TypeYAML) { |
| 158 | continue |
| 159 | } |
| 160 | contents, err := dvFile.Bytes() |
| 161 | if err != nil { |
| 162 | return nil, fmt.Errorf("Reading file '%s': %s", dvFile.RelativePath(), err) |
| 163 | } |
| 164 | |
| 165 | docSetOpts := yamlmeta.DocSetOpts{ |
| 166 | AssociatedName: dvFile.RelativePath(), |
| 167 | Strict: strict, |
| 168 | } |
| 169 | docSet, err := yamlmeta.NewDocumentSetFromBytes(contents, docSetOpts) |
| 170 | if err != nil { |
| 171 | return nil, fmt.Errorf("Unmarshaling YAML data values file '%s': %s", dvFile.Description(), err) |
| 172 | } |
| 173 | |
| 174 | for _, doc := range docSet.Items { |
| 175 | if doc.Value != nil { |
| 176 | dvsOverlay, err := NewDataValuesFile(doc).AsOverlay() |
| 177 | if err != nil { |
| 178 | return nil, fmt.Errorf("Checking data values file '%s': %s", path, err) |
| 179 | } |
| 180 | dvs, err := datavalues.NewEnvelopeWithLibRef(dvsOverlay, libRef) |
| 181 | if err != nil { |
| 182 | return nil, err |
| 183 | } |
| 184 | result = append(result, dvs) |
| 185 | } |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | return result, nil |
| 190 | } |
| 191 | |
| 192 | func (s *DataValuesFlags) env(prefix string, src dataValuesFlagsSource) ([]*datavalues.Envelope, error) { |
| 193 | const ( |
no test coverage detected