mirror of
https://github.com/bluszcz/cutego.git
synced 2024-09-28 21:25:16 +03:00
selfstanding docker setup
This commit is contained in:
parent
6bcfb21c9a
commit
a0460f5a46
10 changed files with 51 additions and 30 deletions
|
@ -64,7 +64,7 @@ func main() {
|
|||
|
||||
utils.CheckBuildTarget(target)
|
||||
if docker {
|
||||
cmd.Docker([]string{"qtminimal", "-debug"}, target, path)
|
||||
cmd.Docker([]string{"qtminimal", "-debug"}, target, path, false)
|
||||
} else {
|
||||
minimal.Minimal(path, target)
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ func main() {
|
|||
|
||||
utils.CheckBuildTarget(target)
|
||||
if docker {
|
||||
cmd.Docker([]string{"qtmoc", "-debug"}, target, path)
|
||||
cmd.Docker([]string{"qtmoc", "-debug"}, target, path, false)
|
||||
} else {
|
||||
moc.Moc(path, target)
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ func main() {
|
|||
|
||||
utils.CheckBuildTarget(target)
|
||||
if docker {
|
||||
cmd.Docker([]string{"qtrcc", "-debug"}, target, path)
|
||||
cmd.Docker([]string{"qtrcc", "-debug"}, target, path, false)
|
||||
} else {
|
||||
rcc.Rcc(path, target, output)
|
||||
}
|
||||
|
|
|
@ -72,28 +72,23 @@ func main() {
|
|||
|
||||
utils.CheckBuildTarget(target)
|
||||
|
||||
if docker {
|
||||
setup.Test(target, docker)
|
||||
return
|
||||
}
|
||||
|
||||
switch mode {
|
||||
case "full":
|
||||
setup.Prep()
|
||||
setup.Check(target)
|
||||
setup.Generate(target)
|
||||
setup.Install(target)
|
||||
setup.Test(target, false)
|
||||
setup.Check(target, docker)
|
||||
setup.Generate(target, docker)
|
||||
setup.Install(target, docker)
|
||||
setup.Test(target, docker)
|
||||
case "prep":
|
||||
setup.Prep()
|
||||
case "check":
|
||||
setup.Check(target)
|
||||
setup.Check(target, docker)
|
||||
case "generate":
|
||||
setup.Generate(target)
|
||||
setup.Generate(target, docker)
|
||||
case "install":
|
||||
setup.Install(target)
|
||||
setup.Install(target, docker)
|
||||
case "test":
|
||||
setup.Test(target, false)
|
||||
setup.Test(target, docker)
|
||||
case "update":
|
||||
setup.Update()
|
||||
case "upgrade":
|
||||
|
|
|
@ -41,7 +41,7 @@ func ParseFlags() bool {
|
|||
return help != nil && *help
|
||||
}
|
||||
|
||||
func Docker(arg []string, target, path string) {
|
||||
func Docker(arg []string, target, path string, writeCacheToHost bool) {
|
||||
arg = append(arg, target)
|
||||
|
||||
var image string
|
||||
|
@ -76,7 +76,15 @@ func Docker(arg []string, target, path string) {
|
|||
paths = append(paths, fmt.Sprintf("/media/sf_GOPATH%v", i))
|
||||
}
|
||||
|
||||
args = append(args, []string{"-e", "GOPATH=/home/user/work:" + strings.Join(paths, ":")}...)
|
||||
gpath := strings.Join(paths, ":")
|
||||
if writeCacheToHost {
|
||||
gpath += ":/home/user/work"
|
||||
args = append(args, []string{"-e", "QT_STUB=true"}...)
|
||||
} else {
|
||||
gpath = "/home/user/work:" + gpath
|
||||
}
|
||||
|
||||
args = append(args, []string{"-e", "GOPATH=" + gpath}...)
|
||||
|
||||
args = append(args, []string{"-i", fmt.Sprintf("therecipe/qt:%v", image)}...)
|
||||
|
||||
|
@ -92,7 +100,7 @@ func Docker(arg []string, target, path string) {
|
|||
}
|
||||
}
|
||||
|
||||
if !found {
|
||||
if !found && path != "" {
|
||||
utils.Log.Panicln("Project needs to be inside GOPATH", path, os.Getenv("GOPATH"))
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ func Deploy(mode, target, path string, docker bool, ldFlags string, fast bool) {
|
|||
args = append(args, "-fast")
|
||||
}
|
||||
args = append(args, []string{"-ldflags=" + ldFlags, "build"}...)
|
||||
cmd.Docker(args, target, path)
|
||||
cmd.Docker(args, target, path, false)
|
||||
break
|
||||
}
|
||||
|
||||
|
|
|
@ -11,8 +11,14 @@ import (
|
|||
"github.com/therecipe/qt/internal/utils"
|
||||
)
|
||||
|
||||
func Check(target string) {
|
||||
utils.Log.Infof("running: 'qtsetup check %v'", target)
|
||||
func Check(target string, docker bool) {
|
||||
utils.Log.Infof("running: 'qtsetup check %v' [docker=%v]", target, docker)
|
||||
if docker {
|
||||
if _, err := exec.LookPath("docker"); err != nil {
|
||||
utils.Log.WithError(err).Fatal("failed to find docker, did you install docker?")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
hash := "please install git"
|
||||
if _, err := exec.LookPath("git"); err == nil {
|
||||
|
|
|
@ -8,10 +8,16 @@ import (
|
|||
"github.com/therecipe/qt/internal/binding/templater"
|
||||
|
||||
"github.com/therecipe/qt/internal/utils"
|
||||
|
||||
"github.com/therecipe/qt/internal/cmd"
|
||||
)
|
||||
|
||||
func Generate(target string) {
|
||||
utils.Log.Infof("running: 'qtsetup generate %v'", target)
|
||||
func Generate(target string, docker bool) {
|
||||
utils.Log.Infof("running: 'qtsetup generate %v' [docker=%v]", target, docker)
|
||||
if docker {
|
||||
cmd.Docker([]string{"/home/user/work/bin/qtsetup", "-debug", "generate"}, "linux", "", true)
|
||||
return
|
||||
}
|
||||
|
||||
parser.LoadModules()
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"github.com/therecipe/qt/internal/utils"
|
||||
)
|
||||
|
||||
func Install(target string) {
|
||||
utils.Log.Infof("running: 'qtsetup install %v'", target)
|
||||
func Install(target string, docker bool) {
|
||||
utils.Log.Infof("running: 'qtsetup install %v' [docker=%v]", target, docker)
|
||||
|
||||
if target == "sailfish" || target == "sailfish-emulator" {
|
||||
if _, err := ioutil.ReadDir(filepath.Join(runtime.GOROOT(), "bin", "linux_386")); err != nil {
|
||||
|
@ -39,7 +39,7 @@ func Install(target string) {
|
|||
}
|
||||
|
||||
mode := "full"
|
||||
if utils.QT_STUB() {
|
||||
if utils.QT_STUB() || docker {
|
||||
mode = "stub"
|
||||
}
|
||||
utils.Log.Infof("installing %v qt/%v", mode, strings.ToLower(module))
|
||||
|
|
|
@ -16,7 +16,12 @@ import (
|
|||
)
|
||||
|
||||
func Test(target string, docker bool) {
|
||||
utils.Log.Infof("running: 'qtsetup test %v'", target)
|
||||
if docker && target == "darwin" {
|
||||
utils.Log.Warn("darwin is currently not supported as a deploy target with docker; testing the linux deployment instead")
|
||||
target = "linux"
|
||||
}
|
||||
|
||||
utils.Log.Infof("running: 'qtsetup test %v' [docker=%v]", target, docker)
|
||||
|
||||
if utils.CI() && target == runtime.GOOS && runtime.GOOS != "windows" { //TODO: split test for windows ?
|
||||
utils.Log.Infof("running setup/test %v CI", target)
|
||||
|
@ -110,11 +115,12 @@ func Test(target string, docker bool) {
|
|||
continue
|
||||
}
|
||||
example := filepath.Join(cat, example)
|
||||
utils.Log.Infoln("testing", example)
|
||||
path := utils.GoQtPkgPath("internal", "examples", example)
|
||||
utils.Log.Infof("testing %v%v(%v)", example, strings.Repeat(" ", 20-len(example)), path)
|
||||
deploy.Deploy(
|
||||
mode,
|
||||
target,
|
||||
utils.GoQtPkgPath("internal", "examples", example),
|
||||
path,
|
||||
docker,
|
||||
"",
|
||||
false,
|
||||
|
|
Loading…
Reference in a new issue