2010-02-10 22:26:12 -05:00
|
|
|
! Copyright (C) 2010 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: accessors arrays assocs db.tuples furnace.actions
|
2015-08-15 19:50:35 -04:00
|
|
|
furnace.utilities html.forms kernel mason.config namespaces
|
|
|
|
sequences urls validators webapps.mason.backend
|
|
|
|
webapps.mason.version.data xml.syntax ;
|
2010-02-10 22:26:12 -05:00
|
|
|
IN: webapps.mason.utils
|
|
|
|
|
|
|
|
: link ( url label -- xml )
|
|
|
|
[XML <a href=<->><-></a> XML] ;
|
|
|
|
|
|
|
|
: validate-os/cpu ( -- )
|
|
|
|
{
|
|
|
|
{ "os" [ v-one-line ] }
|
|
|
|
{ "cpu" [ v-one-line ] }
|
|
|
|
} validate-params ;
|
|
|
|
|
2015-08-15 19:50:35 -04:00
|
|
|
: current-builder ( -- builder/f )
|
2010-02-10 22:26:12 -05:00
|
|
|
builder new "os" value >>os "cpu" value >>cpu select-tuple ;
|
|
|
|
|
2015-08-15 19:50:35 -04:00
|
|
|
: current-release ( -- builder/f )
|
2010-02-10 22:26:12 -05:00
|
|
|
release new "os" value >>os "cpu" value >>cpu select-tuple ;
|
|
|
|
|
|
|
|
: requirements ( builder -- xml )
|
|
|
|
[
|
|
|
|
os>> {
|
2011-09-18 21:25:06 -04:00
|
|
|
{ "windows" "Windows XP, Windows Vista or Windows 7" }
|
2010-02-10 22:26:12 -05:00
|
|
|
{ "macosx" "Mac OS X 10.5 Leopard" }
|
|
|
|
{ "linux" "Ubuntu Linux 9.04 (other distributions may also work)" }
|
|
|
|
} at
|
|
|
|
] [
|
|
|
|
dup cpu>> "x86.32" = [
|
|
|
|
os>> "macosx" =
|
|
|
|
f "Intel Pentium 4, Core Duo, or other x86 chip with SSE2 support. Note that 32-bit Athlon XP processors do not support SSE2."
|
|
|
|
?
|
|
|
|
] [ drop f ] if
|
|
|
|
] bi
|
|
|
|
2array sift [ [XML <li><-></li> XML] ] map [XML <ul><-></ul> XML] ;
|
2010-04-11 21:42:12 -04:00
|
|
|
|
|
|
|
: download-url ( string -- string' )
|
|
|
|
"http://downloads.factorcode.org/" prepend ;
|
2010-09-04 20:59:18 -04:00
|
|
|
|
2011-10-18 14:57:03 -04:00
|
|
|
: platform-url ( url builder -- url )
|
2010-09-04 20:59:18 -04:00
|
|
|
[ os>> "os" set-query-param ]
|
|
|
|
[ cpu>> "cpu" set-query-param ] bi
|
|
|
|
adjust-url ;
|
|
|
|
|
2011-10-18 14:57:03 -04:00
|
|
|
: package-url ( builder -- url )
|
2016-12-13 10:31:02 -05:00
|
|
|
[ URL" http://builds.factorcode.org/package" clone ] dip
|
2011-10-18 14:57:03 -04:00
|
|
|
platform-url ;
|
|
|
|
|
|
|
|
: report-url ( builder -- url )
|
2016-12-13 10:31:02 -05:00
|
|
|
[ URL" http://builds.factorcode.org/report" clone ] dip
|
2011-10-18 14:57:03 -04:00
|
|
|
platform-url ;
|
|
|
|
|
2010-09-04 20:59:18 -04:00
|
|
|
: release-url ( builder -- url )
|
2016-12-13 10:31:02 -05:00
|
|
|
[ URL" http://builds.factorcode.org/release" clone ] dip
|
2011-10-18 14:57:03 -04:00
|
|
|
platform-url ;
|
2010-09-06 20:24:53 -04:00
|
|
|
|
|
|
|
: validate-secret ( -- )
|
2010-09-06 20:47:39 -04:00
|
|
|
{ { "secret" [ v-one-line ] } } validate-params
|
2010-09-06 20:24:53 -04:00
|
|
|
"secret" value status-secret get =
|
|
|
|
[ validation-failed ] unless ;
|