github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/pkg/project/v01/project.go (about)

     1  package v01
     2  
     3  import (
     4  	"github.com/BurntSushi/toml"
     5  	"github.com/buildpacks/lifecycle/api"
     6  
     7  	"github.com/buildpacks/pack/pkg/project/types"
     8  )
     9  
    10  type Descriptor struct {
    11  	Project  types.Project          `toml:"project"`
    12  	Build    types.Build            `toml:"build"`
    13  	Metadata map[string]interface{} `toml:"metadata"`
    14  }
    15  
    16  func NewDescriptor(projectTomlContents string) (types.Descriptor, toml.MetaData, error) {
    17  	versionedDescriptor := &Descriptor{}
    18  
    19  	tomlMetaData, err := toml.Decode(projectTomlContents, versionedDescriptor)
    20  	if err != nil {
    21  		return types.Descriptor{}, tomlMetaData, err
    22  	}
    23  
    24  	return types.Descriptor{
    25  		Project:       versionedDescriptor.Project,
    26  		Build:         versionedDescriptor.Build,
    27  		Metadata:      versionedDescriptor.Metadata,
    28  		SchemaVersion: api.MustParse("0.1"),
    29  	}, tomlMetaData, nil
    30  }