diff options
| -rw-r--r-- | Library/Homebrew/dev-cmd/tap-new.rb | 80 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/tap-readme.rb | 37 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_tap_new.rb (renamed from Library/Homebrew/test/test_tap_readme.rb) | 5 | ||||
| -rw-r--r-- | completions/bash/brew | 4 | ||||
| -rw-r--r-- | docs/brew.1.html | 2 | ||||
| -rw-r--r-- | manpages/brew.1 | 4 |
6 files changed, 87 insertions, 45 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 diff --git a/Library/Homebrew/dev-cmd/tap-readme.rb b/Library/Homebrew/dev-cmd/tap-readme.rb deleted file mode 100644 index cf5af85eb..000000000 --- a/Library/Homebrew/dev-cmd/tap-readme.rb +++ /dev/null @@ -1,37 +0,0 @@ -#: * `tap_readme` [`-v`] <name>: -#: Generate the README.md file for a new tap. - -module Homebrew - module_function - - def tap_readme - name = ARGV.first - raise "A name is required" if name.nil? - - titleized_name = name.dup - titleized_name[0..0] = titleized_name[0..0].upcase - - template = <<-EOS.undent - # Homebrew #{titleized_name} - - ## How do I install these formulae? - `brew install homebrew/#{name}/<formula>` - - Or `brew tap homebrew/#{name}` and then `brew install <formula>`. - - Or install via URL (which will not receive updates): - - ``` - brew install https://raw.githubusercontent.com/Homebrew/homebrew-#{name}/master/<formula>.rb - ``` - - ## Documentation - `brew help`, `man brew` or check [Homebrew's documentation](https://github.com/Homebrew/brew/tree/master/docs#readme). - EOS - - puts template if ARGV.verbose? - path = HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-#{name}/README.md" - raise "#{path} already exists" if path.exist? - path.write template - end -end diff --git a/Library/Homebrew/test/test_tap_readme.rb b/Library/Homebrew/test/test_tap_new.rb index 1181c3ffc..636024b0a 100644 --- a/Library/Homebrew/test/test_tap_readme.rb +++ b/Library/Homebrew/test/test_tap_new.rb @@ -1,9 +1,8 @@ require "helper/integration_command_test_case" -class IntegrationCommandTestTapReadme < IntegrationCommandTestCase +class IntegrationCommandTestTapNew < IntegrationCommandTestCase def test_tap_readme - assert_match "brew install homebrew/foo/<formula>", - cmd("tap-readme", "foo", "--verbose") + assert_equal "", cmd("tap-new", "homebrew/foo", "--verbose") readme = HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-foo/README.md" assert readme.exist?, "The README should be created" end diff --git a/completions/bash/brew b/completions/bash/brew index b1abe3855..03a05cb37 100644 --- a/completions/bash/brew +++ b/completions/bash/brew @@ -442,7 +442,7 @@ _brew_tap_info() { __brew_complete_tapped } -_brew_tap_readme() { +_brew_tap_new() { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) @@ -612,7 +612,7 @@ _brew() { tap) _brew_tap ;; tap-info) _brew_tap_info ;; tap-pin) __brew_complete_tapped ;; - tap-readme) _brew_tap_readme ;; + tap-new) _brew_tap_new ;; tap-unpin) _brew_tap_unpin ;; test) __brew_complete_installed ;; tests) _brew_tests ;; diff --git a/docs/brew.1.html b/docs/brew.1.html index d9216665a..59c29cb3a 100644 --- a/docs/brew.1.html +++ b/docs/brew.1.html @@ -567,7 +567,7 @@ Each <patch-source> may be one of: If <code>--no-publish</code> was passed, do not publish bottles to Bintray.</p> <dl> -<dt><code>tap_readme</code> [<code>-v</code>] <var>name</var></dt><dd><p>Generate the README.md file for a new tap.</p></dd> +<dt><code>tap-new</code> <var>user</var><code>/</code><var>repo</var></dt><dd><p>Generate the template files for a new tap.</p></dd> <dt><code>test</code> [<code>--devel</code>|<code>--HEAD</code>] [<code>--debug</code>] [<code>--keep-tmp</code>] <var>formula</var></dt><dd><p>Most formulae provide a test method. <code>brew test</code> <var>formula</var> runs this test method. There is no standard output or return code, but it should generally indicate to the user if something is wrong with the installed diff --git a/manpages/brew.1 b/manpages/brew.1 index 5e0a0faa1..ca98390a6 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -759,8 +759,8 @@ Each <patch\-source> may be one of: If \fB\-\-bottle\fR was passed, handle bottles, pulling the bottle\-update commit and publishing files on Bintray\. If \fB\-\-bump\fR was passed, for one\-formula PRs, automatically reword commit message to our preferred format\. If \fB\-\-clean\fR was passed, do not rewrite or otherwise modify the commits found in the pulled PR\. If \fB\-\-ignore\-whitespace\fR was passed, silently ignore whitespace discrepancies when applying diffs\. If \fB\-\-resolve\fR was passed, when a patch fails to apply, leave in progress and allow user to resolve, instead of aborting\. If \fB\-\-branch\-okay\fR was passed, do not warn if pulling to a branch besides master (useful for testing)\. If \fB\-\-no\-pbcopy\fR was passed, do not copy anything to the system If \fB\-\-no\-publish\fR was passed, do not publish bottles to Bintray\. . .TP -\fBtap_readme\fR [\fB\-v\fR] \fIname\fR -Generate the README\.md file for a new tap\. +\fBtap\-new\fR \fIuser\fR\fB/\fR\fIrepo\fR +Generate the template files for a new tap\. . .TP \fBtest\fR [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-debug\fR] [\fB\-\-keep\-tmp\fR] \fIformula\fR |
