--- a/src/main.go Sat Dec 20 23:10:56 2025 +0100 +++ b/src/main.go Sun Dec 21 11:44:19 2025 +0100 @@ -88,17 +88,9 @@ log.Fatal(err) } - db, err := sql.Open("sqlite", "uwbuild.db") - if err != nil { - log.Fatal(err) - } + db := db_init() defer db.Close() - err = prepare_db(db) - if err != nil { - log.Fatal(err) - } - config := &Config{} if err := xml.Unmarshal(data, &config); err != nil { log.Fatal(err) @@ -108,6 +100,8 @@ config.BuildEnvMap[env.Name] = env } + db_load_config(db, config) + for ri := range config.Repository { for bi := range config.Repository[ri].Build { build := &config.Repository[ri].Build[bi] @@ -171,32 +165,13 @@ results := exec_buildenvs(config, &repo, tmp) - err = save_result(&repo, commit, results, tmp) + err = save_result(db, &repo, commit, results, tmp) if err != nil { log.Print("cannot save results for commit ", commit.NodeShort) } } } -func prepare_db(db *sql.DB) error { - _, err := db.Exec(` - create table Repository ( - id integer primary key autoincrement, - path text not null, - name text not null - ); - create table RepoCommit ( - id integer primary key autoincrement, - repository_id integer not null, - node text, - node_short text, - author text, - description text, - date text - );`) - return err -} - func create_repo_archive(repo *Repository, tpl *template.Template, tpl2 *template.Template, tmp_dir string) error { // create a build directory, that contains the repository source // and build scripts @@ -478,7 +453,7 @@ return commit } -func save_result(repo *Repository, commit *Commit, result []BuildEnvResult, tmp_dir string) error { +func save_result(db *sql.DB, repo *Repository, commit *Commit, result []BuildEnvResult, tmp_dir string) error { out_dir := "out/" src := path.Join(tmp_dir, "result") dst := path.Join(out_dir, commit.Node) @@ -488,5 +463,10 @@ return err } + // store results in database + if err := db_store_results(db, repo, commit, result); err != nil { + return err + } + return nil }