1 ! Copyright (C) 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors furnace.actions help.html http.server.responses
4 io.directories io.files io.launcher io.pathnames kernel
5 mason.config memoize namespaces sequences threads
7 IN: webapps.mason.docs-update
9 : docs-path ( -- path )
10 docs-directory get "docs.tar.gz" append-path ;
14 "newdocs" file-exists? [ "newdocs" delete-tree ] when
16 "newdocs" make-directory
17 "newdocs" [ { "tar" "xfz" } docs-path suffix try-process ] with-directory
19 "docs" file-exists? [ "docs" "docs.old" move-file ] when
20 "newdocs/docs" "docs" move-file
22 "newdocs" delete-directory
23 "docs.old" file-exists? [ "docs.old" delete-tree ] when
25 \ load-index reset-memoized
28 : <docs-update-action> ( -- action )
30 [ validate-secret ] >>validate
32 [ update-docs ] "Documentation update" spawn drop