From 37b51c6b7b78b67939e1ef7990ce263b14099321 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 10 Mar 2014 17:19:36 -0600 Subject: [PATCH] distro-build: refine client--server split original commit: df857e1c76d6420684446ac92555ef709c673c8d --- .../distro-build-client/set-config.rkt | 84 +++++++++---------- .../config.rkt | 0 .../install-for-docs.rkt | 2 +- .../install-pkgs.rkt | 0 .../readme.rkt | 0 .../distro-build-server/set-server-config.rkt | 33 ++++++++ .../url-options.rkt | 0 7 files changed, 72 insertions(+), 47 deletions(-) rename pkgs/distro-build-pkgs/{distro-build-client => distro-build-server}/config.rkt (100%) rename pkgs/distro-build-pkgs/{distro-build-client => distro-build-server}/install-for-docs.rkt (98%) rename pkgs/distro-build-pkgs/{distro-build-client => distro-build-server}/install-pkgs.rkt (100%) rename pkgs/distro-build-pkgs/{distro-build-client => distro-build-server}/readme.rkt (100%) create mode 100644 pkgs/distro-build-pkgs/distro-build-server/set-server-config.rkt rename pkgs/distro-build-pkgs/{distro-build-client => distro-build-server}/url-options.rkt (100%) diff --git a/pkgs/distro-build-pkgs/distro-build-client/set-config.rkt b/pkgs/distro-build-pkgs/distro-build-client/set-config.rkt index 147324b..484bf90 100644 --- a/pkgs/distro-build-pkgs/distro-build-client/set-config.rkt +++ b/pkgs/distro-build-pkgs/distro-build-client/set-config.rkt @@ -1,57 +1,49 @@ #lang racket/base (require racket/cmdline racket/file - racket/path - (only-in "config.rkt" extract-options) - "url-options.rkt") + racket/path) + +(provide set-config) (module test racket/base) -(define-values (dest-config-file config-file config-mode - install-name build-stamp - default-doc-search default-catalogs) +(module+ main (command-line #:args - (dest-config-file config-file config-mode - install-name build-stamp + (dest-config-file install-name build-stamp doc-search . catalog) - (values dest-config-file config-file config-mode - install-name build-stamp - doc-search catalog))) + (set-config dest-config-file + install-name build-stamp + doc-search catalog))) -(define config (if (equal? config-file "") - (hash) - (extract-options config-file config-mode))) +(define (set-config dest-config-file + install-name build-stamp + doc-search catalogs) + (define orig + (if (file-exists? dest-config-file) + (call-with-input-file* dest-config-file read) + (hash))) -(define doc-search (choose-doc-search config default-doc-search)) - -(define catalogs (choose-catalogs config default-catalogs)) - -(define orig - (if (file-exists? dest-config-file) - (call-with-input-file* dest-config-file read) - (hash))) - -(let* ([table orig] - [table - (if (equal? doc-search "") - table - (hash-set table 'doc-search-url doc-search))] - [table (if (equal? catalogs '("")) - table - (hash-set table 'catalogs - (for/list ([c (in-list catalogs)]) - (if (equal? c "") - #f - c))))] - [table (if (equal? install-name "") - table - (hash-set table 'installation-name install-name))] - [table (hash-set table 'build-stamp build-stamp)]) - (unless (equal? table orig) - (make-directory* (path-only dest-config-file)) - (call-with-output-file dest-config-file - #:exists 'truncate - (lambda (o) - (write table o) - (newline o))))) + (let* ([table orig] + [table + (if (equal? doc-search "") + table + (hash-set table 'doc-search-url doc-search))] + [table (if (equal? catalogs '("")) + table + (hash-set table 'catalogs + (for/list ([c (in-list catalogs)]) + (if (equal? c "") + #f + c))))] + [table (if (equal? install-name "") + table + (hash-set table 'installation-name install-name))] + [table (hash-set table 'build-stamp build-stamp)]) + (unless (equal? table orig) + (make-directory* (path-only dest-config-file)) + (call-with-output-file dest-config-file + #:exists 'truncate + (lambda (o) + (write table o) + (newline o)))))) diff --git a/pkgs/distro-build-pkgs/distro-build-client/config.rkt b/pkgs/distro-build-pkgs/distro-build-server/config.rkt similarity index 100% rename from pkgs/distro-build-pkgs/distro-build-client/config.rkt rename to pkgs/distro-build-pkgs/distro-build-server/config.rkt diff --git a/pkgs/distro-build-pkgs/distro-build-client/install-for-docs.rkt b/pkgs/distro-build-pkgs/distro-build-server/install-for-docs.rkt similarity index 98% rename from pkgs/distro-build-pkgs/distro-build-client/install-for-docs.rkt rename to pkgs/distro-build-pkgs/distro-build-server/install-for-docs.rkt index e672e1c..022b158 100644 --- a/pkgs/distro-build-pkgs/distro-build-client/install-for-docs.rkt +++ b/pkgs/distro-build-pkgs/distro-build-server/install-for-docs.rkt @@ -5,7 +5,7 @@ racket/system compiler/find-exe (only-in "config.rkt" extract-options) - "display-time.rkt") + distro-build/display-time) (module test racket/base) diff --git a/pkgs/distro-build-pkgs/distro-build-client/install-pkgs.rkt b/pkgs/distro-build-pkgs/distro-build-server/install-pkgs.rkt similarity index 100% rename from pkgs/distro-build-pkgs/distro-build-client/install-pkgs.rkt rename to pkgs/distro-build-pkgs/distro-build-server/install-pkgs.rkt diff --git a/pkgs/distro-build-pkgs/distro-build-client/readme.rkt b/pkgs/distro-build-pkgs/distro-build-server/readme.rkt similarity index 100% rename from pkgs/distro-build-pkgs/distro-build-client/readme.rkt rename to pkgs/distro-build-pkgs/distro-build-server/readme.rkt diff --git a/pkgs/distro-build-pkgs/distro-build-server/set-server-config.rkt b/pkgs/distro-build-pkgs/distro-build-server/set-server-config.rkt new file mode 100644 index 0000000..f8558c8 --- /dev/null +++ b/pkgs/distro-build-pkgs/distro-build-server/set-server-config.rkt @@ -0,0 +1,33 @@ +#lang racket/base +(require racket/cmdline + racket/file + racket/path + (only-in "config.rkt" extract-options) + "url-options.rkt" + distro-build/set-config) + +(module test racket/base) + +(define-values (dest-config-file config-file config-mode + install-name build-stamp + default-doc-search default-catalogs) + (command-line + #:args + (dest-config-file config-file config-mode + install-name build-stamp + doc-search . catalog) + (values dest-config-file config-file config-mode + install-name build-stamp + doc-search catalog))) + +(define config (if (equal? config-file "") + (hash) + (extract-options config-file config-mode))) + +(define doc-search (choose-doc-search config default-doc-search)) + +(define catalogs (choose-catalogs config default-catalogs)) + +(set-config dest-config-file + install-name build-stamp + doc-search catalogs) diff --git a/pkgs/distro-build-pkgs/distro-build-client/url-options.rkt b/pkgs/distro-build-pkgs/distro-build-server/url-options.rkt similarity index 100% rename from pkgs/distro-build-pkgs/distro-build-client/url-options.rkt rename to pkgs/distro-build-pkgs/distro-build-server/url-options.rkt