Skip to content

Commit

Permalink
chore: more consistent commands and add --nobuild flag
Browse files Browse the repository at this point in the history
  • Loading branch information
M0Rf30 committed Jan 14, 2024
1 parent 82761a3 commit e13f78d
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 44 deletions.
20 changes: 11 additions & 9 deletions cmd/yap/command/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ var (
log.Fatal(err)
}

if project.NoCache {
if project.CleanBuild {
if err := mpc.Clean(); err != nil {
fmt.Printf("%s❌ :: %sError:\n%s",
string(constants.ColorBlue),
Expand All @@ -65,16 +65,18 @@ var (
func init() {
rootCmd.AddCommand(buildCmd)
buildCmd.AddCommand(listTargetsCmd)
buildCmd.Flags().StringVarP(&source.SSHPassword,
"ssh-password", "p", "", "Optional SSH password to use for private repositories")
buildCmd.Flags().BoolVarP(&project.SkipSyncBuildEnvironmentDeps,
"ignore-makedeps", "d", false, "Ignore make dependencies resolution")
buildCmd.Flags().BoolVarP(&project.NoCache,
"no-cache", "c", false, "Do not use cache when building the project")
buildCmd.Flags().BoolVarP(&project.CleanBuild,
"cleanbuild", "c", false, "Remove $srcdir/ dir before building the package")
buildCmd.Flags().BoolVarP(&project.NoMakeDeps,
"nomakedeps", "d", false, "Skip all make dependency (makedeps) checks")
buildCmd.Flags().BoolVarP(&project.NoBuild,
"nobuild", "o", false, "Download and extract files only")
buildCmd.PersistentFlags().StringVarP(&parser.OverridePkgver,
"override-pkgver", "o", "", "Override package version (pkgver)")
buildCmd.Flags().BoolVarP(&project.SkipSyncFlag,
"pkgver", "w", "", "Use a custom package version (pkgver)")
buildCmd.Flags().BoolVarP(&project.SkipSyncDeps,
"skip-sync", "s", false, "Skip sync with remotes for package managers")
buildCmd.Flags().StringVarP(&source.SSHPassword,
"ssh-password", "p", "", "Optional SSH password to use for private repositories")
buildCmd.Flags().StringVarP(&project.FromPkgName,
"from", "", "", "Build starting from a defined package name")
buildCmd.Flags().StringVarP(&project.ToPkgName,
Expand Down
4 changes: 2 additions & 2 deletions cmd/yap/command/prepare.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ var (
distro := split[0]

packageManager := packer.GetPackageManager(&pkgbuild.PKGBUILD{}, distro)
if !project.SkipSyncFlag {
if !project.SkipSyncDeps {
if err := packageManager.Update(); err != nil {
log.Fatal(err)
}
Expand Down Expand Up @@ -53,7 +53,7 @@ var (

func init() {
rootCmd.AddCommand(prepareCmd)
prepareCmd.Flags().BoolVarP(&project.SkipSyncFlag,
prepareCmd.Flags().BoolVarP(&project.SkipSyncDeps,
"skip-sync", "s", false, "Skip sync with remotes for package managers")
prepareCmd.Flags().BoolVarP(&GoLang,
"golang", "g", false, "Additionally install golang")
Expand Down
38 changes: 18 additions & 20 deletions pkg/builder/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ type Builder struct {

// Compile manages all the instructions that lead to a single project artifact.
// It returns any error if occurred.
func (builder *Builder) Compile() error {
err := builder.initDirs()
if err != nil {
func (builder *Builder) Compile(noBuild bool) error {
if err := builder.initDirs(); err != nil {
return err
}

Expand All @@ -27,29 +26,28 @@ func (builder *Builder) Compile() error {
string(constants.ColorYellow),
string(constants.ColorWhite))

err = builder.getSources()
if err != nil {
if err := builder.getSources(); err != nil {
return err
}

fmt.Printf("%s🏗️ :: %sBuilding ...%s\n",
string(constants.ColorBlue),
string(constants.ColorYellow),
string(constants.ColorWhite))
if !noBuild {
fmt.Printf("%s🏗️ :: %sBuilding ...%s\n",
string(constants.ColorBlue),
string(constants.ColorYellow),
string(constants.ColorWhite))

err = builder.processFunction(builder.PKGBUILD.Build)
if err != nil {
return err
}
if err := builder.processFunction(builder.PKGBUILD.Build); err != nil {
return err
}

fmt.Printf("%s📦 :: %sGenerating package ...%s\n",
string(constants.ColorBlue),
string(constants.ColorYellow),
string(constants.ColorWhite))
fmt.Printf("%s📦 :: %sGenerating package ...%s\n",
string(constants.ColorBlue),
string(constants.ColorYellow),
string(constants.ColorWhite))

err = builder.processFunction(builder.PKGBUILD.Package)
if err != nil {
return err
if err := builder.processFunction(builder.PKGBUILD.Package); err != nil {
return err
}
}

return nil
Expand Down
24 changes: 12 additions & 12 deletions pkg/project/project.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ import (
)

var (
NoCache bool
SkipSyncFlag bool
SkipSyncBuildEnvironmentDeps bool
CleanBuild bool
NoBuild bool
NoMakeDeps bool
SkipSyncDeps bool
)

// FromPkgName is used to start the build process from a specific package.
Expand Down Expand Up @@ -104,16 +105,15 @@ func (mpc *MultipleProject) BuildAll() error {
proj.Builder.PKGBUILD.PkgRel,
)

if err := proj.Builder.Compile(); err != nil {
if err := proj.Builder.Compile(NoBuild); err != nil {
return err
}

err := mpc.createPackages(proj)
if err != nil {
return err
}
if proj.HasToInstall && !NoBuild {
if err := mpc.createPackages(proj); err != nil {
return err
}

if proj.HasToInstall {
fmt.Printf("%s🤓 :: %sInstalling package: %s%s %s-%s\n",
string(constants.ColorBlue),
string(constants.ColorYellow),
Expand Down Expand Up @@ -145,7 +145,7 @@ func (mpc *MultipleProject) Clean() error {
return err
}

if NoCache {
if CleanBuild {
if err := utils.RemoveAll(project.Builder.PKGBUILD.SourceDir); err != nil {
return err
}
Expand Down Expand Up @@ -180,7 +180,7 @@ func (mpc *MultipleProject) MultiProject(distro, release, path string) error {
}

mpc.packageManager = packer.GetPackageManager(&pkgbuild.PKGBUILD{}, distro)
if !SkipSyncFlag {
if !SkipSyncDeps {
if err := mpc.packageManager.Update(); err != nil {
return err
}
Expand All @@ -191,7 +191,7 @@ func (mpc *MultipleProject) MultiProject(distro, release, path string) error {
return err
}

if !SkipSyncBuildEnvironmentDeps {
if !NoMakeDeps {
mpc.getMakeDeps()

if err := mpc.packageManager.Prepare(mpc.makeDepends); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/project/project_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func TestBuildMultipleProjectFromJSON(t *testing.T) {

defer os.Remove(prj2)

project.SkipSyncFlag = true
project.SkipSyncDeps = true

var mpc = project.MultipleProject{}
err = mpc.MultiProject("ubuntu", "", testDir)
Expand Down

0 comments on commit e13f78d

Please sign in to comment.