Return-Path: X-Original-To: apmail-accumulo-dev-archive@www.apache.org Delivered-To: apmail-accumulo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 05AD511A32 for ; Thu, 19 Jun 2014 15:43:05 +0000 (UTC) Received: (qmail 56458 invoked by uid 500); 19 Jun 2014 15:43:04 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 56419 invoked by uid 500); 19 Jun 2014 15:43:04 -0000 Mailing-List: contact dev-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list dev@accumulo.apache.org Received: (qmail 56408 invoked by uid 99); 19 Jun 2014 15:43:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jun 2014 15:43:04 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mdrob@cloudera.com designates 209.85.219.48 as permitted sender) Received: from [209.85.219.48] (HELO mail-oa0-f48.google.com) (209.85.219.48) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jun 2014 15:43:01 +0000 Received: by mail-oa0-f48.google.com with SMTP id m1so5450012oag.7 for ; Thu, 19 Jun 2014 08:42:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=rWwuDzpeliiS6wy8M6KAu4tp0zoC5hF8IdB727IdsJE=; b=TQ7Zm5eIDGuW8XE0COxpn4ljgdf3oG9h4N2rQM4gFkUFxGrIBg6ClvHWzCCWEFNQpr hhFOONkvywfSL5xT+a7igxteOPaYY8eF7HMNTP+fBNurJhVTy/T5wfnYx6PZ9EYIDDkW QCtsBzlFQSPc5d53/sfT5XLf265jRPAomVc7/avTUJBjN8u8MNl1kUg7c2gf1GZI7dQN zyYbJvL7dsT4ZXgHFaOl/n7LiC2rFoIczdYCh3ax4QECgzxoXBZ3D1ld9EOksn1NymGQ zpokTDQOG4RZmJUqpZJWYyoc/7tBm1HqNE01UY1j5WdPgzMcCOZ7IsLzIS0N2/mob2Cd ulDw== X-Gm-Message-State: ALoCoQmuZiuKTxe+oi/Uog6gepD5WpCxDP1+CiM61KlBq2cpD9JBRlDvQk+iHxNLZlorj7Y2wbwr X-Received: by 10.60.159.234 with SMTP id xf10mr5414369oeb.15.1403192556678; Thu, 19 Jun 2014 08:42:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.60.145.43 with HTTP; Thu, 19 Jun 2014 08:42:16 -0700 (PDT) In-Reply-To: References: <53A0AC38.5090006@gmail.com> From: Mike Drob Date: Thu, 19 Jun 2014 10:42:16 -0500 Message-ID: Subject: Re: moving rat to a profile? To: Accumulo Dev List Content-Type: multipart/alternative; boundary=047d7bd6c514e48ab104fc323907 X-Virus-Checked: Checked by ClamAV on apache.org --047d7bd6c514e48ab104fc323907 Content-Type: text/plain; charset=UTF-8 I hope you mean verify the output of rat:check, and not run "mvn verify" as a pre-commit hook. On Thu, Jun 19, 2014 at 10:38 AM, Bill Havanki wrote: > Ooh, had another thought. We can probably make the rat plugin run under a > pre-commit hook [1]. That way, while you're actively developing, the rat > plugin need not get in the way, but it still serves as a gatekeeper before > you can commit. > > Git also allows for hooks around git am, so committers can invoke rat then > to ensure contributed patches have licenses. That would be useful in case a > contributor never commits locally, for example (or disables the pre-commit > hook locally :) ). > > So, specifically, elements for this option: > * by default, either do not run rat or run it with ignoreErrors=true > * set pre-commit hook to run rat:check and verify > * set pre-applypatch hook to also run rat:check and verify > > [1] http://git-scm.com/book/en/Customizing-Git-Git-Hooks > > > On Tue, Jun 17, 2014 at 5:11 PM, Alex Moundalexis > wrote: > > > I like this plan. > > > > * doesn't discourage new contributors > > * provides information for those who want to dig deeper > > > > On Tue, Jun 17, 2014 at 5:04 PM, Bill Havanki > > > wrote: > > > > > It seems like a middle way would be: > > > > > > * always run the rat plugin > > > * configure it by default with ignoreErrors=true > > > * let committers / Jenkins / release managers et al. explicitly set > > > rat.ignoreErrors=false (in MAVEN_OPTS or wherever) > > > > > > By default, the plugin will warn about files lacking a license, but > will > > > continue the build. Contributors are exposed to the check but not > > > constrained by it. Example: > > > > > > --- > > > [INFO] Rat check: Summary of files. Unapproved: 1 unknown: 1 > generated: 0 > > > approved: 187 licence. > > > [WARNING] Rat check: 1 files with unapproved licenses. See RAT report > in: > > > /Users/bhavanki/dev/accumulo/server/base/target/rat.txt > > > --- > > > > > > Any entity that should enforce licenses then needs to set the > > ignoreErrors > > > flag to false. This can be part of committer onboarding. > > > > > > Bill > > > > > > > > > On Tue, Jun 17, 2014 at 4:59 PM, Josh Elser > > wrote: > > > > > > > > > > > > > > > On 6/17/14, 1:47 PM, Alex Moundalexis wrote: > > > > > > > >> This kind of response is hardly conducive to prospective > contributors. > > > >> > > > >> We should consider ourselves lucky whenever a contributor provides a > > > >> patch, > > > >> let alone runs a build. Expecting a new contributor be fully aware > of > > > the > > > >> Apache licensing details isn't realistic, much less being aware of > the > > > >> arguments concerning Rat; if the ignoreErrors argument is TheWay, it > > > ought > > > >> to be mentioned prominently in the source documentation [1], but I > > don't > > > >> think that's correct either... > > > >> > > > >> I don't want to encourage contributors to skip the build. I want > > > >> contributors to be aware of the licensing requirements, but not at > the > > > >> expense of providing otherwise-viable patches. I'd recommend > relaxing > > > the > > > >> Rat checks for contributors, and making it a required part of the > > > profile > > > >> for automated Jenkins builds and during the release process. > > > >> > > > >> The onus should be on the committers to ensure that all of the > > licensing > > > >> is > > > >> in place before the release, but preferably long before that point > by > > > >> guiding the contributor to make the necessary license additions > before > > > the > > > >> commit. > > > >> > > > > > > > > This is an important thing to remember. The point of shepherding > > > > contributors is to eventually get them to committer status, at which > > > point > > > > they'll be personally responsible for these things. While we > definitely > > > > don't want to be to abrasive initially that they get fed up and go > > away, > > > we > > > > can't fully insulate from the necessary either. > > > > > > > > > > > > > > > >> I've been told to correct whitespace at the end of a line before and > > to > > > >> re-submit a patch, seems trivial to address missing licensing files > in > > > the > > > >> same way. > > > >> > > > >> [1] https://accumulo.apache.org/source.html > > > >> > > > >> > > > > > > > > > -- > > > // Bill Havanki > > > // Solutions Architect, Cloudera Govt Solutions > > > // 443.686.9283 > > > > > > > > > -- > // Bill Havanki > // Solutions Architect, Cloudera Govt Solutions > // 443.686.9283 > --047d7bd6c514e48ab104fc323907--