freeplane: convert to gradle setup hook
This commit is contained in:
Generated
+1335
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
makeBinaryWrapper,
|
||||
makeDesktopItem,
|
||||
writeText,
|
||||
jdk17,
|
||||
perl,
|
||||
gradle_7,
|
||||
which,
|
||||
}:
|
||||
@@ -25,62 +23,6 @@ let
|
||||
hash = "sha256-zEQjB57iiKVQnH8VtynpEGKNAa2e+WpqnGt6fnv5Rjs=";
|
||||
};
|
||||
|
||||
deps = stdenvNoCC.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
jdk
|
||||
perl
|
||||
gradle
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon build
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
# com/squareup/okio/okio-jvm/x.y.z/okio-jvm-x.y.z.jar is expected to exist under com/squareup/okio/okio/x.y.z/okio-x.y.z.jar
|
||||
while IFS="" read -r -d "" path; do
|
||||
ln -s "$path" ''${path//okio-jvm/okio}
|
||||
done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0)
|
||||
runHook postInstall
|
||||
'';
|
||||
# otherwise the package with a namespace starting with info/... gets moved to share/info/...
|
||||
forceShare = [ "dummy" ];
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-mWQTe/hOWGwWtsUPCZ7gle2FtskcEmJwsGQZITEc/Uc=";
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname version src;
|
||||
@@ -91,17 +33,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
gradle
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p freeplane/build
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
GRADLE_USER_HOME=$PWD \
|
||||
gradle -Dorg.gradle.java.home=${jdk} \
|
||||
--no-daemon --offline --init-script ${gradleInit} \
|
||||
-x test \
|
||||
build
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleFlags = [ "-Dorg.gradle.java.home=${jdk}" "-x" "test" ];
|
||||
|
||||
preBuild = "mkdir -p freeplane/build";
|
||||
|
||||
gradleBuildTask = "build";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
||||
Reference in New Issue
Block a user