Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 730602009E2 for ; Wed, 1 Jun 2016 20:39:51 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 71C7A160A4C; Wed, 1 Jun 2016 18:39:51 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B9711160A45 for ; Wed, 1 Jun 2016 20:39:50 +0200 (CEST) Received: (qmail 62952 invoked by uid 500); 1 Jun 2016 18:39:50 -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 62941 invoked by uid 99); 1 Jun 2016 18:39:49 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 18:39:49 +0000 Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id A369A1A0044 for ; Wed, 1 Jun 2016 18:39:49 +0000 (UTC) Received: by mail-qg0-f42.google.com with SMTP id 52so47406557qgy.0 for ; Wed, 01 Jun 2016 11:39:49 -0700 (PDT) X-Gm-Message-State: ALyK8tJ4YXW0Mgo0kDeGHYySOGnrl+WhQy0/i9s1QR2RU3nLSmf3biiJR8g8GZQQyqQ5+B+8Pmdn6er4ScN7WQ== X-Received: by 10.140.199.213 with SMTP id u204mr3826804qha.64.1464806388731; Wed, 01 Jun 2016 11:39:48 -0700 (PDT) MIME-Version: 1.0 From: Christopher Date: Wed, 01 Jun 2016 18:39:39 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Jar sealing To: Accumulo Dev List Content-Type: multipart/alternative; boundary=001a114bea0e77182605343bd0e6 archived-at: Wed, 01 Jun 2016 18:39:51 -0000 --001a114bea0e77182605343bd0e6 Content-Type: text/plain; charset=UTF-8 Devs- There's been a few issues with jar sealing that I've run into lately. Some of which only occurred doing test RC builds. To make these issues more prominent, I recently made the maven-jar-plugin always do jar sealing, so we can catch these issues earlier, as part of a pom/build update to use the latest plugins in ASF parent pom 18. I'm currently working through the issues preventing builds in the current branches. However, I'd like to remind everyone to put their class files in distinct packages to avoid these issues in the future. Here's a few guidelines: 1. Make all your packages begin with org.apache.accumulo (don't use the default package, or something generic, like "test") 2. Packages in the module XYZ should begin with org.apache.accumulo.XYZ 3. Unit tests run by surefire (src/test/java/**/*Test.java, src/test/java/**/Test*.java) can be in the same package as those in src/main/java, in order to access package-private members for testing. 4. Integration tests run by failsafe (src/test/java/**/*IT.java, src/test/java/**/IT*.java) should never be in the same package as a class in src/main/java. 5. The test module is a special case: a) The ITs in recent branches in the test module have been moved to src/main/java. Make sure you move them to the correct location when merging ITs created for older branches. b) Tests in the test module should be in their own package, as described in #2. Make sure you rename the package if you move a test from another module into the test module. c) The only classes which should be in src/test/java in the test module are unit tests for testing frameworks in the test module themselves. If any such classes should exist, they must be in distinct packages from those in src/main/java. This is an exception to the #3 rule above, because failsafe runs ITs from src/main/java for this module only. Hopefully those guidelines help. If anybody needs more detailed explanation about jar sealing, or has questions about these recommendations or about our build or the maven build plugins, feel free to ask. I'll do my best to explain. Thanks. --001a114bea0e77182605343bd0e6--