--- /dev/null
+before_install:
+ - wget http://frank.kank.net/travissbcl/docgen/b9787e5/$(git rev-parse HEAD)/travissbcl
+ - chmod +x travissbcl
+
+script:
+ - ./travissbcl --script bin/travis.lisp
--- /dev/null
+#!/bin/bash
+
+version=$(sbcl --noinform --disable-ldb --lose-on-corruption --end-runtime-options --eval '(format t "~A" (asdf:component-version (asdf:find-system :docgen)))' --eval "(quit)")
+
+echo -n "Building version $version, hit enter to continue"
+read
+
+mkdir docgen_$version
+cp -ap src/main/* docgen_$version/
+tar zcf docgen_${version}.tar.gz docgen_$version/
+rm -rf docgen_$version
+
+echo "All done, it's in docgen_${version}.tar.gz, you should tag it and push it up to github"
--- /dev/null
+#!/bin/bash -e
+
+mkdir -p tmp/sbcl
+
+cwd=$PWD
+( cd tmp &&
+ tar jxf ../deps/tarpit/sbcl-1.2.6-x86-64-linux-binary.tar.bz2 &&
+ cd sbcl-1.2.6-x86-64-linux/ &&
+ SBCL_HOME="" INSTALL_ROOT=$cwd/tmp/sbcl/ bash install.sh )
+
+mkdir -p tmp/deps/
+
+( cd tmp/deps &&
+ tar zxf ../../deps/tarpit/cl-ppcre.tar.gz &&
+ tar zxf ../../deps/tarpit/style-checker_0.1.tar.gz &&
+ ln -s cl-ppcre-2.0.10/cl-ppcre.asd . &&
+ ln -s style-checker_0.1/style-checker.asd .
+)
+
+
+SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core --no-sysinit --no-userinit \
+ --eval "(require 'asdf)" \
+ --eval '(setf asdf:*central-registry* (list #p"tmp/deps/"))' \
+ --eval "(asdf:load-system :cl-ppcre)" \
+ --eval "(asdf:load-system :style-checker)" \
+ --eval "(asdf:clear-output-translations)" \
+ --eval '(sb-ext:save-lisp-and-die "travissbcl" :executable t)' \
+
+chmod +x travissbcl
+travisname=travissbcl-$(git rev-parse --short HEAD)
+mv travissbcl $travisname
+
+echo "You should upload via the command: scp $travisname nami:/opt/travis/sbcls/docgen/"
+echo "You should also set travisname in .travis.yml to $travisname"
+
+rm -rf tmp
--- /dev/null
+(setf *compile-print* nil)
+(require 'asdf)
+(setf asdf:*central-registry* (list #p"deps/"))
+(asdf:load-system :docgen.internal)
+(asdf:load-system :docgen-test.internal)
+
+(format t "~%~c[1;33mRunning Tests~c[0m~%" #\Esc #\Esc)
+(when (not (docgen-test:run-all-tests))
+ (format t "~c[1;31mFailed tests!~c[0m~%" #\Esc #\Esc)
+ (sb-ext:exit :code 1))
+
+(format t "~%~c[1;33mChecking Style~c[0m~%" #\Esc #\Esc)
+(when (not (syntax-checker:pretty-print-check-directory "src"))
+ (format t "~c[1;31mFailed style check!~c[0m~%" #\Esc #\Esc)
+ (sb-ext:exit :code 1))
+
+(format t "~c[1;32mSuccess!~c[0m~%" #\Esc #\Esc)
+(sb-ext:exit :code 0)
--- /dev/null
+../src/test/docgen-test.asd
\ No newline at end of file
--- /dev/null
+../src/test/docgen-test.asd
\ No newline at end of file
--- /dev/null
+../src/main/docgen.asd
\ No newline at end of file
--- /dev/null
+../src/main/docgen.asd
\ No newline at end of file
--- /dev/null
+; The systems are split up into two because travis will run more smoothly
+; if we use a custom built sbcl that has all the deps pre-loaded since
+; we are sure those will work just fine :)
+;
+; You should link to this file in your systems directory, or however you
+; handle your asdf configurations. Then just (asdf:load-system :clnl)
+;
+; There's probably a better way, but I don't know it
+(asdf:defsystem docgen.internal
+ :serial t
+ :components ((:file "package") (:file "docgen")))
+
+(asdf:defsystem docgen
+ :name "Documentation Generator"
+ :version "0.1"
+ :maintainer "Frank Duncan (frank@kank.com)"
+ :author "Frank Duncan (frank@kank.com)"
+ :serial t
+ :depends-on (:cl-ppcre :docgen.internal))
--- /dev/null
+(in-package #:docgen)
+
+(defun validate-package (package))
+
+(defun export-package (package))
--- /dev/null
+(defpackage #:docgen (:use :cl)
+ (:export #:validate-package #:export-package))
--- /dev/null
+; For why this is the way it is, see src/main/style-checker.asd
+(asdf:defsystem docgen-test.internal
+ :components ((:file "package")
+ (:file "main")))
+
+(asdf:defsystem docgen-test
+ :name "Document Generator Tests"
+ :version "0.0.1"
+ :maintainer "Frank Duncan (frank@kank.com)"
+ :author "Frank Duncan (frank@kank.com)"
+ :serial t
+ :depends-on (:docgen docgen-test.internal))
--- /dev/null
+(in-package #:docgen-test)
+
+(defun run-all-tests () t)
--- /dev/null
+(defpackage #:docgen-test (:use :common-lisp)
+ (:export :run-all-tests))