Patch title: Release 87 bulk changes
Abstract:
File: /pliant/fullpliant/run.pli
Key:
    Removed line
    Added line
   
abstract
  [This is the script that will start the FullPLiant operati

module "/pliant/language/context.pli"
abstract
  [This is the script that will start the FullPLiant operati

module "/pliant/language/context.pli"
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/fullpliant/user.pli"


if (constant this_computer:env:"pliant":"dns":"service"="tru


if (constant this_computer:env:"pliant":"dns":"service"="tru
  constant (compile_message "Compiling DNS server. Please wait ...")
  precompile += "/pliant/protocol/dns/server.pli[lf]"
  module "/pliant/protocol/dns/server.pli"
  precompile += "/pliant/protocol/dns/server.pli[lf]"
  module "/pliant/protocol/dns/server.pli"
  compile_message ""
  dns_server cache this_computer:env:"pliant":"dns":"cache" 

if (constant this_computer:env:"pliant":"mail":"smtp_service
  dns_server cache this_computer:env:"pliant":"dns":"cache" 

if (constant this_computer:env:"pliant":"mail":"smtp_service
  constant (compile_message "Compiling SMTP server. Please wait ...")
  precompile += "/pliant/protocol/smtp/server.pli[lf]"
  module "/pliant/protocol/smtp/server.pli"
  precompile += "/pliant/protocol/smtp/server.pli[lf]"
  module "/pliant/protocol/smtp/server.pli"
  compile_message ""
  smtp_server detached

if (constant this_computer:env:"pliant":"mail":"pop3_service
  smtp_server detached

if (constant this_computer:env:"pliant":"mail":"pop3_service
  constant (compile_message "Compiling POP3 server. Please wait ...")
  precompile += "/pliant/protocol/pop3/server.pli[lf]"
  module "/pliant/protocol/pop3/server.pli"
  precompile += "/pliant/protocol/pop3/server.pli[lf]"
  module "/pliant/protocol/pop3/server.pli"
  compile_message ""
  pop3_server detached

if (constant this_computer:env:"pliant":"mail":"redirect_ser
  pop3_server detached

if (constant this_computer:env:"pliant":"mail":"redirect_ser
  constant (compile_message "Compiling mail redirection daemon. Please wait ...")
  precompile += "/pliant/protocol/smtp/redirect.pli[lf]"
  module "/pliant/protocol/smtp/redirect.pli"
  precompile += "/pliant/protocol/smtp/redirect.pli[lf]"
  module "/pliant/protocol/smtp/redirect.pli"
  compile_message ""
  redirect_mails
  console "Mailboxes redirection daemon is running." eol

if (constant this_computer:env:"pliant":"ftp":"service"="tru
  redirect_mails
  console "Mailboxes redirection daemon is running." eol

if (constant this_computer:env:"pliant":"ftp":"service"="tru
  constant (compile_message "Compiling FTP server. Please wait ...")
  precompile += "/pliant/protocol/ftp/server.pli[lf]"
  module "/pliant/protocol/ftp/server.pli"
  precompile += "/pliant/protocol/ftp/server.pli[lf]"
  module "/pliant/protocol/ftp/server.pli"
  compile_message ""
  ftp_server detached

if (constant this_computer:env:"pliant":"remote":"service"="
  ftp_server detached

if (constant this_computer:env:"pliant":"remote":"service"="
  constant (compile_message "Compiling remote execution server. Please wait ...")
  precompile += "/pliant/util/remote/server.pli[lf]"
  module "/pliant/util/remote/server.pli"
  precompile += "/pliant/util/remote/server.pli[lf]"
  module "/pliant/util/remote/server.pli"
  compile_message ""

if (constant this_computer:env:"pliant":"cluster":"service"=

if (constant this_computer:env:"pliant":"cluster":"service"=
  constant (compile_message "Compiling clustering server. Please wait ...")
  precompile += "/pliant/appli/cluster/server.pli[lf]"
  module "/pliant/appli/cluster/server.pli"
  precompile += "/pliant/appli/cluster/server.pli[lf]"
  module "/pliant/appli/cluster/server.pli"
  compile_message ""
if (constant this_computer:env:"pliant":"cluster":"daemon"="
if (constant this_computer:env:"pliant":"cluster":"daemon"="
  constant (compile_message "Compiling clustering daemon. Please wait ...")
  precompile += "/pliant/appli/cluster/daemon.pli[lf]"
  module "/pliant/appli/cluster/daemon.pli"
  precompile += "/pliant/appli/cluster/daemon.pli[lf]"
  module "/pliant/appli/cluster/daemon.pli"
  compile_message ""

if (constant this_computer:env:"pliant":"lpr":"service"="tru

if (constant this_computer:env:"pliant":"lpr":"service"="tru
  constant (compile_message "Compiling LPR server. Please wait ...")
  precompile += "/pliant/protocol/lpr/server.pli[lf]"
  module "/pliant/protocol/lpr/server.pli"
  precompile += "/pliant/protocol/lpr/server.pli[lf]"
  module "/pliant/protocol/lpr/server.pli"
  compile_message ""
  lpr_server detached
eif (constant this_computer:env:"printer":size>0)
  lpr_server detached
eif (constant this_computer:env:"printer":size>0)
  constant (compile_message "Compiling print spooler. Please wait ...")
  precompile += "/pliant/protocol/lpr/spool.pli[lf]"
  module "/pliant/protocol/lpr/spool.pli"
  precompile += "/pliant/protocol/lpr/spool.pli[lf]"
  module "/pliant/protocol/lpr/spool.pli"
  compile_message ""
  lpr_spool
  console "Print spooler is now running." eol

if (constant os_api="linux" and (exists this_computer:env:"l
  lpr_spool
  console "Print spooler is now running." eol

if (constant os_api="linux" and (exists this_computer:env:"l
  constant (compile_message "Compiling logical computers support. Please wait ...")
  precompile += "/pliant/fullpliant/logical.pli[lf]"
  module "/pliant/fullpliant/logical.pli"
  precompile += "/pliant/fullpliant/logical.pli[lf]"
  module "/pliant/fullpliant/logical.pli"
  compile_message ""




if (constant this_computer:env:"pliant":"system":"distribution"<>"fullpliant")
  module "/pliant/install/install.pli"

compile_message "Compiling HTTP server. Please wait ..."
precompile += "/pliant/protocol/http/server.pli[lf]"
module "/pliant/protocol/http/server.pli"
precompile += "/pliant/protocol/http/server.pli[lf]"
module "/pliant/protocol/http/server.pli"
# force default style and page to compile right now
module "/pliant/protocol/http/style/default.style"
http_precompile "/pliant/protocol/http/default.page"
compile_message ""


compile_message "Compiling and running custom code. Please wait ..."
function run_custom
  safe
    plugin run
  failure err
    (var Stream log) open "file:/tmp/run.log" out+safe
    log writeline err
run_custom
function run_custom
  safe
    plugin run
  failure err
    (var Stream log) open "file:/tmp/run.log" out+safe
    log writeline err
run_custom
compile_message ""


compile_message "Starting logging services. Please wait ..."
precompile += "/pliant/language/debug/log_database.pli[lf]"
module "/pliant/language/debug/log_database.pli"
if (constant log_database:data:file:size>0)
  precompile +=  "/pliant/language/debug/trace.pli[lf]"
  precompile +=  "/pliant/language/debug/log.pli[lf]"
  module "/pliant/language/debug/trace.pli"
  module "/pliant/language/debug/log.pli"
  function run_log
    each f log_database:data:file
      trace_log keyof:f f:file f:mini_mb*2n^20 f:maxi_mb*2n^
    trace_memory := log_database:data:memory
  run_log
precompile += "/pliant/language/debug/log_database.pli[lf]"
module "/pliant/language/debug/log_database.pli"
if (constant log_database:data:file:size>0)
  precompile +=  "/pliant/language/debug/trace.pli[lf]"
  precompile +=  "/pliant/language/debug/log.pli[lf]"
  module "/pliant/language/debug/trace.pli"
  module "/pliant/language/debug/log.pli"
  function run_log
    each f log_database:data:file
      trace_log keyof:f f:file f:mini_mb*2n^20 f:maxi_mb*2n^
    trace_memory := log_database:data:memory
  run_log
compile_message ""

function run_dynamic_servers
  if (constant this_computer:env:"pliant":"remote":"service"
    remote_server detached
  if (constant this_computer:env:"pliant":"cluster":"service
    cluster_server detached
  if (constant this_computer:env:"pliant":"cluster":"daemon"
    cluster_daemon
  if not (this_computer:env:"pliant":"http":"port" parse (gv
    port := 80
  if (constant this_computer:env:"pliant":"system":"medium"=
    thread
      sleep 15
      recover_menu

function run_dynamic_servers
  if (constant this_computer:env:"pliant":"remote":"service"
    remote_server detached
  if (constant this_computer:env:"pliant":"cluster":"service
    cluster_server detached
  if (constant this_computer:env:"pliant":"cluster":"daemon"
    cluster_daemon
  if not (this_computer:env:"pliant":"http":"port" parse (gv
    port := 80
  if (constant this_computer:env:"pliant":"system":"medium"=
    thread
      sleep 15
      recover_menu
  http_server port port secured log this_computer:env:"plian
  if (constant this_computer:env:"pliant":"system":"distribution"="fullpliant")
    http_server port port secured log this_computer:env:"pliant":"http":"log"
  eif os_api="win32"
    function os_ShellExecute hwnd op file params dir bshow
      arg Int hwnd ; arg CStr op file params dir ; arg Int bshow
      external "shell32.dll" "ShellExecuteA"
    var Str login := ""
    if (exists user_database:data:user:"pliant") and user_secret_database:data:password<>""
      login := "pliant:"+user_secret_database:data:password+"@"
    var Str url := "http://"+login+"localhost"+(shunt this_computer:env:"pliant":"http":"port"="80" "" ":"+this_computer:env:"pliant":"http":"port")+"/"
    os_ShellExecute 0 "open" url "" "c:\" 1
    http_server port port secured log this_computer:env:"pliant":"http":"log" welcome_message "HTTP server is running.[lf][lf]Pliant URL is "+url
  else
    http_server port port secured log this_computer:env:"pliant":"http":"log" welcome_message "HTTP server is running.[lf][lf]Using your favorite browser, connect to the server via the URL[lf]http://localhost"+(shunt this_computer:env:"pliant":"http":"port"="80" "" ":"+this_computer:env:"pliant":"http":"port")+"/"
  sleep 15
this_computer "pliant" "language" "recommended" := precompil
run_dynamic_servers

  sleep 15
this_computer "pliant" "language" "recommended" := precompil
run_dynamic_servers