Version extracted from info.rkt
This commit is contained in:
@@ -1,14 +1,43 @@
|
||||
#lang racket/base
|
||||
|
||||
(require racket/file
|
||||
racket/runtime-path
|
||||
racket/string
|
||||
)
|
||||
|
||||
(provide webview-major
|
||||
webview-minor
|
||||
webview-patch
|
||||
webview-version-string
|
||||
)
|
||||
|
||||
(define webview-major 0)
|
||||
(define webview-minor 1)
|
||||
(define webview-patch 3)
|
||||
(define-runtime-path my-path ".")
|
||||
|
||||
(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"
|
||||
webview-major
|
||||
webview-minor
|
||||
|
||||
Reference in New Issue
Block a user