Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jr215-000858-ED for pljava-dev@arkaria.postgresql.org; Thu, 02 Jul 2020 16:24:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jr214-0005lq-DV for pljava-dev@arkaria.postgresql.org; Thu, 02 Jul 2020 16:24:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jr213-0005lj-U9 for pljava-dev@lists.postgresql.org; Thu, 02 Jul 2020 16:24:50 +0000 Received: from anastigmatix.net ([68.171.219.55]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jr211-0008P3-IT for pljava-dev@lists.postgresql.org; Thu, 02 Jul 2020 16:24:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=anastigmatix.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:Cc:References:To:Subject:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=n3lAaOHavUwJVRLHDhrcqi9/w5DAivIMXqFZahmM8qM=; b=Gvl60oFgyUu1EtzVjUqDH+kl3s SUPtGYmIZ6Frs0+L44fj/vI9QsMacZ/EFG77CK18B2RSLlRo/P7kxxFg9U5PgB+Db6hm0NA1NmnDq kbejTwCKQnFY0G9jb8oeEz1zX3H7ZTteLpz4EE2Elzupi1L7ND1fb7rV04iozJKQYqG3lpelefcPq BdjFel0JjBr09ZCIe+doEfuDgWxdD0fsdlYTIS7s0kbhMPqlvmZ5ITcXQuFENIOYybJXY7jhFHolD UbJNXJcT/7prRpYhp5my6hdzu02NhWSoDNNR73sx9ENZKCc87/TnvCzhg+Or6+tVJpHX++pXJorsS Xc74PjZg==; Received: from [184.19.31.139] (port=38947) by bay.acenet.us with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1jr20z-000YFG-N7; Thu, 02 Jul 2020 12:24:46 -0400 Subject: Re: PL/Java new build plugin To: Kartik Ohri References: <5EF7B265.3060907@anastigmatix.net> <5EFA6C22.8060006@anastigmatix.net> <5EFC18D9.3090108@anastigmatix.net> <5EFD41B1.30009@anastigmatix.net> Cc: pljava-dev@lists.postgresql.org From: Chapman Flack X-Enigmail-Draft-Status: N1110 Message-ID: <5EFE0A4D.8060402@anastigmatix.net> Date: Thu, 2 Jul 2020 12:24:45 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-OutGoing-Spam-Status: No, score=-95.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bay.acenet.us X-AntiAbuse: Original Domain - lists.postgresql.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - anastigmatix.net X-Get-Message-Sender-Via: bay.acenet.us: authenticated_id: chap@anastigmatix.net X-Authenticated-Sender: bay.acenet.us: chap@anastigmatix.net X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 07/02/20 00:15, Kartik Ohri wrote: > I was reading about setting properties in MOJOs and found this detailed > answer . I think this impacts > how we utilise the plugin. Can you take a look? That's a good find, and probably deserves a link on the wiki page, just because I haven't ever found a better document for just laying out piece by piece what will work and what won't. It is clear why we can't use mojo-set properties in the activation of profiles (profile activation happens too early), and I remember that disappointed me greatly the first time I tried. At present, the only ways we are using mojo-set properties are ways that work, and provided we only change what mojo is setting them (our own, vs. properties-maven-plugin reading them from a file), that should not change. We do, at present, have several Maven profiles in that POM that all have to be activated different ways (command line, or system properties), which has always been kind of inconvenient. In essence, we have been using multiple profiles as a way to get nar-maven-plugin to apply the right recipes for each platform. Our own plugin should not need to be tweaked by profiles to do that; it should natively have the notion of different recipes for different platforms, and selecting the right one should be part of what it does. (Of course nar-maven-plugin does have that notion natively also, it's just that its built-in recipes aren't configurable enough for that to do what we need.) That should have a nice effect of shortening the POM too. The way the Maven profile XML notation requires twenty-four lines to say "if it's Mac OS, add --bundle_loader postgres" has never been a boon to readability. That StackOverflow write-up does mention "properties injected into the MavenSession"—rather than into any particular MavenProject—so that might be a solid hint where we should set them. Regards, -Chap