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 83557200BD0 for ; Thu, 1 Dec 2016 00:01:24 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 81E01160B19; Wed, 30 Nov 2016 23:01:24 +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 A4A95160B13 for ; Thu, 1 Dec 2016 00:01:23 +0100 (CET) Received: (qmail 72291 invoked by uid 500); 30 Nov 2016 23:01:22 -0000 Mailing-List: contact users-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Users List" Reply-To: "Maven Users List" Delivered-To: mailing list users@maven.apache.org Received: (qmail 72279 invoked by uid 99); 30 Nov 2016 23:01:22 -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; Wed, 30 Nov 2016 23:01:22 +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 D9DCDC1372 for ; Wed, 30 Nov 2016 23:01:21 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.101 X-Spam-Level: X-Spam-Status: No, score=-0.101 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com 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 WehtAiPn04CC for ; Wed, 30 Nov 2016 23:01:20 +0000 (UTC) Received: from mail-io0-f171.google.com (mail-io0-f171.google.com [209.85.223.171]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id A48C55F20C for ; Wed, 30 Nov 2016 23:01:19 +0000 (UTC) Received: by mail-io0-f171.google.com with SMTP id a124so378363125ioe.2 for ; Wed, 30 Nov 2016 15:01:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=pogsvtew/d387w9otdcyqYpcJQ78Ktbn8VazjcZArfU=; b=IXSzFEhwha3xjzNj7cQVmj/JHZnt5fuYBLCH0V1HwiU3STcbKKvomps/nbTbX2oCoE xgiGawMhT5U/+J5TiIyKQ8yn07L2oRVVc1JmUXueCSeu3Ee9nL7MpTPMMo0KCzw44SQ4 2MvPDMu9Z6iPdePTsvqJjrPtVGGvxFn5tU64gtVuh9NQ5BBfDkoLA7D/KUo2/Pcgc1AD vovxFOoej8CZCzMOa+aM+WC9Ycl/Q45MZLWmadUPY2wqi68YYIxZfMW9uiRuX2YcJa1s Mfe80gVwrFStsJS4eDLSwqFwUe0keM2BmnYbrbQLiOwHQ7D5QMGBEng9VY/TzUkBeYSL eCqg== 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-transfer-encoding; bh=pogsvtew/d387w9otdcyqYpcJQ78Ktbn8VazjcZArfU=; b=la3auTjxJ5Vukaln7fkepKLCtgeU6BxvjCo4VmmwEl7tsa+Su7yCpZ8kSEFwdx+yXZ KFiguvVtlbrsh8hN8BdJxNLxGJfmE3ezuTGIXk4xwr40q5UJgo4ZSVkPRQddOPIOlepI 0L19uUPr/J0LD6hlwPWuJepi/iqiJHy7+KvDekPUHZeXCb4V4cHvhhJ4f5uevn9wtmr2 DJYd9mNZJJcmcVSXYu3vGToYYrP4jHS7Jztswg/BQ2+uNjMNpdKJ570yihruWQLUuz1F iAFUJTTWSRrCjiUfXGxY+TkbpKZsfdTcerlN/BE8xahnNa7Q6768UwOebhNQdEAXKFDs w1Qw== X-Gm-Message-State: AKaTC01+ifTU/tjErzOz+jbmmmy3GRrMgZQkfETQUDS5i8ed9SVk6HDpaxPeiOsfRmUKY3S9vIZUzL6mhfoyzQ== X-Received: by 10.36.185.83 with SMTP id k19mr30376658iti.59.1480546872391; Wed, 30 Nov 2016 15:01:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.31.10 with HTTP; Wed, 30 Nov 2016 15:01:11 -0800 (PST) In-Reply-To: References: <244ba6a6-8fda-aca2-1947-73b7b38e9e9a@florian-schaetz.de> <3c44fe2f-d093-e8fa-8fc0-c08f3353b27a@florian-schaetz.de> <475a0960-d270-2118-d856-54c4a0e7e029@schulte.it> From: Benson Margulies Date: Wed, 30 Nov 2016 18:01:11 -0500 Message-ID: Subject: Re: Structuring bigger Maven projects To: Maven Users List , info@soebes.de Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable archived-at: Wed, 30 Nov 2016 23:01:24 -0000 An alternative, which I never fully explored, is the CI/CD approach. Don't use the release plugin. Use -D, or an extension, to set a unique, non-snapshot, version for each build, and then use version ranges for the dependencies. I built an experimental extension at my last job to automatically set a rev property from the current git commit, but it wasn't entirely satisfactory. On Wed, Nov 30, 2016 at 1:44 PM, Karl Heinz Marbaise wr= ote: > Hi, > > > > On 30/11/16 19:18, Florian Sch=C3=A4tz wrote: >>> >>> A library project to be >>> shared between multiple applications each having its own release-cycle >>> should not be part of a multi-module project used to build such an >>> application and should be an independent project with its own >>> release-cycle. >> >> >> While this is of course a good idea, especially when starting to create >> new applications, the library projects will grow with the applications >> and not independently of them. We cannot start by first investing months >> to create the perfect will-work-for-ten-years library and only then >> start coding the application that will, in the first months, only use >> 10% of all these features. So, realistically, during a development >> cycle, both the application and the library will grow... (which doesn't >> mean that we cannot separate them) >> >> Which leads me, for example, to the problem that I still want to >> automate as much as possible. I would like, for example, to click one >> button in my build server, perhaps enter some parameters and get a new >> release candidate of the libraries from the current release branch, >> update the dependency version of the application to this rc version, >> make the application an rc (from the application's release branch), >> install them both into the repository, tag the current status on git and >> deploy the rc application onto the server. >> >> Especially for bigger projects, I want to keep the amount of manual work >> needed as small as possible. As much building should be done >> automatically, if possible. And I would like not having to code a >> jenkins or maven plugin for that purpose (but of course, I would, if >> needed, no problem there). > > > > You can simply use maven-release-plugin (in Maven itself) which you can u= sed > to fully automatically create releases of your project...This will need > only a plugin in Jenkins which handles all those stuff...correctly > configured things like scm entries in your pom file tagging in Git will b= e > done as well.... > > Sometimes you might need to improve that using the versions-maven-plugin = in > combination with some pipeline steps in Jenkins...which prevents some > drawbacks of the maven-release-plugin.... > > > May be you need to think about using the Maven integration in Jenkins or > using freestyle projects or better start using pipelines ...(I often > observed performance drawbacks in relationship with Maven integration in > Jenkins)... > > > https://wiki.jenkins-ci.org/display/JENKINS/M2+Release+Plugin > https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin > > > Kind regards > Karl Heinz Marbaise > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org > For additional commands, e-mail: users-help@maven.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@maven.apache.org For additional commands, e-mail: users-help@maven.apache.org