https://github.com/devinrsmith/deephaven-extra-classpath
Extending the Deephaven classpath
https://github.com/devinrsmith/deephaven-extra-classpath
Last synced: 2 months ago
JSON representation
Extending the Deephaven classpath
- Host: GitHub
- URL: https://github.com/devinrsmith/deephaven-extra-classpath
- Owner: devinrsmith
- Created: 2024-07-18T21:15:10.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-06T17:48:43.000Z (4 months ago)
- Last Synced: 2025-02-06T18:40:37.814Z (4 months ago)
- Language: Java
- Size: 78.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# deephaven-extra-classpath
This is a quick example of how to build your own library and add the jar(s) onto the Deephaven classpath.
While this construction is centered around extending the Deephaven docker images, the same concepts apply for other deployment models.For advanced integrators who need to control the full classpath, see [deephaven-server-customization](https://github.com/devinrsmith/deephaven-server-customization).
## Build
### Test and build the library jar(s)
```bash
./gradlew build
```### Extend the Deephaven image with the extra jar(s)
```bash
docker buildx build \
--build-context my-simple-library=my-simple-library/build/libs \
--build-context my-deephaven-library=my-deephaven-library/build/libs \
--tag deephaven/server-extra-classpath \
--load \
.
```### Run
```bash
docker run \
--rm \
--name deephaven \
-p 10000:10000 \
deephaven/server-extra-classpath
```## my-simple-library
This is simple, standalone code that doesn't have any external dependencies, nor dependencies on Deephaven. It is the
simplest case for packaging and adding to the Deephaven classpath.## my-deephaven-library
This is an example library that depends on Deephaven, but doesn't have any other external dependencies. This is also
simple for packaging and adding to the Deephaven classpath.## my-complex-library (TBD)
This is an example library that has external dependencies. Packaging is more complex, and care must be taken to ensure
the dependencies don't conflict with the Deephaven classpath.## Related
* https://deephaven.io/core/docs/how-to-guides/configuration/docker-application/