Skip to content

Commit

Permalink
Error on missing *.cbuild-pack.yml with --frozen-packs
Browse files Browse the repository at this point in the history
  • Loading branch information
soumeh01 committed Sep 2, 2024
1 parent 7823e23 commit b1255eb
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
27 changes: 24 additions & 3 deletions pkg/builder/csolution/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,13 @@ func (b CSolutionBuilder) build() (err error) {
func (b CSolutionBuilder) Build() (err error) {
_ = utils.UpdateEnvVars(b.InstallConfigs.BinPath, b.InstallConfigs.EtcPath)

// STEP 1: Install missing pack(s)
// STEP 1: Check Pre-requisites
if err = b.validatePrerequisites(); err != nil {
log.Error(err)
return err
}

// STEP 2: Install missing pack(s)
if err = b.installMissingPacks(); err != nil {
// Continue with build files generation upon setup command
if !b.Setup {
Expand All @@ -626,13 +632,13 @@ func (b CSolutionBuilder) Build() (err error) {
}
}

// STEP 2: Generate build file(s)
// STEP 3: Generate build file(s)
if err = b.generateBuildFiles(); err != nil {
log.Error(err)
return err
}

// STEP 3: Build project(s)
// STEP 4: Build project(s)
return b.build()
}

Expand Down Expand Up @@ -728,3 +734,18 @@ func (b CSolutionBuilder) hasRebuildNode(idxFilePath string) (bool, error) {

return false, nil
}

func (b CSolutionBuilder) validatePrerequisites() error {
// Validate the presence of the cbuild-pack.yml file when --frozen-packs flag is used
if b.Options.FrozenPacks {
projName := b.getProjectName(b.InputFile)
parentDir := filepath.Dir(b.InputFile)
cbuildPackFile := filepath.Join(parentDir, projName)

if _, err := os.Stat(cbuildPackFile); os.IsNotExist(err) {
return errutils.New(errutils.ErrMissingCbuildPackFile, cbuildPackFile)
}
}

return nil
}
1 change: 1 addition & 0 deletions pkg/errutils/errutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ const (
ErrInvalidVersionString = "invalid version %s. Expected %s"
ErrInvalidNumJobs = "invalid number of job slots specified for parallel execution. Expected: j>0"
ErrMissingRequiredArg = "setup command is missing mandatory option '--context-set'"
ErrMissingCbuildPackFile = "Missing required %s.cbuild-pack.yml file when using --frozen-packs flag"
)

const (
Expand Down

0 comments on commit b1255eb

Please sign in to comment.