tools: make fast.v and fast_job.v more self sufficient

This commit is contained in:
vlang-bot 2024-09-19 13:51:27 +03:00
parent 24088a7ca4
commit 9a0f4d8461
2 changed files with 22 additions and 11 deletions

View file

@ -14,11 +14,11 @@ const discard_highest_samples = 16
const voptions = ' -skip-unused -show-timings -stats ' const voptions = ' -skip-unused -show-timings -stats '
const fast_dir = os.dir(@FILE) const fast_dir = os.real_path(os.dir(@FILE))
const fast_log_path = os.join_path(fast_dir, 'fast.log') const fast_log_path = os.real_path(os.join_path(fast_dir, 'fast.log'))
const vdir = os.dir(os.dir(os.dir(fast_dir))) const vdir = os.real_path(os.dir(os.dir(os.dir(fast_dir))))
fn elog(msg string) { fn elog(msg string) {
line := '${time.now().format_ss_micro()} ${msg}\n' line := '${time.now().format_ss_micro()} ${msg}\n'
@ -40,6 +40,9 @@ fn lexec(cmd string) string {
} }
fn main() { fn main() {
// ensure all log messages will be visible to the observers, even if the program panics
log.set_always_flush(true)
total_sw := time.new_stopwatch() total_sw := time.new_stopwatch()
elog('fast.html generator start') elog('fast.html generator start')
defer { defer {

View file

@ -31,6 +31,17 @@ fn delay() {
time.sleep(sleep_period * time.second) time.sleep(sleep_period * time.second)
} }
fn check_output_repo(url string, branch string, folder string) {
if os.exists(folder) {
elog('Note: ${folder} already exists; using it.')
return
}
cmd := 'git clone --filter=blob:none --branch=${branch} ${url} ${folder}'
elog('Note: ${folder} is missing. Cloning to `${folder}`, with: `${cmd}` ...')
res := os.system(cmd)
elog('... cloning done, result: ${res}')
}
fn main() { fn main() {
elog('fast_job start setup ...') elog('fast_job start setup ...')
// ensure a more stable working environment for the used tools, independent on how this executable was started: // ensure a more stable working environment for the used tools, independent on how this executable was started:
@ -48,14 +59,11 @@ fn main() {
elog('fast_job end') elog('fast_job end')
} }
if !os.exists('fast.vlang.io/') { elog('fast_job clone output repos...')
println('cloning the fast.vlang.io/ repo...') check_output_repo('https://github.com/vlang/website', 'gh-pages', 'fast.vlang.io/')
os.system('git clone git@github.com:/vlang/website.git fast.vlang.io/') check_output_repo('https://github.com/vlang/docs/', 'main', 'docs.vlang.io/')
} check_output_repo('https://github.com/vlang/docs/', 'generator', 'docs.vlang.io/docs_generator/')
if !os.exists('docs.vlang.io') {
println('cloning the docs.vlang.io/ repo...')
os.system('git clone git@github.com:/vlang/docs.git docs.vlang.io/')
}
mut i := 0 mut i := 0
for { for {
i++ i++