sonarlint-ls: update 3.14.1 -> 3.17.0 and fix test (#390097)
This commit is contained in:
@@ -6,34 +6,27 @@
|
||||
jdk17,
|
||||
makeWrapper,
|
||||
writeShellApplication,
|
||||
runCommand,
|
||||
sonarlint-ls,
|
||||
curl,
|
||||
pcre,
|
||||
common-updater-scripts,
|
||||
jq,
|
||||
gnused,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "sonarlint-ls";
|
||||
version = "3.14.1.75775";
|
||||
version = "3.17.0.75948";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SonarSource";
|
||||
repo = "sonarlint-language-server";
|
||||
rev = version;
|
||||
hash = "sha256-QXBSdXpkhqcvfjihcWwy4oCjTMmbAJRZG1T66sa8T4U=";
|
||||
hash = "sha256-9ZZPAkfYnHYaPFGo/WfOhUIZ+Aq7SNsVmyXgDwe68gk=";
|
||||
};
|
||||
|
||||
# Replaces unavailable versions with available ones in maven central. Can be
|
||||
# removed again if
|
||||
# https://github.com/SonarSource/sonarlint-language-server/pull/427 is
|
||||
# merged.
|
||||
patches = [ ./sonar-analyzers-versions.patch ];
|
||||
|
||||
mvnJdk = jdk17;
|
||||
mvnHash = "sha256-SKkOf3f9Ze3Rm6i2uYbFkvSnnEySARvaoiAS1e2kFi0=";
|
||||
mvnHash = "sha256-tsYkp6Zr9gCgb0l6vQViSB7zcbf6JX+JwO4ZYqeG52c=";
|
||||
|
||||
# Disables failing tests which either need network access or are flaky.
|
||||
mvnParameters = lib.escapeShellArgs [
|
||||
@@ -56,7 +49,6 @@ maven.buildMavenPackage rec {
|
||||
|
||||
makeWrapper ${jre_headless}/bin/java $out/bin/sonarlint-ls \
|
||||
--add-flags "-jar $out/share/sonarlint-ls.jar" \
|
||||
--add-flags "-stdio" \
|
||||
--add-flags "-analyzers $(ls -1 $out/share/plugins | tr '\n' ' ')"
|
||||
|
||||
runHook postInstall
|
||||
@@ -64,51 +56,47 @@ maven.buildMavenPackage rec {
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
sonarlint-ls-starts-successfully = runCommand "${pname}-test" { } ''
|
||||
${sonarlint-ls}/bin/sonarlint-ls > $out
|
||||
cat $out | grep "SonarLint backend started"
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
preVersionCheck = "export version=${lib.versions.majorMinor version}";
|
||||
versionCheckProgramArg = "-V";
|
||||
|
||||
passthru.updateScript =
|
||||
let
|
||||
pkgFile = builtins.toString ./package.nix;
|
||||
in
|
||||
lib.getExe (writeShellApplication {
|
||||
name = "update-${pname}";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
pcre
|
||||
common-updater-scripts
|
||||
jq
|
||||
gnused
|
||||
];
|
||||
text = ''
|
||||
if [ -z "''${GITHUB_TOKEN:-}" ]; then
|
||||
echo "no GITHUB_TOKEN provided - you could meet API request limiting" >&2
|
||||
fi
|
||||
|
||||
LATEST_TAG=$(curl -H "Accept: application/vnd.github+json" \
|
||||
''${GITHUB_TOKEN:+-H "Authorization: bearer $GITHUB_TOKEN"} \
|
||||
-Lsf https://api.github.com/repos/${src.owner}/${src.repo}/tags | \
|
||||
jq -r '[.[] | select(.name | test("^[0-9]"))] | sort_by(.name | split(".") |
|
||||
map(tonumber)) | reverse | .[0].name')
|
||||
update-source-version ${pname} "$LATEST_TAG"
|
||||
sed -i '0,/mvnHash *= *"[^"]*"/{s/mvnHash = "[^"]*"/mvnHash = ""/}' ${pkgFile}
|
||||
|
||||
echo -e "\nFetching all mvn dependencies to calculate the mvnHash. This may take a while ..."
|
||||
nix-build -A ${pname}.fetchedMavenDeps 2> ${pname}-stderr.log || true
|
||||
|
||||
NEW_MVN_HASH=$(grep "got:" ${pname}-stderr.log | awk '{print ''$2}')
|
||||
rm ${pname}-stderr.log
|
||||
# escaping double quotes looks ugly but is needed for variable substitution
|
||||
# use # instead of / as separator because the sha256 might contain the / character
|
||||
sed -i "0,/mvnHash *= *\"[^\"]*\"/{s#mvnHash = \"[^\"]*\"#mvnHash = \"$NEW_MVN_HASH\"#}" ${pkgFile}
|
||||
'';
|
||||
};
|
||||
|
||||
updateScript =
|
||||
let
|
||||
pkgFile = builtins.toString ./package.nix;
|
||||
in
|
||||
lib.getExe (writeShellApplication {
|
||||
name = "update-${pname}";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
pcre
|
||||
common-updater-scripts
|
||||
jq
|
||||
gnused
|
||||
];
|
||||
text = ''
|
||||
if [ -z "''${GITHUB_TOKEN:-}" ]; then
|
||||
echo "no GITHUB_TOKEN provided - you could meet API request limiting" >&2
|
||||
fi
|
||||
|
||||
LATEST_TAG=$(curl -H "Accept: application/vnd.github+json" \
|
||||
''${GITHUB_TOKEN:+-H "Authorization: bearer $GITHUB_TOKEN"} \
|
||||
-Lsf https://api.github.com/repos/${src.owner}/${src.repo}/tags | \
|
||||
jq -r '[.[] | select(.name | test("^[0-9]"))] | sort_by(.name | split(".") |
|
||||
map(tonumber)) | reverse | .[0].name')
|
||||
update-source-version ${pname} "$LATEST_TAG"
|
||||
sed -i '0,/mvnHash *= *"[^"]*"/{s/mvnHash = "[^"]*"/mvnHash = ""/}' ${pkgFile}
|
||||
|
||||
echo -e "\nFetching all mvn dependencies to calculate the mvnHash. This may take a while ..."
|
||||
nix-build -A ${pname}.fetchedMavenDeps 2> ${pname}-stderr.log || true
|
||||
|
||||
NEW_MVN_HASH=$(grep "got:" ${pname}-stderr.log | awk '{print ''$2}')
|
||||
rm ${pname}-stderr.log
|
||||
# escaping double quotes looks ugly but is needed for variable substitution
|
||||
# use # instead of / as separator because the sha256 might contain the / character
|
||||
sed -i "0,/mvnHash *= *\"[^\"]*\"/{s#mvnHash = \"[^\"]*\"#mvnHash = \"$NEW_MVN_HASH\"#}" ${pkgFile}
|
||||
'';
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
meta = {
|
||||
description = "Sonarlint language server";
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index c020fd1..fd4146b 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -34,10 +34,10 @@
|
||||
<sonar.python.version>4.17.0.14845</sonar.python.version>
|
||||
<sonar.html.version>3.16.0.5274</sonar.html.version>
|
||||
<sonar.xml.version>2.10.0.4108</sonar.xml.version>
|
||||
- <sonar.text.version>2.18.0.4812</sonar.text.version>
|
||||
+ <sonar.text.version>2.18.0.4866</sonar.text.version>
|
||||
<sonar.go.version>1.15.0.4655</sonar.go.version>
|
||||
<sonar.iac.version>1.27.0.9518</sonar.iac.version>
|
||||
- <sonar.csharp.version>10.2.0.103721</sonar.csharp.version>
|
||||
+ <sonar.csharp.version>10.2.0.105762</sonar.csharp.version>
|
||||
<sonarlint.omnisharp.version>1.25.0.100242</sonarlint.omnisharp.version>
|
||||
<gitRepositoryName>sonarlint-language-server</gitRepositoryName>
|
||||
<!-- Release: enable publication to Bintray -->
|
||||
Reference in New Issue
Block a user