github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/cnbutils/project/v01/project.go (about)

     1  // Source: https://github.com/buildpacks/pack/blob/main/pkg/project/v01/project.go
     2  package v01
     3  
     4  import (
     5  	"github.com/BurntSushi/toml"
     6  	"github.com/SAP/jenkins-library/pkg/cnbutils/project/types"
     7  	"github.com/buildpacks/lifecycle/api"
     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, error) {
    17  	versionedDescriptor := &Descriptor{}
    18  
    19  	_, err := toml.Decode(projectTomlContents, versionedDescriptor)
    20  	if err != nil {
    21  		return types.Descriptor{}, 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  	}, nil
    30  }