prototype
This commit is contained in:
45
internal/build/build_project.go
Normal file
45
internal/build/build_project.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package build
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"git.gulenok.ru/greenhaze/old_carga/internal/global"
|
||||
"git.gulenok.ru/greenhaze/old_carga/internal/target"
|
||||
"git.gulenok.ru/greenhaze/old_carga/internal/target/darwin"
|
||||
)
|
||||
|
||||
func BuildProject() {
|
||||
project_config := parseProjectFile()
|
||||
bt := getBuildTarget(project_config)
|
||||
bt.CreateBuildProject(project_config)
|
||||
log.Println("СТАРАЯ КАРГА ЗАВЕРШИЛА СБОРКУ УСПЕШНО!")
|
||||
|
||||
}
|
||||
func parseProjectFile() global.ProjectFile {
|
||||
working_dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
log.Fatalln("карга не смогла получить текущую рабочую директорию")
|
||||
}
|
||||
file, err := os.ReadFile(path.Join(working_dir, "карга.json"))
|
||||
if err != nil {
|
||||
log.Fatalln("карга не смогла прочитать карга.json")
|
||||
}
|
||||
var pf global.ProjectFile
|
||||
json.Unmarshal(file, &pf)
|
||||
return pf
|
||||
}
|
||||
func getBuildTarget(bc global.ProjectFile) target.BaseTarget {
|
||||
switch bc.Target {
|
||||
case "darwin":
|
||||
return darwin.DarwinBuildTarget{}
|
||||
case "linux":
|
||||
//пока тут нет linux specific приколов так шо пока пусть будет дарвин, лол
|
||||
return darwin.DarwinBuildTarget{}
|
||||
}
|
||||
log.Fatalf("Неизвестная цель сборки %s", bc.Target)
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user