Skip to content
This repository has been archived by the owner on Aug 30, 2018. It is now read-only.

aelve/new-hs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

new-hs

Build status

Deprecated. Please use Summoner.

See old description

This is a script for creating a Haskell project and setting up everything that one usually wants to set up (well, not everything, but I'll add some features -that others use- later). To use it, download new-hs.hs and then put it somewhere in your PATH (for instance, /usr/local/bin):

$ wget https://github.com/aelve/new-hs/blob/master/new-hs.hs
$ chmod +x new-hs.hs
$ sudo mv new-hs.hs /usr/local/bin/new-hs

After that, call new-hs, answer the questions, and a new project would be created in a subfolder.

To change the defaults (repository owner, default license, etc), edit the beginning of the script (the “Settings” section).

Features

Note that the following features are currently missing:

  • supporting any VCS but Git
  • supporting anything but Github
  • creating a Stack project
  • not creating a repository / enabling Travis-CI / etc
  • testing on GHC HEAD

Repository

It creates a new folder with Git repository in it, and then creates a corresponding repository on Github.

  • It creates a good .gitignore file.
  • It creates a tracking branch and makes a commit.

Project

It generates a .cabal file using cabal init, and optionally creates a Cabal sandbox. It also fills in some additional fields: tested-with, bug-reports, and the source-repository section.

  • It enables all warnings (excluding warn-unused-do-bind).
  • If you have chosen to put your code into public domain, it creates a LICENSE file with CC0.
  • It creates an empty module and a changelog.
  • It creates a readme with Travis, Hackage, and license badges.

Travis-CI

It enables Travis-CI for the repository and generate a .travis.yml file using hvr's multi-ghc-travis script.

  • It makes Travis-CI treat warnings as errors (by adding -Werror).

Requirements

  • GHC to run the script (7.6.3 or later)
  • Git to create the repository
  • cabal-install to create the project
  • Github's client hub
  • Travis-CI's client travis

On Arch Linux, you can install all of those things by doing

$ yaourt -S ghc git cabal-install hub ruby-travis

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published