@ -214,10 +214,25 @@ func LoadFile(name string) (*chart.Chart, error) {
return LoadArchive ( raw )
}
// LoadIgnoreFiles loads helmignore files and returns a reader.
func LoadIgnoreFiles ( ignoreFiles [ ] string ) * bytes . Reader {
buff := bytes . NewBuffer ( nil )
for _ , ignf := range ignoreFiles {
f , err := os . Open ( ignf )
if err == nil {
defer f . Close ( )
io . Copy ( buff , f )
}
}
return bytes . NewReader ( buff . Bytes ( ) )
}
// LoadDir loads from a directory.
//
// This loads charts only from directories.
func LoadDir ( dir string ) ( * chart . Chart , error ) {
func LoadDir ( dir string , ignoreFiles ... string ) ( * chart . Chart , error ) {
topdir , err := filepath . Abs ( dir )
if err != nil {
return nil , err
@ -227,13 +242,12 @@ func LoadDir(dir string) (*chart.Chart, error) {
c := & chart . Chart { }
rules := ignore . Empty ( )
ifile := filepath . Join ( topdir , ignore . HelmIgnore )
if _, err := os . Stat ( ifile ) ; err == nil {
r , err := ignore . ParseFile ( ifile )
r := LoadIgnoreFiles ( ignoreFiles )
if r. Len ( ) > 0 {
r ules, err = ignore . Parse ( r )
if err != nil {
return c , err
}
rules = r
}
rules . AddDefaults ( )