Merge pull request #231 from jiminhsieh/fix-sbt-help-throw-error

Fix `sbt -help` throw syntax error
This commit is contained in:
eugene yokota 2018-06-14 01:49:15 -04:00 committed by GitHub
commit 34f0b2c4ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 47 additions and 45 deletions

View File

@ -1,5 +1,5 @@
// Generated from http://www.opensource.org/licenses/bsd-license.php // Generated from http://www.opensource.org/licenses/bsd-license.php
Copyright (c) 2011 - 2017, Paul Phillips, Lightbend, and other contributors. Copyright (c) 2011 - 2018, Paul Phillips, Lightbend, and other contributors.
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@ -1,6 +1,7 @@
# Build Status # Build Status
[![Build Status](https://travis-ci.org/sbt/sbt-launcher-package.svg?branch=master)](https://travis-ci.org/sbt/sbt-launcher-package) [![Build Status](https://travis-ci.org/sbt/sbt-launcher-package.svg?branch=master)](https://travis-ci.org/sbt/sbt-launcher-package)
[![Build Status](https://ci.appveyor.com/api/projects/status/github/sbt/sbt-launcher-package?branch=master&svg=true&retina=true)](https://ci.appveyor.com/project/sbt/sbt-launcher-package)
sbt: the launcher sbt: the launcher
================== ==================
@ -42,48 +43,45 @@ well as a snapshot version of scala, then run the sbt "about" command.
[info] sbt, sbt plugins, and build definitions are using Scala 2.9.1 [info] sbt, sbt plugins, and build definitions are using Scala 2.9.1
Current -help output: Current -help output:
```bash
Usage: sbt [options]
Usage: sbt [options] -h | -help print this message
-v | -verbose this runner is chattier
-d | -debug set sbt log level to debug
-no-colors disable ANSI color codes
-sbt-create start sbt even if current directory contains no sbt project
-sbt-dir <path> path to global settings/plugins directory (default: ~/.sbt)
-sbt-boot <path> path to shared boot directory (default: ~/.sbt/boot in 0.11 series)
-ivy <path> path to local Ivy repository (default: ~/.ivy2)
-mem <integer> set memory options (default: 1024, which is -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:MaxMetaspaceSize=256m)
-no-share use all local caches; no sharing
-no-global uses global caches, but does not use global ~/.sbt directory.
-jvm-debug <port> Turn on JVM debugging, open at the given port.
-batch Disable interactive mode
-h | -help print this message # sbt version (default: from project/build.properties if present, else latest release)
-v | -verbose this runner is chattier -sbt-version <version> use the specified version of sbt
-d | -debug set sbt log level to debug -sbt-jar <path> use the specified jar as the sbt launcher
-no-colors disable ANSI color codes -sbt-rc use an RC version of sbt
-sbt-create start sbt even if current directory contains no sbt project -sbt-snapshot use a snapshot version of sbt
-sbt-dir <path> path to global settings/plugins directory (default: ~/.sbt)
-sbt-boot <path> path to shared boot directory (default: ~/.sbt/boot in 0.11 series)
-ivy <path> path to local Ivy repository (default: ~/.ivy2)
-mem <integer> set memory options (default: 1536, which is -Xms1536m -Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=192m)
-no-share use all local caches; no sharing
-offline put sbt in offline mode
-jvm-debug <port> Turn on JVM debugging, open at the given port.
# sbt version (default: from project/build.properties if present, else latest release) # java version (default: java from PATH, currently openjdk version "1.8.0_172")
-sbt-version <version> use the specified version of sbt -java-home <path> alternate JAVA_HOME
-sbt-jar <path> use the specified jar as the sbt launcher
-sbt-rc use an RC version of sbt
-sbt-snapshot use a snapshot version of sbt
# scala version (default: latest release)
-28 use 2.8.2
-29 use 2.9.1
-210 use 2.10.0-SNAPSHOT
-scala-home <path> use the scala build at the specified directory
-scala-version <version> use the specified version of scala
# java version (default: java from PATH, currently java version "1.6.0_29")
-java-home <path> alternate JAVA_HOME
# jvm options and output control
JAVA_OPTS environment variable, if unset uses "-Dfile.encoding=UTF8"
SBT_OPTS environment variable, if unset uses "-XX:+CMSClassUnloadingEnabled"
.sbtopts if this file exists in the sbt root, it is prepended to the runner args
-Dkey=val pass -Dkey=val directly to the java runtime
-J-X pass option -X directly to the java runtime (-J is stripped)
In the case of duplicated or conflicting options, the order above
shows precedence: JAVA_OPTS lowest, command line options highest.
# jvm options and output control
JAVA_OPTS environment variable, if unset uses ""
.jvmopts if this file exists in the current directory, its contents
are appended to JAVA_OPTS
SBT_OPTS environment variable, if unset uses ""
.sbtopts if this file exists in the current directory, its contents
are prepended to the runner args
/etc/sbt/sbtopts if this file exists, it is prepended to the runner args
-Dkey=val pass -Dkey=val directly to the java runtime
-J-X pass option -X directly to the java runtime
(-J is stripped)
-S-X add -X to sbt's scalacOptions (-S is stripped)
```
## Native Packages ## ## Native Packages ##

View File

@ -1 +1 @@
sbt.version=0.13.16 sbt.version=0.13.17

View File

@ -10,7 +10,7 @@ https://github.com/sbt/sbt-launcher-package
The entire code base may be distributed under the terms of the BSD license, which appears immediately below. The entire code base may be distributed under the terms of the BSD license, which appears immediately below.
Copyright (c) 2011 - 2017, Paul Phillips, Lightbend, and other contributors. Copyright (c) 2011 - 2018, Paul Phillips, Lightbend, and other contributors.
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@ -10,7 +10,7 @@ https://github.com/sbt/sbt-launcher-package
The entire code base may be distributed under the terms of the BSD license, which appears immediately below. The entire code base may be distributed under the terms of the BSD license, which appears immediately below.
Copyright (c) 2011 - 2017, Paul Phillips, Lightbend, and other contributors. Copyright (c) 2011 - 2018, Paul Phillips, Lightbend, and other contributors.
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@ -69,7 +69,7 @@ declare -r win_sbt_opts_file="${sbt_home}/conf/sbtconfig.txt"
usage() { usage() {
cat <<EOM cat <<EOM
Usage: $script_name [options] Usage: `basename "$0"` [options]
-h | -help print this message -h | -help print this message
-v | -verbose this runner is chattier -v | -verbose this runner is chattier
@ -79,7 +79,7 @@ Usage: $script_name [options]
-sbt-dir <path> path to global settings/plugins directory (default: ~/.sbt) -sbt-dir <path> path to global settings/plugins directory (default: ~/.sbt)
-sbt-boot <path> path to shared boot directory (default: ~/.sbt/boot in 0.11 series) -sbt-boot <path> path to shared boot directory (default: ~/.sbt/boot in 0.11 series)
-ivy <path> path to local Ivy repository (default: ~/.ivy2) -ivy <path> path to local Ivy repository (default: ~/.ivy2)
-mem <integer> set memory options (default: $sbt_mem, which is $(get_mem_opts $sbt_mem)) -mem <integer> set memory options (default: $sbt_default_mem, which is $(get_mem_opts))
-no-share use all local caches; no sharing -no-share use all local caches; no sharing
-no-global uses global caches, but does not use global ~/.sbt directory. -no-global uses global caches, but does not use global ~/.sbt directory.
-jvm-debug <port> Turn on JVM debugging, open at the given port. -jvm-debug <port> Turn on JVM debugging, open at the given port.

View File

@ -13,6 +13,7 @@ declare -a sbt_commands
declare java_cmd=java declare java_cmd=java
declare java_version declare java_version
declare init_sbt_version=_to_be_replaced declare init_sbt_version=_to_be_replaced
declare sbt_default_mem=1024
declare SCRIPT=$0 declare SCRIPT=$0
while [ -h "$SCRIPT" ] ; do while [ -h "$SCRIPT" ] ; do
@ -101,11 +102,14 @@ get_mem_opts () {
else else
# a ham-fisted attempt to move some memory settings in concert # a ham-fisted attempt to move some memory settings in concert
# so they need not be messed around with individually. # so they need not be messed around with individually.
local mem=${1:-1024} local mem=${1:-$sbt_default_mem}
local codecache=$(( $mem / 8 )) local codecache=$(( $mem / 8 ))
(( $codecache > 128 )) || codecache=128 (( $codecache > 128 )) || codecache=128
(( $codecache < 512 )) || codecache=512 (( $codecache < 512 )) || codecache=512
local class_metadata_size=$(( $codecache * 2 )) local class_metadata_size=$(( $codecache * 2 ))
if [[ -z $java_version ]]; then
java_version=$(jdk_version)
fi
local class_metadata_opt=$((( $java_version < 8 )) && echo "MaxPermSize" || echo "MaxMetaspaceSize") local class_metadata_opt=$((( $java_version < 8 )) && echo "MaxPermSize" || echo "MaxMetaspaceSize")
local arg_xms=$([[ "${java_args[@]}" == *-Xms* ]] && echo "" || echo "-Xms${mem}m") local arg_xms=$([[ "${java_args[@]}" == *-Xms* ]] && echo "" || echo "-Xms${mem}m")