aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/dev-cmd/tap-new.rb80
-rw-r--r--Library/Homebrew/dev-cmd/tap-readme.rb37
-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/brew4
-rw-r--r--docs/brew.1.html2
-rw-r--r--manpages/brew.14
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 &lt;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