tree 2c15ba4005f3b9ce6ebb38dce5945cd1305bd555
parent 2f9e3937a4c3a6963470eca2c9ec7768b700401b
author Andrew Tolbert <andy_tolbert@apple.com> 1564290682 -0500
committer Dinesh Joshi <djoshi@apache.org> 1566603362 -0700

Read config from sidecar.config System Property instead of classpath

Alters configuration processing to read from `sidecar.config` system
property instead of using `Configurations` file resolution, which seems
to read from classpath first.

Also does the following:

* Move `conf` into `src/dist/config`.  This causes the `conf` directory
  to be included in the tar and zip distributions where it previously
  was not.
* Don't add `conf` directory to classpath.  For logging add
  `-Dlogback.configuration` to arguments.  Also add `logback-test.xml`
  to have different logging behavior for tests.
* Copy agents into `build/install/appName/agents` directly instead of
  `src/dist`. Make `copyDist` depend on `copyJolokia`. This also has
  the side effect of having agents copied to the project directory, so
  `bin/CassandraSidecarDaemon` works after `./gradlew build`.
* Improve logging to include full address instead of just port.
* Add generated paths to gitignore

patch by Andrew Tolbert; reviewed by Dinesh Joshi and Vinay Chella for CASSANDRA-15288
