From 50662fd194e325836c71e36672787b02c4082d7e Mon Sep 17 00:00:00 2001 From: Stephen De Gabrielle Date: Thu, 16 Jul 2020 11:40:33 +0100 Subject: [PATCH] racket starterkit --- app/.gitignore | 6 +++++ app/.travis.yml | 49 +++++++++++++++++++++++++++++++++++++ app/LICENSE-APACHE | 13 ++++++++++ app/LICENSE-MIT | 23 ++++++++++++++++++ app/README.md | 3 +++ app/info.rkt | 8 ++++++ app/main.rkt | 50 ++++++++++++++++++++++++++++++++++++++ app/scribblings/icfp.scrbl | 10 ++++++++ build.sh | 2 ++ run.sh | 4 +++ 10 files changed, 168 insertions(+) create mode 100644 app/.gitignore create mode 100644 app/.travis.yml create mode 100644 app/LICENSE-APACHE create mode 100644 app/LICENSE-MIT create mode 100644 app/README.md create mode 100644 app/info.rkt create mode 100644 app/main.rkt create mode 100644 app/scribblings/icfp.scrbl create mode 100644 build.sh create mode 100644 run.sh diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..1a59348 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,6 @@ +*~ +\#* +.\#* +.DS_Store +compiled/ +/doc/ diff --git a/app/.travis.yml b/app/.travis.yml new file mode 100644 index 0000000..af31b78 --- /dev/null +++ b/app/.travis.yml @@ -0,0 +1,49 @@ +language: c + +# Based on: https://github.com/greghendershott/travis-racket + +env: + global: + # Supply a global RACKET_DIR environment variable. This is where + # Racket will be installed. A good idea is to use ~/racket because + # that doesn't require sudo to install. + - RACKET_DIR=~/racket + matrix: + # Supply at least one RACKET_VERSION environment variable. This is + # used by the install-racket.sh script (run at before_install, + # below) to select the version of Racket to download and install. + # + # Supply more than one RACKET_VERSION (as in the example below) to + # create a Travis-CI build matrix to test against multiple Racket + # versions. + - RACKET_VERSION=6.12 + - RACKET_VERSION=7.0 + - RACKET_VERSION=7.1 + - RACKET_VERSION=7.2 + - RACKET_VERSION=HEAD + +matrix: + allow_failures: +# - env: RACKET_VERSION=HEAD + fast_finish: true + +before_install: +- git clone https://github.com/greghendershott/travis-racket.git ~/travis-racket +- cat ~/travis-racket/install-racket.sh | bash # pipe to bash not sh! +- export PATH="${RACKET_DIR}/bin:${PATH}" #install-racket.sh can't set for us + +install: + - raco pkg install --auto --name icfp + +before_script: + +# Here supply steps such as raco make, raco test, etc. You can run +# `raco pkg install --deps search-auto` to install any required +# packages without it getting stuck on a confirmation prompt. +script: + - raco test -x -p icfp + +after_success: + - raco setup --check-pkg-deps --pkgs icfp + - raco pkg install --auto cover cover-coveralls + - raco cover -b -f coveralls -d $TRAVIS_BUILD_DIR/coverage . diff --git a/app/LICENSE-APACHE b/app/LICENSE-APACHE new file mode 100644 index 0000000..e0f01fa --- /dev/null +++ b/app/LICENSE-APACHE @@ -0,0 +1,13 @@ +Copyright 2020 spdegabrielle + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/app/LICENSE-MIT b/app/LICENSE-MIT new file mode 100644 index 0000000..e26fa9f --- /dev/null +++ b/app/LICENSE-MIT @@ -0,0 +1,23 @@ +icfp + +MIT License + +Copyright (c) 2020 spdegabrielle + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/app/README.md b/app/README.md new file mode 100644 index 0000000..900ac1b --- /dev/null +++ b/app/README.md @@ -0,0 +1,3 @@ +icfp +==== +README text here. diff --git a/app/info.rkt b/app/info.rkt new file mode 100644 index 0000000..0598ae9 --- /dev/null +++ b/app/info.rkt @@ -0,0 +1,8 @@ +#lang info +(define collection "icfp") +(define deps '("base")) +(define build-deps '("scribble-lib" "racket-doc" "rackunit-lib")) +(define scribblings '(("scribblings/icfp.scrbl" ()))) +(define pkg-desc "Description Here") +(define version "0.0") +(define pkg-authors '(spdegabrielle)) diff --git a/app/main.rkt b/app/main.rkt new file mode 100644 index 0000000..7e16dd4 --- /dev/null +++ b/app/main.rkt @@ -0,0 +1,50 @@ +#lang racket/base + +(module+ test + (require rackunit)) + +;; Notice +;; To install (from within the package directory): +;; $ raco pkg install +;; To install (once uploaded to pkgs.racket-lang.org): +;; $ raco pkg install <> +;; To uninstall: +;; $ raco pkg remove <> +;; To view documentation: +;; $ raco docs <> +;; +;; For your convenience, we have included LICENSE-MIT and LICENSE-APACHE files. +;; If you would prefer to use a different license, replace those files with the +;; desired license. +;; +;; Some users like to add a `private/` directory, place auxiliary files there, +;; and require them in `main.rkt`. +;; +;; See the current version of the racket style guide here: +;; http://docs.racket-lang.org/style/index.html + +;; Code here + + + +(module+ test + ;; Any code in this `test` submodule runs when this file is run using DrRacket + ;; or with `raco test`. The code here does not run when this file is + ;; required by another module. + + (check-equal? (+ 2 2) 4)) + +(module+ main + ;; (Optional) main submodule. Put code here if you need it to be executed when + ;; this file is run using DrRacket or the `racket` executable. The code here + ;; does not run when this file is required by another module. Documentation: + ;; http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._main-and-test%29 + + (require racket/cmdline) + (define who (box "world")) + (command-line + #:program "my-program" + #:once-each + [("-n" "--name") name "Who to say hello to" (set-box! who name)] + #:args () + (printf "hello ~a~n" (unbox who)))) diff --git a/app/scribblings/icfp.scrbl b/app/scribblings/icfp.scrbl new file mode 100644 index 0000000..2c46827 --- /dev/null +++ b/app/scribblings/icfp.scrbl @@ -0,0 +1,10 @@ +#lang scribble/manual +@require[@for-label[icfp + racket/base]] + +@title{icfp} +@author{spdegabrielle} + +@defmodule[icfp] + +Package Description Here diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..13f4793 --- /dev/null +++ b/build.sh @@ -0,0 +1,2 @@ +#!/bin/sh + diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..05556f3 --- /dev/null +++ b/run.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +racketp app/main.rkt "$@" || echo "run error code: $?" +