From b60ddedc43d0c8c03e17a25f3ee1eae0f68a74ef Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sat, 30 Jan 2016 11:31:46 -0800 Subject: [PATCH] improve version numbering --- pollen/private/command.rkt | 4 ++-- pollen/private/project-server.rkt | 5 +++-- pollen/private/ts.rktd | 1 + pollen/private/version.rkt | 19 +++++++++++++++++-- pollen/setup.rkt | 4 ++-- 5 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 pollen/private/ts.rktd diff --git a/pollen/private/command.rkt b/pollen/private/command.rkt index 1c5c02a..75055a3 100644 --- a/pollen/private/command.rkt +++ b/pollen/private/command.rkt @@ -61,11 +61,11 @@ publish [dir] [dest] copy project in dir to dest without source files (warning: overwrites existing dest dir) setup preload cache reset reset cache -version print the version (~a)" (setup:current-server-port) setup:default-version))) +version print the version" (setup:current-server-port)))) (define (handle-version) - (displayln setup:default-version)) + (displayln ((dynamic-require 'pollen/private/version 'pollen:version)))) (define (handle-reset directory-maybe) diff --git a/pollen/private/project-server.rkt b/pollen/private/project-server.rkt index db3f16d..40844f7 100755 --- a/pollen/private/project-server.rkt +++ b/pollen/private/project-server.rkt @@ -7,7 +7,8 @@ "debug.rkt" "../setup.rkt" "../file.rkt" - "../cache.rkt") + "../cache.rkt" + "version.rkt") (provide start-server) @@ -19,7 +20,7 @@ [((string-arg) ... "out" (string-arg)) route-out] [else route-default])) - (message (format "Welcome to Pollen ~a" setup:default-version) (format "(Racket ~a)" (version))) + (message (format "Welcome to Pollen ~a" (pollen:version)) (format "(Racket ~a)" (version))) (message (format "Project root is ~a" (setup:current-project-root))) (define server-name (format "http://localhost:~a" (setup:current-server-port))) diff --git a/pollen/private/ts.rktd b/pollen/private/ts.rktd new file mode 100644 index 0000000..b18b7d8 --- /dev/null +++ b/pollen/private/ts.rktd @@ -0,0 +1 @@ +1454182306 diff --git a/pollen/private/version.rkt b/pollen/private/version.rkt index 33a31df..b362818 100644 --- a/pollen/private/version.rkt +++ b/pollen/private/version.rkt @@ -1,3 +1,18 @@ #lang racket/base -(provide default-version) -(define default-version "1.0") \ No newline at end of file +(require racket/file racket/format racket/runtime-path) +(provide pollen:version) +(define-runtime-path ts-file "ts.rktd") +(define ts (file->value ts-file)) + +(define (convert str) + (apply string-append + (for/list ([c (in-string str)]) + (define c-int (char->integer c)) + (~a (integer->char (+ c-int (if (<= (char->integer #\0) c-int (char->integer #\9)) + (- (char->integer #\a) (char->integer #\0)) + 10))))))) + +(define (pollen:version) + (define major-version 1) + (define minor-version (convert (~r ts #:base 26))) + (format "~a.~a" major-version minor-version)) \ No newline at end of file diff --git a/pollen/setup.rkt b/pollen/setup.rkt index cb44db0..2b1d447 100644 --- a/pollen/setup.rkt +++ b/pollen/setup.rkt @@ -1,8 +1,8 @@ #lang racket/base -(require (for-syntax racket/base racket/syntax) "private/version.rkt") +(require (for-syntax racket/base racket/syntax)) (require racket/runtime-path) -(provide (prefix-out setup: (combine-out (all-defined-out) (all-from-out "private/version.rkt")))) +(provide (prefix-out setup: (combine-out (all-defined-out)))) (define current-project-root (make-parameter (current-directory)))