From unknown Thu Jun 19 14:13:28 2025 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: Sun, 28 Jun 2020 01:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 42100 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42100@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159330851724058 (code B ref -1); Sun, 28 Jun 2020 01:42:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Jun 2020 01:41:57 +0000 Received: from localhost ([127.0.0.1]:44877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpMKT-0006Fx-HD for submit@debbugs.gnu.org; Sat, 27 Jun 2020 21:41:57 -0400 Received: from lists.gnu.org ([209.51.188.17]:50682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpMKR-0006Fq-Jd for submit@debbugs.gnu.org; Sat, 27 Jun 2020 21:41:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpMKR-0006uZ-Bo for guix-patches@gnu.org; Sat, 27 Jun 2020 21:41:55 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:39964) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpMKO-0002Ja-M0 for guix-patches@gnu.org; Sat, 27 Jun 2020 21:41:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 1b9f8ea9 for ; Sun, 28 Jun 2020 01:41:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=mWL lWzneOaI+/dXrjlDkHgX3HHnw+GqfebWtlZ+zEsc=; b=T0R5B6yu3gbUan9dYhX kuRQYyJsP33IenvfVYmIa8RmQKn6jXWowuodQgiFBQn6BC7XytLKMKYZnqiCxtFp K0cBbdxEuwxwij8CppP4zpyrM+QbWCDZ0tAfsXD7mcpDU7q3uAzKBVYP8gMasWpu mP+SGrDMYlLPytF5FFV2ad9FI3UoN0CpnLbMDMFHMG0aQdVEts6jpIs4MjKWeoAX kCbMn8LuI5AWB6UlwlZ7Lddj0ZPjrl5E5hqF+/QsSe87bB5e/m7w8ZtcTne/GdZO SqSAWLrgIh4eAgonpHI/f9BvlSla+Sv4K95Ga1Ct/S0hUnhAEU6Nioz/1BLae9xe g0g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 85e50007 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Sun, 28 Jun 2020 01:41:45 +0000 (UTC) Date: Sun, 28 Jun 2020 03:41:35 +0200 From: Julien Lepiller Message-ID: <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: multipart/mixed; boundary="MP_/x.FUuJ6jztuQojqTpR0RL/d" Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/x.FUuJ6jztuQojqTpR0RL/d Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Guix! 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 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. Here is a summary of the changes: guix: java-utils: Add Maven-related phases. 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. gnu: java-asm: Remove dependency on bnd libraries. ... gnu: java-jarjar: unbundle maven-plugin-api. 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. gnu: java-junit: Install from pom file. 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. gnu: Add apache-parent-pom-13. ... gnu: Add maven-components-parent-pom-21. 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. gnu: java-commons-lang3: Update to 3.9. ... gnu: maven: Install from pom file. These patches update some dependencies of maven and the maven build system, and convert them so they are installed in the maven repository structure. gnu: maven-shared-utils: Fix /bin/sh invocation. gnu: java-modello-core: Propagate inputs. These two patches implement fixes that are required later on. gnu: Add java-plexus-digest. ... gnu: Add maven-jar-plugin. 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. guix: Add maven-build-system. The actual commit that adds the maven-build-system :) 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). 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... 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. Hope you enjoy! --MP_/x.FUuJ6jztuQojqTpR0RL/d Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=test.scm (use-modules (guix build-system maven) (guix packages) ((guix licenses) #:prefix license:) (guix git-download)) (let ((commit "775960a985785913fb85428979d253c0b0e1d774") (version "1.0-SNAPSHOT") (revision "0")) (package (name "maven-test") (version (git-version version revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://framagit.org/tyreunom/maven-example-project") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "056p1kc4dpdp8rzxrbp9y0z278hjzpqkrjq63wgcyi0ns5jbc5nv")))) (build-system maven-build-system) (home-page "") (synopsis "") (description "") ;; Note: this package is generated automatically by maven, which is under asl2.0 (license license:asl2.0))) --MP_/x.FUuJ6jztuQojqTpR0RL/d-- From unknown Thu Jun 19 14:13:28 2025 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 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 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! From unknown Thu Jun 19 14:13:28 2025 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: Fri, 17 Jul 2020 02:25: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.159495269712137 (code B ref 42100); Fri, 17 Jul 2020 02:25:02 +0000 Received: (at 42100) by debbugs.gnu.org; 17 Jul 2020 02:24:57 +0000 Received: from localhost ([127.0.0.1]:56349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwG3V-00039g-Hn for submit@debbugs.gnu.org; Thu, 16 Jul 2020 22:24:57 -0400 Received: from lepiller.eu ([89.234.186.109]:45450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwG3Q-00039T-Jp for 42100@debbugs.gnu.org; Thu, 16 Jul 2020 22:24:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id b4ad1994 for <42100@debbugs.gnu.org>; Fri, 17 Jul 2020 02:24:50 +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=bYjyc+e+lfrt N9W9tqyynnIwvyGfli4dgDzQXMUjxFE=; b=d6RwA8ZWrg9Q+L+lg52WzKt2KB12 oRrGIE0+NPkrmP5sMWh629qC/UVpZwM1oD7Z1xOUZHLyqAPD0nEQbB2bd61M1QiV zrHthaMdRFIGj2Tpaai+BALy+hOGfc+oABtpskv17D2lrjvzHLkeNFqHmRzCahc8 5nkUabA2BWaDqxmekVSJs4dP/sy0oOLTkmpkYosilP+FF7aG6EqUMvP0HUBZeksP jTyYhbRw/4FUXxyhPd7dxDuk+xu83tk8zBIPEuoB1srM4Xsl67lZSuwuXrWKEG85 4Caax8xEM0OWbtqqE6IOuuRacDSPkqG3xw25n6ichrTGhsxZVcSai8RjvA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id cb003765 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42100@debbugs.gnu.org>; Fri, 17 Jul 2020 02:24:49 +0000 (UTC) Date: Fri, 17 Jul 2020 04:24:17 +0200 From: Julien Lepiller Message-ID: <20200717042417.02449f0b@tachikoma.lepiller.eu> In-Reply-To: <20200706210857.6b401c03@tachikoma.lepiller.eu> References: <20200628034135.2c7b9d9b@tachikoma.lepiller.eu> <20200706210857.6b401c03@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 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Le Mon, 6 Jul 2020 21:09:27 +0200, Julien Lepiller a =C3=A9crit : > Friendly ping :) >=20 > If anyone wants to review, but needs more time, please say so. > Otherwise, I'll push next week! >=20 > Le Sun, 28 Jun 2020 03:41:35 +0200, > Julien Lepiller a =C3=A9crit : >=20 Since there was no answer, I went ahead and pushed. Since there are only ~250 packages that use the ant-build-system, I pushed to master. I hope my calculations are right. Pushed as 3d3bc413b4288fbf45a61fb2136387878375ebef to 55b90c90532cd50617fb3dd56173f96de1cbe0b3 (111 commits). From unknown Thu Jun 19 14:13:28 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Julien Lepiller Subject: bug#42100: closed (Re: [bug#42100] [PATCH] Add maven-build-system.) Message-ID: References: <20200717042519.45f289dd@tachikoma.lepiller.eu> <20200628034135.2c7b9d9b@tachikoma.lepiller.eu> X-Gnu-PR-Message: they-closed 42100 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 42100@debbugs.gnu.org Date: Fri, 17 Jul 2020 02:26:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1594952761-12260-1" This is a multi-part message in MIME format... ------------=_1594952761-12260-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #42100: [PATCH] Add maven-build-system. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 42100@debbugs.gnu.org. --=20 42100: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D42100 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1594952761-12260-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 42100-done) by debbugs.gnu.org; 17 Jul 2020 02:25:29 +0000 Received: from localhost ([127.0.0.1]:56353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwG40-0003Ax-SJ for submit@debbugs.gnu.org; Thu, 16 Jul 2020 22:25:29 -0400 Received: from lepiller.eu ([89.234.186.109]:45456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwG3y-0003Ao-Uf for 42100-done@debbugs.gnu.org; Thu, 16 Jul 2020 22:25:27 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 45612d41 for <42100-done@debbugs.gnu.org>; Fri, 17 Jul 2020 02:25:26 +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=bHdUOc8lVWvV 0KOZ3X9CMrfcs4PltL2f5UyKgHkW09c=; b=eQzabuYN732VIIM8skIH49otROEm WeZMEJ9un4ikMCA+D3NpNsLJDzIoOkgjz2gEwzSSoCn7ipKeqz1nUp7d8Jz22zXx lKxyUDR5wVTxr4Wa2fedbUb5k9TXQB3gqEhIvxYzKD2sQKzldQq5b/tlowzGLBFP hd87rpx9t0oKq8+zJSYgN+LQKnMZe5ZoL8xCLOEgoiwhAxn3Vq9HpfakCTvAlwXc 2AM2deDWIEiGcj6JIsk38Dp9xUDdqZIhsfgJDg/M3l5HRFQTV4bm7gL7amCTxU0c 8+WiRmb78GaZG0ZhlvipiXu8j2XlM1JbULRFRWX3/UeievKYLEC2Hj/9OQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id bdcf4ab5 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42100-done@debbugs.gnu.org>; Fri, 17 Jul 2020 02:25:25 +0000 (UTC) Date: Fri, 17 Jul 2020 04:25:19 +0200 From: Julien Lepiller To: 42100-done@debbugs.gnu.org Subject: Re: [bug#42100] [PATCH] Add maven-build-system. Message-ID: <20200717042519.45f289dd@tachikoma.lepiller.eu> In-Reply-To: <20200706210857.6b401c03@tachikoma.lepiller.eu> References: <20200628034135.2c7b9d9b@tachikoma.lepiller.eu> <20200706210857.6b401c03@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=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42100-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) And closing. ------------=_1594952761-12260-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Jun 2020 01:41:57 +0000 Received: from localhost ([127.0.0.1]:44877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpMKT-0006Fx-HD for submit@debbugs.gnu.org; Sat, 27 Jun 2020 21:41:57 -0400 Received: from lists.gnu.org ([209.51.188.17]:50682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpMKR-0006Fq-Jd for submit@debbugs.gnu.org; Sat, 27 Jun 2020 21:41:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpMKR-0006uZ-Bo for guix-patches@gnu.org; Sat, 27 Jun 2020 21:41:55 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:39964) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpMKO-0002Ja-M0 for guix-patches@gnu.org; Sat, 27 Jun 2020 21:41:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 1b9f8ea9 for ; Sun, 28 Jun 2020 01:41:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=mWL lWzneOaI+/dXrjlDkHgX3HHnw+GqfebWtlZ+zEsc=; b=T0R5B6yu3gbUan9dYhX kuRQYyJsP33IenvfVYmIa8RmQKn6jXWowuodQgiFBQn6BC7XytLKMKYZnqiCxtFp K0cBbdxEuwxwij8CppP4zpyrM+QbWCDZ0tAfsXD7mcpDU7q3uAzKBVYP8gMasWpu mP+SGrDMYlLPytF5FFV2ad9FI3UoN0CpnLbMDMFHMG0aQdVEts6jpIs4MjKWeoAX kCbMn8LuI5AWB6UlwlZ7Lddj0ZPjrl5E5hqF+/QsSe87bB5e/m7w8ZtcTne/GdZO SqSAWLrgIh4eAgonpHI/f9BvlSla+Sv4K95Ga1Ct/S0hUnhAEU6Nioz/1BLae9xe g0g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 85e50007 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Sun, 28 Jun 2020 01:41:45 +0000 (UTC) Date: Sun, 28 Jun 2020 03:41:35 +0200 From: Julien Lepiller To: guix-patches@gnu.org Subject: [PATCH] Add maven-build-system. Message-ID: <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: multipart/mixed; boundary="MP_/x.FUuJ6jztuQojqTpR0RL/d" Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/x.FUuJ6jztuQojqTpR0RL/d Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Guix! 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 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. Here is a summary of the changes: guix: java-utils: Add Maven-related phases. 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. gnu: java-asm: Remove dependency on bnd libraries. ... gnu: java-jarjar: unbundle maven-plugin-api. 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. gnu: java-junit: Install from pom file. 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. gnu: Add apache-parent-pom-13. ... gnu: Add maven-components-parent-pom-21. 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. gnu: java-commons-lang3: Update to 3.9. ... gnu: maven: Install from pom file. These patches update some dependencies of maven and the maven build system, and convert them so they are installed in the maven repository structure. gnu: maven-shared-utils: Fix /bin/sh invocation. gnu: java-modello-core: Propagate inputs. These two patches implement fixes that are required later on. gnu: Add java-plexus-digest. ... gnu: Add maven-jar-plugin. 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. guix: Add maven-build-system. The actual commit that adds the maven-build-system :) 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). 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... 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. Hope you enjoy! --MP_/x.FUuJ6jztuQojqTpR0RL/d Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=test.scm (use-modules (guix build-system maven) (guix packages) ((guix licenses) #:prefix license:) (guix git-download)) (let ((commit "775960a985785913fb85428979d253c0b0e1d774") (version "1.0-SNAPSHOT") (revision "0")) (package (name "maven-test") (version (git-version version revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://framagit.org/tyreunom/maven-example-project") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "056p1kc4dpdp8rzxrbp9y0z278hjzpqkrjq63wgcyi0ns5jbc5nv")))) (build-system maven-build-system) (home-page "") (synopsis "") (description "") ;; Note: this package is generated automatically by maven, which is under asl2.0 (license license:asl2.0))) --MP_/x.FUuJ6jztuQojqTpR0RL/d-- ------------=_1594952761-12260-1--