From dev-return-5443-archive-asf-public=cust-asf.ponee.io@groovy.apache.org Mon Sep 17 02:45:17 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 2C705180652 for ; Mon, 17 Sep 2018 02:45:17 +0200 (CEST) Received: (qmail 54321 invoked by uid 500); 17 Sep 2018 00:45:10 -0000 Mailing-List: contact dev-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@groovy.apache.org Delivered-To: mailing list dev@groovy.apache.org Received: (qmail 54290 invoked by uid 99); 17 Sep 2018 00:45:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Sep 2018 00:45:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 6B364C0158 for ; Mon, 17 Sep 2018 00:45:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.278 X-Spam-Level: * X-Spam-Status: No, score=1.278 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id u6KErNzXzIlv for ; Mon, 17 Sep 2018 00:45:05 +0000 (UTC) Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.28]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id B1CC35F1A0 for ; Mon, 17 Sep 2018 00:45:04 +0000 (UTC) Received: from [79.247.124.31] (helo=[192.168.0.30]) by smtprelay01.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.90_1) (envelope-from ) id 1g1her-00052E-DQ for dev@groovy.apache.org; Mon, 17 Sep 2018 02:44:57 +0200 To: dev@groovy.apache.org From: =?UTF-8?Q?Leonard_Br=c3=bcnings?= Subject: Proposal groovy-bom Message-ID: <2c101455-efdd-7f36-caf3-aacbb33e2968@bruenings-it.net> Date: Mon, 17 Sep 2018 02:44:56 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="------------012A00CB73BF3D6C240690F3" Content-Language: en-US X-Antivirus: Avast (VPS 180916-4, 16.09.2018), Outbound message X-Antivirus-Status: Clean X-Df-Sender: MDE4NTA5 This is a multi-part message in MIME format. --------------012A00CB73BF3D6C240690F3 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi, the switch to fine grained artifacts with groovy-2.5 made it harder to consistently mange package versions. Many projects offer a bom pom (https://www.baeldung.com/spring-maven-bom), that manages all the packages so users of maven have to just import the bom pom instead of having to manage every artifact. So you can do just this org.codehaus.groovy groovy-bom ${groovy-version} import Instead of org.codehaus.groovy groovy ${groovy-version} org.codehaus.groovy groovy-ant ${groovy-version} ... repeat for every package to be managed This should be fairly easy to do as the current groovy-all is almost a bom pom, all that is needed is to move the dependency declaration into a dependencyManagement block. https://github.com/spockframework/spock/issues/892#issuecomment-418659404 --------------012A00CB73BF3D6C240690F3 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit

Hi,

the switch to fine grained artifacts with groovy-2.5 made it harder to consistently mange package versions.

Many projects offer a bom pom (https://www.baeldung.com/spring-maven-bom), that manages all the packages so users of maven have to just import the bom pom instead of having to manage every artifact.

So you can do just this

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-bom</artifactId>
      <version>${groovy-version}</version>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Instead of

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy</artifactId>
      <version>${groovy-version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-ant</artifactId>
      <version>${groovy-version}</version>
    </dependency>
... repeat for every package to be managed
  </dependencies>
</dependencyManagement>

This should be fairly easy to do as the current groovy-all is almost a bom pom, all that is needed is to move the dependency declaration into a dependencyManagement block.


https://github.com/spockframework/spock/issues/892#issuecomment-418659404

--------------012A00CB73BF3D6C240690F3--