From dd6c727ba4ba6a6e7883b69ce1c43d46747a0a07 Mon Sep 17 00:00:00 2001 From: sebastian <sebastian.stock@jku.at> Date: Tue, 23 May 2023 13:18:03 +0200 Subject: [PATCH] updated several dependencies --- build.gradle.kts | 17 +- gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 257 ++++++++++++++--------- gradlew.bat | 21 +- package.json | 40 ---- 6 files changed, 161 insertions(+), 176 deletions(-) delete mode 100644 package.json diff --git a/build.gradle.kts b/build.gradle.kts index 64696b8..1b66c8d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { // Apply the Kotlin JVM plugin to add support for Kotlin. - kotlin("jvm") version "1.4.0" + kotlin("jvm") version "1.8.0" idea // Apply the application plugin to add support for building a CLI application. application @@ -17,9 +17,6 @@ plugins { } repositories { - // Use jcenter for resolving dependencies. - jcenter() - maven("https://oss.sonatype.org/content/repositories/snapshots") } @@ -50,7 +47,7 @@ dependencies { // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api testImplementation("org.junit.jupiter","junit-jupiter-engine" , "5.7.0-M1") - implementation("de.hhu.stups:de.prob2.kernel:4.0.0-SNAPSHOT") + implementation("de.hhu.stups:de.prob2.kernel:4.12.1") implementation( "com.google.guava", "guava", "28.2-jre") @@ -75,13 +72,7 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>(){ kotlinOptions.jvmTarget = "1.8" } - -tasks.shadowJar{ - // this.version = gitVersion().toString() -} - - application { - // Define the main class for the application. - mainClassName = "b.language.server.AppKt" + mainClass.set("MainKt") // The main class of the application } + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 18328 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 RI}-*I1}`B727_xL9snw>=?wq? delta 17568 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 JFvwj7@c;orSq=aI diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 622ab64..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..1b6c787 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 5093609..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/package.json b/package.json deleted file mode 100644 index e258405..0000000 --- a/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "b-language-server", - "version": "2.0.0", - "description": "a java based language server implementing the lsp", - "main": "index.js", - "scripts": { - "install:nix": "./gradlew shadowjar", - "install:windows": "./gradlew.bat shadowjar" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/SeeBasTStick/b-language-server.git" - }, - "files": [ - "gradle/wrapper/*", - "src/*", - "package.json", - "gradlew", - "build.gradle.kts", - "gradlew.bat", - "settings.gradle.kts", - "LICENSE", - "README.md" - ], - "keywords": [ - "lsp", - "b", - "java" - ], - "author": "Sebastian Stock", - "license": "MIT", - "bugs": { - "url": "https://github.com/SeeBasTStick/b-language-server/issues" - }, - "homepage": "https://github.com/SeeBasTStick/b-language-server#readme", - - "dependencies": { - "run-script-os": "^1.1.1" - } -} -- GitLab