diff options
| author | Mike McQuaid | 2016-10-13 13:41:53 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2016-10-15 12:32:34 +0100 |
| commit | f435adc2d00f4e5f91390de423f113168efe72ac (patch) | |
| tree | 1b8cf0b84062479d96f18fc9645467cd269bf018 /Library/Homebrew/dev-cmd/tap-new.rb | |
| parent | 13276409a9b08fcbadfed18c25b6fd11af343729 (diff) | |
| download | brew-f435adc2d00f4e5f91390de423f113168efe72ac.tar.bz2 | |
Rename tap-readme command to tap-new.
Write the README but also a `.travis.yml` file (and in future perhaps a
`Jenkinsfile`).
Diffstat (limited to 'Library/Homebrew/dev-cmd/tap-new.rb')
| -rw-r--r-- | Library/Homebrew/dev-cmd/tap-new.rb | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb new file mode 100644 index 000000000..f469aa359 --- /dev/null +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -0,0 +1,80 @@ +#: * `tap-new` <user>`/`<repo>: +#: Generate the template files for a new tap. + +require "tap" + +module Homebrew + module_function + + def write_path(tap, filename, content) + path = tap.path/filename + tap.path.mkpath + raise "#{path} already exists" if path.exist? + path.write content + end + + def tap_new + raise "A tap argument is required" if ARGV.named.empty? + + tap = Tap.fetch(ARGV.named.first) + titleized_user = tap.user.dup + titleized_repo = tap.repo.dup + titleized_user[0] = titleized_user[0].upcase + titleized_repo[0] = titleized_repo[0].upcase + + (tap.path/"Formula").mkpath + + readme = <<-EOS.undent + # #{titleized_user} #{titleized_repo} + + ## How do I install these formulae? + `brew install #{tap}/<formula>` + + Or `brew tap #{tap}` and then `brew install <formula>`. + + Or install via URL (which will not receive updates): + + ``` + brew install https://raw.githubusercontent.com/#{tap.user}/homebrew-#{tap.repo}/master/Formula/<formula>.rb + ``` + + ## Documentation + `brew help`, `man brew` or check [Homebrew's documentation](https://github.com/Homebrew/brew/tree/master/docs#readme). + EOS + write_path(tap, "README.md", readme) + + travis = <<-EOS.undent + language: ruby + os: osx + env: OSX=10.11 + osx_image: xcode7.3 + rvm: system + + before_install: + - export TRAVIS_COMMIT="$(git rev-parse --verify -q HEAD)" + - if [ -f ".git/shallow" ]; then + travis_retry git fetch --unshallow; + fi + - sudo chown -R $USER "$(brew --repo)" + - git -C "$(brew --repo)" reset --hard origin/master + - git -C "$(brew --repo)" clean -qxdff + - brew update || brew update + - rm -rf "$(brew --repo $TRAVIS_REPO_SLUG)" + - mkdir -p "$(brew --repo $TRAVIS_REPO_SLUG)" + - rsync -az "$TRAVIS_BUILD_DIR/" "$(brew --repo $TRAVIS_REPO_SLUG)" + - export TRAVIS_BUILD_DIR="$(brew --repo $TRAVIS_REPO_SLUG)" + - cd "$(brew --repo)" + - export HOMEBREW_DEVELOPER="1" + - ulimit -n 1024 + + script: + - brew test-bot + + notifications: + email: + on_success: never + on_failure: always + EOS + write_path(tap, ".travis.yml", travis) + end +end |
