~rogpeppe/juju-core/438-local-instance-Addresses

« back to all changes in this revision

Viewing changes to charm/dir.go

  • Committer: Gustavo Niemeyer
  • Date: 2011-09-24 15:21:23 UTC
  • Revision ID: gustavo@niemeyer.net-20110924152123-aytdvquwlbmnv3tj
Applied the juju/charm renaming to the Go code base.

Dropped need for the silly "header" field in metadata.yaml.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package formula
 
1
package charm
2
2
 
3
3
import (
4
4
        "archive/zip"
8
8
        "path/filepath"
9
9
)
10
10
 
11
 
// ReadDir returns a Dir representing an expanded formula directory.
 
11
// ReadDir returns a Dir representing an expanded charm directory.
12
12
func ReadDir(path string) (dir *Dir, err os.Error) {
13
13
        dir = &Dir{Path: path}
14
14
        file, err := os.Open(dir.join("metadata.yaml"))
33
33
}
34
34
 
35
35
// The Dir type encapsulates access to data and operations
36
 
// on a formula directory.
 
36
// on a charm directory.
37
37
type Dir struct {
38
38
        Path   string
39
39
        meta   *Meta
40
40
        config *Config
41
41
}
42
42
 
43
 
// Trick to ensure *Dir implements the Formula interface.
44
 
var _ Formula = (*Dir)(nil)
 
43
// Trick to ensure *Dir implements the Charm interface.
 
44
var _ Charm = (*Dir)(nil)
45
45
 
46
46
// Meta returns the Meta representing the metadata.yaml file
47
 
// for the formula expanded in dir.
 
47
// for the charm expanded in dir.
48
48
func (dir *Dir) Meta() *Meta {
49
49
        return dir.meta
50
50
}
51
51
 
52
52
// Config returns the Config representing the config.yaml file
53
 
// for the formula expanded in dir.
 
53
// for the charm expanded in dir.
54
54
func (dir *Dir) Config() *Config {
55
55
        return dir.config
56
56
}
57
57
 
58
 
// BundleTo creates a formula file from the formula expanded in dir.
 
58
// BundleTo creates a charm file from the charm expanded in dir.
59
59
func (dir *Dir) BundleTo(w io.Writer) (err os.Error) {
60
60
        zipw := zip.NewWriter(w)
61
61
        defer func() {
112
112
        panic(panicv) // Something else
113
113
}
114
114
 
115
 
// join builds a path rooted at the formula's expended directory
 
115
// join builds a path rooted at the charm's expended directory
116
116
// path and the extra path components provided.
117
117
func (dir *Dir) join(parts ...string) string {
118
118
        parts = append([]string{dir.Path}, parts...)