docs: DOC-640: Add local development guide for Deephaven libraries#8023
docs: DOC-640: Add local development guide for Deephaven libraries#8023margaretkennedy wants to merge 4 commits into
Conversation
Add comprehensive guide for building Java/Groovy projects with Deephaven dependencies, covering Gradle/Maven setup, common dependencies by use case, and local unit testing with ExecutionContext. Include cross-reference from Python docs.
There was a problem hiding this comment.
Pull request overview
Adds a new “Local development with Deephaven libraries” guide to the Groovy docs (with a lightweight cross-reference page in the Python docs) and exposes both via their respective sidebars. This is intended to help users set up external Java/Groovy projects that depend on Deephaven artifacts, and to document a unit-testing pattern using ExecutionContext.
Changes:
- Add Groovy guide covering Gradle/Maven setup, “common dependencies by use case”, and unit testing notes.
- Add a Python stub page that links users to the Groovy guide for Java/Groovy-focused setup.
- Update both Groovy and Python sidebars to include the new “Local development” entry.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| docs/python/sidebar.json | Adds “Local development” to the Python how-to sidebar. |
| docs/python/how-to-guides/local-development.md | Adds a short Python page that links to the Groovy guide. |
| docs/groovy/sidebar.json | Adds “Local development” to the Groovy how-to sidebar. |
| docs/groovy/how-to-guides/local-development.md | Adds the full local development guide (Gradle/Maven + testing guidance). |
Comments suppressed due to low confidence (1)
docs/groovy/how-to-guides/local-development.md:66
- The “Date/time utilities” entry references
deephaven-FishUtil, but there is noFishUtilmodule in this repo. Update this row to the current artifact that actually contains Deephaven date/time utilities (theio.deephaven.time.*classes are inengine/time).
| Read/write Parquet files | `deephaven-extensions-parquet-table` |
| Configuration utilities | `deephaven-Configuration` |
| Date/time utilities | `deephaven-FishUtil` |
| Logging | `deephaven-log-factory` |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (2)
docs/groovy/how-to-guides/local-development.md:130
- The unit test example imports
TestExecutionContext, which lives in thedeephaven-engine-test-utilsartifact (not in the main runtime dependencies). Add a note and dependency example (e.g.,testImplementation io.deephaven:deephaven-engine-test-utils:<version>) so the snippet compiles for readers.
Use JUnit with an `ExecutionContext` to test table operations:
```java skip-test
import io.deephaven.engine.context.ExecutionContext;
import io.deephaven.engine.context.TestExecutionContext;
import io.deephaven.engine.table.Table;
import io.deephaven.util.SafeCloseable;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class MyTableUtilsTest {
private static ExecutionContext executionContext;
private static SafeCloseable executionContextCloseable;
@BeforeAll
public static void setUp() {
executionContext = TestExecutionContext.createForUnitTests();
executionContextCloseable = executionContext.open();
}
docs/groovy/how-to-guides/local-development.md:160
- The "Reading test data" snippet uses
CsvToolsandParquetTools, which require adding the CSV/Parquet extension artifacts (deephaven-extensions-csv,deephaven-extensions-parquet-table). Add a brief note or dependency examples here so readers don't hit ClassNotFound errors when copying the snippet.
```java skip-test
import io.deephaven.csv.CsvTools;
import io.deephaven.parquet.table.ParquetTools;
import java.nio.file.Paths;
// Read CSV from test resources
Table csvTable = CsvTools.readCsv(getClass().getResourceAsStream("/test-data.csv"));
// Read Parquet from test resources
String parquetPath = Paths.get(getClass().getResource("/test-data.parquet").toURI()).toString();
Table parquetTable = ParquetTools.readTable(parquetPath);
</details>
Add comprehensive guide for building Java/Groovy projects with Deephaven dependencies, covering Gradle/Maven setup, common dependencies by use case, and local unit testing with ExecutionContext. Include cross-reference from Python docs.