diff --git a/app/build.gradle b/app/build.gradle index 93ee8ca..bc2c24f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.m2049r.wowwallet" minSdkVersion 21 targetSdkVersion 30 - versionCode 100103 - versionName "2.0.1.3 'Puginarug'" + versionCode 100400 + versionName "2.0.4.0 'Puginarug'" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { @@ -131,7 +131,7 @@ dependencies { implementation 'me.dm7.barcodescanner:zxing:1.9.8' implementation "com.squareup.okhttp3:okhttp:4.9.0" - implementation "com.burgstaller:okhttp-digest:2.1" + implementation "io.github.rburgst:okhttp-digest:2.5" implementation "com.jakewharton.timber:timber:4.7.1" implementation 'com.nulab-inc:zxcvbn:1.3.0' diff --git a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java index 1a660d6..539095a 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java +++ b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java @@ -44,6 +44,7 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import com.google.android.material.checkbox.MaterialCheckBox; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.m2049r.xmrwallet.data.DefaultNodes; import com.m2049r.xmrwallet.data.Node; @@ -554,12 +555,18 @@ public class LoginActivity extends BaseActivity } }; - AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); - builder.setMessage(getString(R.string.delete_alert_message)) + final AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); + final AlertDialog confirm = builder.setMessage(getString(R.string.delete_alert_message)) .setTitle(walletName) .setPositiveButton(getString(R.string.delete_alert_yes), dialogClickListener) .setNegativeButton(getString(R.string.delete_alert_no), dialogClickListener) + .setView(View.inflate(builder.getContext(), R.layout.checkbox_confirm, null)) .show(); + confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false); + final MaterialCheckBox checkBox = confirm.findViewById(R.id.checkbox); + checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> { + confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(isChecked); + }); } @Override @@ -579,12 +586,18 @@ public class LoginActivity extends BaseActivity } }; - AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); - builder.setMessage(getString(R.string.deletecache_alert_message, walletName)) + final AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); + final AlertDialog confirm = builder.setMessage(getString(R.string.deletecache_alert_message)) .setTitle(walletName) .setPositiveButton(getString(R.string.delete_alert_yes), dialogClickListener) .setNegativeButton(getString(R.string.delete_alert_no), dialogClickListener) + .setView(View.inflate(builder.getContext(), R.layout.checkbox_confirm, null)) .show(); + confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false); + final MaterialCheckBox checkBox = confirm.findViewById(R.id.checkbox); + checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> { + confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(isChecked); + }); } void reloadWalletList() { diff --git a/app/src/main/res/layout/checkbox_confirm.xml b/app/src/main/res/layout/checkbox_confirm.xml new file mode 100644 index 0000000..1ff959b --- /dev/null +++ b/app/src/main/res/layout/checkbox_confirm.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/app/src/main/res/values-cat/strings.xml b/app/src/main/res/values-cat/strings.xml index beca823..249e7e4 100644 --- a/app/src/main/res/values-cat/strings.xml +++ b/app/src/main/res/values-cat/strings.xml @@ -417,7 +417,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ce871a7..00ec6c3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -266,7 +266,7 @@ Nein, doch nicht! Details - Das Wallet wird gelöscht! + Das Wallet wird gelöscht. Dein Geld wird für immer verloren sein, außer wenn Du den Seed oder ein funktionierendes Backup hast um es wiederherzustellen. Ja, mach das! Nein, danke! diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 9a85e0a..fdd56b6 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -419,7 +419,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 26f9298..e2b30af 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -419,7 +419,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 309e8bb..08889c2 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -207,7 +207,7 @@ ¡Llévame de vuelta! Detalles - ¡El monedero será borrado! + Este monedero será borrado. Tus fondos se irán para siempre a menos que tengas tu semilla o una copia de seguridad funcional para recuperarlo. ¡Sí, hazlo! ¡No, gracias! diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 95bba30..1386f71 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -417,7 +417,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 29eb342..3f2b7bb 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -267,7 +267,7 @@ Non merci ! Détails - Le portefeuille sera supprimé ! + Ce portefeuille sera supprimé. Vos fonds seront perdus à jamais, sauf si vous disposez de votre semence ou d\'une sauvegarde fonctionnelle pour les récupérer. Oui, procéder ! Non merci ! diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 1aa0967..a966e23 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -421,7 +421,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d5f41a3..21caf0d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -266,7 +266,7 @@ Torna indietro! Dettagli - Il portafoglio verrà eliminato! + Questo portafoglio sarà cancellato. I tuoi fondi saranno andati per sempre a meno che tu non abbia il tuo seme o un backup funzionante per recuperarli. Sì, procedi! No grazie! @@ -366,7 +366,7 @@ Rescan! - I get it! + Ho capito! Next I\'m ready! diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 13e8b59..fcf1ece 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -422,7 +422,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index d30d7ab..f789670 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -419,7 +419,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8f9e9ec..962609d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -261,7 +261,7 @@ Ga terug! Details - Er wordt de portemonnee verwijderd! + Deze portemonnee zal worden verwijderd. Uw geld zal voor altijd weg zijn, tenzij u uw zaad of een werkende back-up hebt om het te herstellen. Ja, doe dat! Nee, niet doen! diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index f43eba7..f268f4c 100755 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -416,7 +416,7 @@ Selecione um subendereço Toque e segure para mais detalhes - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 8cb7a29..88c9530 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -423,7 +423,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index c09cdd9..73fb6bb 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -419,7 +419,7 @@ Selectează o subadresă Atinge lung pentru detalii - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7b671ad..140ef20 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -265,7 +265,7 @@ Верните меня обратно! Подробная информация - Этот кошелек будет удален! + Этот кошелек будет удален. Твои деньги исчезнут навсегда, если у тебя нет сид-фразы или рабочей резервной копии для их восстановления. Да, сделай это! Нет, спасибо! diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index c5996a4..2d8501d 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -262,7 +262,7 @@ Naspäť! Detaily - Peňaženka bude zmazaná! + Táto peňaženka bude zmazaná. Vaše finančné prostriedky budú navždy preč, pokiaľ nemáte svoj seed alebo funkčnú zálohu na ich obnovenie. Áno, poďme na to! Nie, díky! diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 0c7334c..23719f9 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -272,7 +272,7 @@ Vrati me nazad! Detalji - Novčanik će biti obrisan! + Ovaj novčanik će biti obrisan. Vaša sredstva će zauvek nestati ako nemate svoje seme ili ispravnu rezervnu kopiju da biste ih vratili. Da, uradi to! Ne, hvala! diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 425fcc8..e3e5cbe 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -411,7 +411,7 @@ Välj en subadress Tryck länge för mer detaljerad info - Denna plånbok kommer förstöras! + Denna plånbok kommer att raderas. Dina pengar kommer att vara borta för alltid om du inte har din seed eller en fungerande säkerhetskopia för att återställa dem. Förstöra Förstöringen misslyckades! diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index c16dca7..63af2a0 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -265,7 +265,7 @@ Поверніть мене назад! Детальна інформація - Цей гаманець буде знищено! + Цей гаманець буде знищено. Ваші кошти назавжди зникнуть, якщо у вас немає насіння або діючої резервної копії для його відновлення. Так, зроби це! Ні, дякую! diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3d93af3..70209e9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -343,7 +343,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8ba96f4..60109dc 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -418,7 +418,7 @@ Select a subaddress Long-press for details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Delete Delete failed! diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ec63778..b2cc149 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -278,7 +278,7 @@ Take me back! Details - This wallet will be deleted! + This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it. Yes, do that! No thanks! diff --git a/build.gradle b/build.gradle index f4da2c7..611ddfb 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { repositories { - jcenter() + mavenCentral() google() } dependencies { @@ -12,7 +12,7 @@ buildscript { allprojects { repositories { - jcenter() + mavenCentral() maven { url "https://maven.google.com" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 13372ae..e708b1c 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 31478e8..3c4101c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Oct 14 22:17:06 CEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip diff --git a/gradlew b/gradlew index 9d82f78..4f906e0 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,20 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## ## @@ -6,20 +22,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# 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 +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$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" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +64,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,28 +75,14 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# 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 -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -85,7 +106,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +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 @@ -105,10 +126,11 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# 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 @@ -134,27 +156,30 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` 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" ;; + 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 -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=`save "$@"` + +# 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" -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -8,20 +24,23 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe 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. @@ -35,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% @@ -45,34 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_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=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - :execute @rem Setup the command line 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