Hab studio build with private dependencies (without on-prem builder)


#1

I have some private harts that have been built locally. They don’t exist in the public builder nor do they exist on an on-prem builder.

On a fresh environment, I am trying to execute “hab studio build /path/to/plan.sh”. It will fail because the plan.sh requires those private deps that I just built.

It seems like I need to run “hab pkg install /my/private/harts” before it actually executes a build. I have not seen any flags or switches that allow me to do this.

Anyone able to do this?


#2

I used to have to do something similar, I used an argument to the studio so that it would reuse the same studio and then it could find the harts.

I’m guess ing you’re going to have to do something like

do_prepare() {
    for f in $PLAN_CONTEXT/DEPS
    do
            hab pkg install $f
    done
}

#3

Ahhh. this looks like it would help me – but that kind of mechanism is inside the plan.sh. That’s something that I want to avoid.

BTW, I opted to make use of hab studio run <commands>. To get packages installed before running the build, I ran this hab studio run "sh studio-localdepot.sh && build myawesome/plan.sh". The studio-localdepot.sh contains instructions to just do hab pkg install whatever.harts.