src/main.go

changeset 10
a4537989ed09
parent 9
eef1439666f7
--- a/src/main.go	Fri Dec 19 23:02:38 2025 +0100
+++ b/src/main.go	Sat Dec 20 23:10:56 2025 +0100
@@ -2,6 +2,7 @@
 
 import (
 	"bytes"
+	"database/sql"
 	"encoding/json"
 	"encoding/xml"
 	"errors"
@@ -13,6 +14,8 @@
 	"strconv"
 	"strings"
 	"text/template"
+
+	_ "modernc.org/sqlite"
 )
 
 type Config struct {
@@ -85,6 +88,17 @@
 		log.Fatal(err)
 	}
 
+	db, err := sql.Open("sqlite", "uwbuild.db")
+	if err != nil {
+		log.Fatal(err)
+	}
+	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)
@@ -164,6 +178,25 @@
 	}
 }
 
+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

mercurial