Merge pull request #238764 from wegank/maven-refactor

maven: refactor
This commit is contained in:
Weijia Wang 2023-06-20 22:11:21 +03:00 committed by GitHub
commit f4cb534254
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 50 additions and 60 deletions

View file

@ -16,7 +16,6 @@
, maven , maven
, webkitgtk_4_1 , webkitgtk_4_1
, glib-networking , glib-networking
, javaPackages
}: }:
let let
@ -24,9 +23,7 @@ let
jdk = jdk17; jdk = jdk17;
}; };
in in
(javaPackages.mavenfod.override { mavenJdk17.buildMavenPackage rec {
maven = mavenJdk17;
}) rec {
pname = "dbeaver"; pname = "dbeaver";
version = "22.2.2"; # When updating also update mvnHash version = "22.2.2"; # When updating also update mvnHash

View file

@ -1,4 +1,4 @@
{ lib, javaPackages, fetchFromGitHub, makeDesktopItem, copyDesktopItems, makeWrapper { lib, fetchFromGitHub, makeDesktopItem, copyDesktopItems, makeWrapper
, jre, maven , jre, maven
}: }:
@ -27,7 +27,7 @@ let
# Also use the commit date as a build and output timestamp. # Also use the commit date as a build and output timestamp.
mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}"; mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}";
in in
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "digital"; pname = "digital";
inherit version jre; inherit version jre;

View file

@ -5,9 +5,7 @@ let
jdk = jdk11; jdk = jdk11;
}; };
in in
(javaPackages.mavenfod.override { mavenJdk11.buildMavenPackage rec {
maven = mavenJdk11;
}) rec {
pname = "gephi"; pname = "gephi";
version = "0.10.1"; version = "0.10.1";

View file

@ -1,19 +0,0 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
source $stdenv/setup
unpackPhase
mkdir -p $out/maven
cp -r $name/* $out/maven
makeWrapper $out/maven/bin/mvn $out/bin/mvn --set-default JAVA_HOME "$jdk"
makeWrapper $out/maven/bin/mvnDebug $out/bin/mvnDebug --set-default JAVA_HOME "$jdk"
# Add the maven-axis and JIRA plugin by default when using maven 1.x
if [ -e $out/maven/bin/maven ]
then
export OLD_HOME=$HOME
export HOME=.
$out/maven/bin/maven plugin:download -DgroupId=maven-plugins -DartifactId=maven-axis-plugin -Dversion=0.7
export HOME=OLD_HOME
fi

View file

@ -1,21 +1,43 @@
{ lib, stdenv, fetchurl, jdk, makeWrapper }: { lib
, stdenvNoCC
, fetchurl
, jdk
, makeWrapper
, callPackage
}:
assert jdk != null; assert jdk != null;
stdenv.mkDerivation rec { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "apache-maven"; pname = "apache-maven";
version = "3.9.2"; version = "3.9.2";
builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz"; url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz";
sha256 = "sha256-gJ7zIgxtF5GVwGwyTLmm002Oy6Vmxc/Y64MWe8A0EX0="; hash = "sha256-gJ7zIgxtF5GVwGwyTLmm002Oy6Vmxc/Y64MWe8A0EX0=";
}; };
sourceRoot = ".";
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
inherit jdk; installPhase = ''
runHook preInstall
mkdir -p $out/maven
cp -r ${finalAttrs.pname}-${finalAttrs.version}/* $out/maven
makeWrapper $out/maven/bin/mvn $out/bin/mvn \
--set-default JAVA_HOME "${jdk}"
makeWrapper $out/maven/bin/mvnDebug $out/bin/mvnDebug \
--set-default JAVA_HOME "${jdk}"
runHook postInstall
'';
passthru.buildMavenPackage = callPackage ./build-package.nix {
maven = finalAttrs.finalPackage;
};
meta = with lib; { meta = with lib; {
mainProgram = "mvn"; mainProgram = "mvn";
@ -25,4 +47,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ cko ]; maintainers = with maintainers; [ cko ];
}; };
} })

View file

@ -1,5 +1,4 @@
{ lib { lib
, javaPackages
, maven , maven
, jre , jre
, makeWrapper , makeWrapper
@ -9,7 +8,7 @@
, ensureNewerSourcesHook , ensureNewerSourcesHook
}: }:
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "schemaspy"; pname = "schemaspy";
version = "6.1.1-SNAPSHOT"; version = "6.1.1-SNAPSHOT";

View file

@ -1,13 +1,11 @@
{ lib, javaPackages, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }: { lib, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:
let let
mavenJdk8 = maven.override { mavenJdk8 = maven.override {
jdk = jdk8; jdk = jdk8;
}; };
in in
(javaPackages.mavenfod.override { mavenJdk8.buildMavenPackage rec {
maven = mavenJdk8;
}) rec {
pname = "global-platform-pro"; pname = "global-platform-pro";
version = "18.09.14"; version = "18.09.14";
GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty

View file

@ -1,4 +1,4 @@
{ lib, javaPackages, stdenv, fetchFromGitHub { lib, stdenv, fetchFromGitHub
, jdk, maven , jdk, maven
, makeWrapper , makeWrapper
}: }:
@ -10,7 +10,7 @@ let
else if stdenv.isWindows then "windows" else if stdenv.isWindows then "windows"
else throw "unsupported platform"; else throw "unsupported platform";
in in
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "java-language-server"; pname = "java-language-server";
version = "0.2.38"; version = "0.2.38";

View file

@ -1,12 +1,10 @@
{ coreutils { coreutils
, fetchFromGitHub , fetchFromGitHub
, gnused , gnused
, javaPackages
, lib , lib
, maven , maven
, makeWrapper , makeWrapper
, openjdk , openjdk
, stdenv
}: }:
let let
@ -22,7 +20,8 @@ let
# launch4j downloads and runs a native binary during the package phase. # launch4j downloads and runs a native binary during the package phase.
patches = [ ./no-launch4j.patch ]; patches = [ ./no-launch4j.patch ];
in javaPackages.mavenfod { in
maven.buildMavenPackage {
pname = "forge-mtg"; pname = "forge-mtg";
inherit version src patches; inherit version src patches;

View file

@ -1,6 +1,6 @@
{ lib, javaPackages, fetchFromGitHub, maven, makeWrapper, jdk }: { lib, fetchFromGitHub, maven, makeWrapper, jdk }:
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "exhibitor"; pname = "exhibitor";
version = "1.5.6"; version = "1.5.6";

View file

@ -1,11 +1,9 @@
{ lib { lib
, stdenv
, fetchFromGitHub , fetchFromGitHub
, maven , maven
, javaPackages
}: }:
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "scim-for-keycloak"; pname = "scim-for-keycloak";
version = "kc-15-b2"; # When updating also update mvnHash version = "kc-15-b2"; # When updating also update mvnHash

View file

@ -1,11 +1,9 @@
{ lib { lib
, stdenv
, fetchFromGitHub , fetchFromGitHub
, maven , maven
, javaPackages
}: }:
javaPackages.mavenfod rec { maven.buildMavenPackage {
pname = "scim-keycloak-user-storage-spi"; pname = "scim-keycloak-user-storage-spi";
version = "unstable-2023-04-12"; version = "unstable-2023-04-12";

View file

@ -1,10 +1,10 @@
{ lib, javaPackages, fetchFromGitHub { lib, fetchFromGitHub
, autoPatchelfHook , autoPatchelfHook
, fuse3 , fuse3
, maven, jdk, makeShellWrapper, glib, wrapGAppsHook , maven, jdk, makeShellWrapper, glib, wrapGAppsHook
}: }:
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "cryptomator"; pname = "cryptomator";
version = "1.8.0"; version = "1.8.0";

View file

@ -1,6 +1,6 @@
{ lib, javaPackages, fetchFromGitHub, jre, makeWrapper, maven }: { lib, fetchFromGitHub, jre, makeWrapper, maven }:
javaPackages.mavenfod rec { maven.buildMavenPackage rec {
pname = "jd-cli"; pname = "jd-cli";
version = "1.2.1"; version = "1.2.1";

View file

@ -8,7 +8,7 @@ let
openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { }; openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { }; openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { };
mavenfod = callPackage ../development/java-modules/maven-fod.nix { }; mavenfod = pkgs.maven.buildMavenPackage;
in { in {
inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19; inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19;