Version extracted from info.rkt

This commit is contained in:
2026-04-06 01:33:09 +02:00
parent 3d8cd94967
commit 2b8b3e4a40

View File

@@ -1,14 +1,43 @@
#lang racket/base #lang racket/base
(require racket/file
racket/runtime-path
racket/string
)
(provide webview-major (provide webview-major
webview-minor webview-minor
webview-patch webview-patch
webview-version-string webview-version-string
) )
(define webview-major 0) (define-runtime-path my-path ".")
(define webview-minor 1)
(define webview-patch 3) (define info-str (file->string (build-path my-path "info.rkt")))
(define info-list (filter (λ (line)
(not (eq? (string-find line "version") #f))
) (string-split info-str "\n")))
(define info-version-re #px"[(]define\\s+version\\s+[\"]([^\"]+)[\"]")
(define info-version-str
(let ((m (regexp-match info-version-re (car info-list))))
(when (eq? m #f)
(error "No version information in info.rkt"))
(cadr m)))
(define version-re #px"([0-9]+)[.]([0-9]+)[.]([0-9]+)")
(define info-version
(let ((m (regexp-match version-re info-version-str)))
(when (eq? m #f)
(error "No matching version information pattern (x.y.z)"))
(list
(string->number (cadr m))
(string->number (caddr m))
(string->number (cadddr m)))))
(define webview-major (car info-version))
(define webview-minor (cadr info-version))
(define webview-patch (caddr info-version))
(define (webview-version-string) (format "~a.~a.~a" (define (webview-version-string) (format "~a.~a.~a"
webview-major webview-major
webview-minor webview-minor