From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 2GC0CBV3A18VdQAA0tVLHw (envelope-from ) for ; Mon, 06 Jul 2020 19:10:13 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id UKOUBBV3A1+lEAAAB5/wlQ (envelope-from ) for ; Mon, 06 Jul 2020 19:10:13 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 34F3C940ACE for ; Mon, 6 Jul 2020 19:10:12 +0000 (UTC) Received: from localhost ([::1]:55462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsWVF-0000Gz-MG for larch@yhetil.org; Mon, 06 Jul 2020 15:10:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsWV8-0000Gq-PG for guix-patches@gnu.org; Mon, 06 Jul 2020 15:10:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jsWV8-0003RA-GA for guix-patches@gnu.org; Mon, 06 Jul 2020 15:10:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jsWV8-0006mR-97 for guix-patches@gnu.org; Mon, 06 Jul 2020 15:10:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42100] [PATCH] Add maven-build-system. Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 06 Jul 2020 19:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42100 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42100@debbugs.gnu.org Received: via spool by 42100-submit@debbugs.gnu.org id=B42100.159406258026031 (code B ref 42100); Mon, 06 Jul 2020 19:10:02 +0000 Received: (at 42100) by debbugs.gnu.org; 6 Jul 2020 19:09:40 +0000 Received: from localhost ([127.0.0.1]:34895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jsWUm-0006lm-DZ for submit@debbugs.gnu.org; Mon, 06 Jul 2020 15:09:40 -0400 Received: from lepiller.eu ([89.234.186.109]:38890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jsWUj-0006lX-Ti for 42100@debbugs.gnu.org; Mon, 06 Jul 2020 15:09:38 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id ed8d2422 for <42100@debbugs.gnu.org>; Mon, 6 Jul 2020 19:09:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=HF7hJTjfI7p6 pAy5H48PeiZv8yNTXPNVjV/u85C4ZaA=; b=ZPbeFNwVTvy8amaP43tA4krTHFnh MVVcOWANZe03YLJMtCvtCnMZ3pO7zrNxNacuRpSXRPhjLOE9qunjKJRaqg9OB/a5 48O4SDyo46yWTXHfOiOWe6AvH97/ztVG+hsOe20IjGj7l09ErWbfjiezg3QtsMpC 9xaW1nMVaYqErNXShJ3v1o3CxFhOt3DeIn5MtpyiKgFw8rL57afXZ7TharWFhplN ailW20ISsoiKKU41ThIjwozYL0ohVpQI4R879V3SPROWoIo2R9HAjAhxucXWbdp0 th6wbKCxcttqQDIG8VLsS2VTIGdZ5oAKLcQSoMBtw7B7SO1loPqwzPfQjw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id d3e5f66a (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42100@debbugs.gnu.org>; Mon, 6 Jul 2020 19:09:35 +0000 (UTC) Date: Mon, 6 Jul 2020 21:09:27 +0200 From: Julien Lepiller Message-ID: <20200706210857.6b401c03@tachikoma.lepiller.eu> In-Reply-To: <20200628034135.2c7b9d9b@tachikoma.lepiller.eu> References: <20200628034135.2c7b9d9b@tachikoma.lepiller.eu> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=lepiller.eu header.s=dkim header.b=ZPbeFNwV; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: i+kap6F2rUGi Friendly ping :) If anyone wants to review, but needs more time, please say so. Otherwise, I'll push next week! Le Sun, 28 Jun 2020 03:41:35 +0200, Julien Lepiller a =C3=A9crit : > Hi Guix! >=20 > This patch series adds the maven-build-system, at last! You can find > the patches on the wip-maven-build-system branch of my repository, at > https://framagit.org/tyreunom/guix/-/tree/wip-maven-build-system >=20 > I haven't sent the patches on this mailing because there are ~100 of > them. If you prefer, I'll send the series with git send-patch. >=20 > Here is a summary of the changes: >=20 > guix: java-utils: Add Maven-related phases. >=20 > This patch adds some functionalities to guix/build/java-utils.scm, in > particular the install-from-pom and install-pom-file functions that > are phases you can use instead of the install phase. As their name > suggests, they install a package from a pom.xml file to a maven > repository directory structure in lib/m2. install-pom-file only > installs a single pom.xml file, instead of the file and its jar. >=20 > gnu: java-asm: Remove dependency on bnd libraries. > ... > gnu: java-jarjar: unbundle maven-plugin-api. >=20 > This small series of patches improves the bootstrap of java-junit by > not relying on bundled libraries (binaries), by enabling tests in > junit and by reducing the number of dependencies that must be built > before junit. Junit is now fully bootstrapped. >=20 > gnu: java-junit: Install from pom file. >=20 > This patch converts junit and its dependencies to the maven repository > structure. It also takes care of changing junit's dependents that had > a hardcoded path to the junit jar file. >=20 > gnu: Add apache-parent-pom-13. > ... > gnu: Add maven-components-parent-pom-21. >=20 > This series adds many parent pom packages to a new file, > maven-parent-pom.scm. A parent pom is a single pom.xml file that > contains information about a project. Actual packages can then > reference these files to inherit some or all of these information. >=20 > gnu: java-commons-lang3: Update to 3.9. > ... > gnu: maven: Install from pom file. >=20 > These patches update some dependencies of maven and the maven build > system, and convert them so they are installed in the maven repository > structure. >=20 > gnu: maven-shared-utils: Fix /bin/sh invocation. > gnu: java-modello-core: Propagate inputs. >=20 > These two patches implement fixes that are required later on. >=20 > gnu: Add java-plexus-digest. > ... > gnu: Add maven-jar-plugin. >=20 > This patch series adds more packages that are maven plugins or their > dependencies. Maven doesn't do anything by itself, it's simply a > dependency/lifecycle manager. It requires plugins to actually do > things such as compiling, creating a jar archive, installing, testing, > etc... This is what these patches implement. >=20 > guix: Add maven-build-system. >=20 > The actual commit that adds the maven-build-system :) >=20 > In the end, the maven-build-system only has the very basic plugins by > default, but it is able to compile, test and install a simple hello > world example application, generated by maven (see test.scm attached). >=20 > Next step is building the maven-plugin-plugin, which is the plugin > that builds other plugins. Currently the plugins are built with a > custom plugin.xml generator that uses a buggy java parser, so I don't > want to rely on it for other plugins. Note that we can't use the > maven-plugin-plugin to build any of the current plugins, since they > are needed to build themselves... >=20 > I also noticed that our maven is acting weird wrt lifecycles: it seems > to be doing some test-related work during the build step, and rebuilds > in the test and install steps. This is weird, but I'm not sure how to > fix. Re-building maven with the maven-build-system might give as a > better version of maven. I don't really want to investigate that now, > that's why I'm sending the patch series anyway. >=20 > Hope you enjoy!