Print nice error in bin/elasticsearch if user needs to run maven
Before, people that cloned the repo and expected to be able to run bin/elasticsearch would be met with an awful shell error: the shell interprets Maven variables like ${project.build.finalName} as shell variables yet can't handle names of the form ${x.y}. This commit explicitly checks to make sure that Maven has done its substitutions before continuing; if Maven hasn't been run, it gives a helpful error message. Fixes #2954.
This commit is contained in:
parent
976bdd6a26
commit
a4814c2f69
|
@ -46,6 +46,20 @@
|
||||||
# Be aware that you will be entirely responsible for populating the needed
|
# Be aware that you will be entirely responsible for populating the needed
|
||||||
# environment variables.
|
# environment variables.
|
||||||
|
|
||||||
|
|
||||||
|
# Maven will replace the project.name with elasticsearch below. If that
|
||||||
|
# hasn't been done, we assume that this is not a packaged version and the
|
||||||
|
# user has forgotten to run Maven to create a package.
|
||||||
|
IS_PACKAGED_VERSION='${project.name}'
|
||||||
|
if [ "$IS_PACKAGED_VERSION" != "elasticsearch" ]; then
|
||||||
|
cat >&2 << EOF
|
||||||
|
Error: You must build the project with Maven or download a pre-built package
|
||||||
|
before you can run Elasticsearch. See 'Building from Source' in README.textile
|
||||||
|
or visit http://www.elasticsearch.org/download to get a pre-built package.
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
CDPATH=""
|
CDPATH=""
|
||||||
SCRIPT="$0"
|
SCRIPT="$0"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue