You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@yetus.apache.org by aw...@apache.org on 2019/01/09 23:39:37 UTC
[yetus] 04/04: YETUS-686. update homebrew formula with missing
dependencies
This is an automated email from the ASF dual-hosted git repository.
aw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yetus.git
commit 1d9f8d67239434d0405459452ba6ef0d16119300
Author: Allen Wittenauer <aw...@apache.org>
AuthorDate: Sun Dec 30 22:00:36 2018 -0800
YETUS-686. update homebrew formula with missing dependencies
Signed-off-by: Sean Busbey <bu...@apache.org>
---
Formula/.rubocop.yml | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++
Formula/yetus.rb | 52 +++++++++---------
pom.xml | 2 +
3 files changed, 178 insertions(+), 25 deletions(-)
diff --git a/Formula/.rubocop.yml b/Formula/.rubocop.yml
new file mode 100644
index 0000000..864869e
--- /dev/null
+++ b/Formula/.rubocop.yml
@@ -0,0 +1,149 @@
+# BSD 2-Clause License
+
+# Copyright (c) 2009-present, Homebrew contributors
+# All rights reserved.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Taken from Homebrew @ Dec 3, 2018. Modified to pass yamllint
+#
+---
+# make our hashes consistent
+Layout/AlignHash:
+ EnforcedHashRocketStyle: table
+ EnforcedColonStyle: table
+
+# `system` is a special case and aligns on second argument
+Layout/AlignParameters:
+ Enabled: false
+
+# favour parens-less DSL-style arguments
+Lint/AmbiguousOperator:
+ Enabled: false
+
+# this is a bit less "floaty"
+Layout/CaseIndentation:
+ EnforcedStyle: end
+
+# this is a bit less "floaty"
+Layout/EndAlignment:
+ EnforcedStyleAlignWith: start_of_line
+
+# conflicts with DSL-style path concatenation with `/`
+Layout/SpaceAroundOperators:
+ Enabled: false
+
+# Auto-correct is broken (https://github.com/rubocop-hq/rubocop/issues/6300).
+Layout/EmptyLineAfterGuardClause:
+ Enabled: false
+
+# Auto-correct is broken (https://github.com/rubocop-hq/rubocop/issues/6258)
+# and layout is not configurable
+# (https://github.com/rubocop-hq/rubocop/issues/6254).
+Layout/RescueEnsureAlignment:
+ Enabled: false
+
+# favour parens-less DSL-style arguments
+Lint/AmbiguousBlockAssociation:
+ Enabled: false
+
+# so many of these in formulae and can't be autocorrected
+# TODO: fix these as `ruby -w` complains about them.
+Lint/AmbiguousRegexpLiteral:
+ Enabled: false
+
+# assignment in conditions are useful sometimes
+# TODO: add parentheses for these and remove
+Lint/AssignmentInCondition:
+ Enabled: false
+
+# we output how to use interpolated strings too often
+Lint/InterpolationCheck:
+ Enabled: false
+
+# so many of these in formulae and can't be autocorrected
+Lint/ParenthesesAsGroupedExpression:
+ Enabled: false
+
+# most metrics don't make sense to apply for formulae/taps
+Metrics/AbcSize:
+ Enabled: false
+Metrics/ClassLength:
+ Enabled: false
+Metrics/CyclomaticComplexity:
+ Enabled: false
+Metrics/MethodLength:
+ Enabled: false
+Metrics/ModuleLength:
+ Enabled: false
+Metrics/PerceivedComplexity:
+ Enabled: false
+
+# GitHub diff UI wraps beyond 118 characters (so that's the goal)
+Metrics/LineLength:
+ Max: 170
+ # ignore manpage comments and long single-line strings
+ IgnoredPatterns: ['#: ', ' url "', ' mirror "', ' plist_options :']
+
+# our current conditional style is established
+# TODO: enable this when possible
+Style/ConditionalAssignment:
+ Enabled: false
+
+# most of our APIs are internal so don't require docs
+Style/Documentation:
+ Enabled: false
+
+# we want to add this slowly and manually
+# TODO: add to more files
+Style/FrozenStringLiteralComment:
+ Enabled: false
+
+# so many of these in formulae and can't be autocorrected
+Style/GuardClause:
+ Enabled: false
+
+# depends_on a: :b looks weird in formulae.
+Style/HashSyntax:
+ EnforcedStyle: hash_rockets
+ Exclude:
+ - '**/cmd/*.rb'
+
+# ruby style guide favorite
+Style/StringLiterals:
+ EnforcedStyle: double_quotes
+
+# consistency with above
+Style/StringLiteralsInInterpolation:
+ EnforcedStyle: double_quotes
+
+# make things a bit easier to read
+Style/TernaryParentheses:
+ EnforcedStyle: require_parentheses_when_complex
+
+# messes with existing plist/caveats style
+Style/TrailingBodyOnMethodDefinition:
+ Enabled: false
+
+# a bit confusing to non-Rubyists but useful for longer arrays
+Style/WordArray:
+ MinSize: 4
diff --git a/Formula/yetus.rb b/Formula/yetus.rb
index 0be094d..581adab 100644
--- a/Formula/yetus.rb
+++ b/Formula/yetus.rb
@@ -16,35 +16,37 @@
#
# Homebrew formula to install Apache Yetus
class Yetus < Formula
- desc 'Enable contribution and release processes for software projects'
- homepage 'https://yetus.apache.org/'
- url 'https://www.apache.org/dyn/closer.lua?path=/yetus/0.8.0/yetus-0.8.0-bin.tar.gz'
- sha256 'dea3bcec00c54ff27bcdc3f829749c3ea13bacdcd048792f6aae486ecf2e022e'
+ desc "Enable contribution and release processes for software projects"
+ homepage "https://yetus.apache.org/"
+ url "https://www.apache.org/dyn/closer.lua?path=/yetus/0.8.0/yetus-0.8.0-bin.tar.gz"
+ sha256 "dea3bcec00c54ff27bcdc3f829749c3ea13bacdcd048792f6aae486ecf2e022e"
- option 'with-all', 'Build with all dependencies. Note that some dependencies such as '\
- 'Perl::Critic, Pylint, RuboCop and ruby-lint still need to be installed manually.'
+ option "with-all", "Build with all dependencies. Note that some dependencies such as "\
+ "Perl::Critic, Pylint, RuboCop and ruby-lint still need to be installed manually."
dependencies = [
# programming languages
:java,
- 'scala',
+ "scala",
# build tools
- 'ant',
- 'autoconf',
- 'automake',
- 'cmake',
- 'libtool',
- 'gradle',
- 'maven',
+ "ant",
+ "autoconf",
+ "automake",
+ "cmake",
+ "libtool",
+ "gradle",
+ "maven",
# test tools
- 'findbugs',
- 'shellcheck'
+ "hadolint",
+ "shellcheck",
+ "spotbugs",
+ "yamllint"
]
dependencies.each do |dependency|
- if build.with?('all')
+ if build.with?("all")
depends_on dependency
else
depends_on dependency => :optional
@@ -52,17 +54,17 @@ class Yetus < Formula
end
def install
- rm Dir['bin/*.{bat,cmd,dll,exe}']
- inreplace Dir['bin/*'], '$(dirname -- "${BASH_SOURCE-0}")/..', libexec
- libexec.install Dir['*']
+ rm Dir["bin/*.{bat,cmd,dll,exe}"]
+ inreplace Dir["bin/*"], '$(dirname -- "${BASH_SOURCE-0}")/..', libexec
+ libexec.install Dir["*"]
bin.install_symlink Dir["#{libexec}/bin/*"]
end
test do
- system "#{bin}/qbt", '--version'
- system "#{bin}/releasedocmaker", '-V'
- system "#{bin}/shelldocs", '-V'
- system "#{bin}/smart-apply-patch", '--version'
- system "#{bin}/test-patch", '--version'
+ system "#{bin}/qbt", "--version"
+ system "#{bin}/releasedocmaker", "-V"
+ system "#{bin}/shelldocs", "-V"
+ system "#{bin}/smart-apply-patch", "--version"
+ system "#{bin}/test-patch", "--version"
end
end
diff --git a/pom.xml b/pom.xml
index 68e28a7..2d79cc6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,11 +212,13 @@
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
+ <version>0.13</version>
<configuration>
<excludeSubprojects>false</excludeSubprojects>
<excludes>
<exclude>.pylintrc</exclude>
<exclude>.rubocop.yml</exclude>
+ <exclude>Formula/.rubocop.yml</exclude>
</excludes>
</configuration>
</plugin>