;;
;; adams - Remote system administration tools
;;
;; Copyright 2013,2014 Thomas de Grivel <thomas@lowh.net>
;;
;; Permission to use, copy, modify, and distribute this software for any
;; purpose with or without fee is hereby granted, provided that the above
;; copyright notice and this permission notice appear in all copies.
;;
;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
;;
(in-package :cl-user)
(defpackage :adams
(:use :alexandria :cl :debug :iterate :parse-number :re :str)
(:shadow #:directory #:get-properties)
(:export
#:*adams*
;; Shell
#:*default-shell-command*
#:*shell-signal-errors*
#:shell-error
#:shell-error-command
#:shell-error-status
#:shell-error-out
#:shell-error-err
#:sh-quote
#:sh-parse-integer
#:ascii-set-graphics-mode
#:shell
#:shell-pid
#:shell-in
#:shell-out/line
#:shell-err
#:shell-err/line
#:shell-status
#:shell-close
#:shell-closed-p
#:shell-run-command
#:with-shell
#:shell-run
#:make-shell
;; Probe
#:probe
#:probe-name
#:probe-properties
#:probe-generic-function
;; Resource metaclass
#:compute-probes
#:define-resource-class
#:direct-probes
#:probe-class
#:probes-of
#:resource-class
;; Resource
#:add-resource
#:describe-probed
#:get-resource
#:make-resource
#:make-*resources*
#:probed-properties
#:probe-all-properties
#:resource
#:resource-type
#:specified-properties
#:specified-property
;; Resource container
#:*parent-resource*
#:clear-resources
#:resource-container
#:with-parent-resource
;; Specification
#:specify
#:parse-specification
#:parse-next-specification
;; OS
#:os
#:os-bsd
#:os-darwin
#:os-freebsd
#:os-linux
#:os-machine
#:os-name
#:os-openbsd
#:os-release
#:os-unix
#:os-version
#:os-windows
;; Probing resources
#:clear-probed
#:find-probe
#:get-probed
#:resource-probe-error
#:resource-probe-not-found
#:resource-probe-failed
#:resource-diff
;; Host
#:current-host
#:host
#:host-connect
#:host-disconnect
#:host-os
#:host-shell
#:host-run
#:localhost
#:run
#:ssh-host
#:with-connected-host
#:with-host
;; Unix
#:define-syntax
#:directory
#:egrep
#:file
#:grep
#:group
#:group<5>
#:mount
#:parse-group<5>
#:parse-passwd<5>
#:parse-stat<1>
#:passwd<5>
#:process
#:stat
#:stat<1>
#:+timestamp-offset+
#:timestamp-to-universal-time
#:universal-time-to-timestamp
#:user))
(defpackage :adams-user
(:use :adams :cl :cl-debug :re)
(:shadow #:directory))
(setf (symbol-function 'adams::directory) #'cl:directory)