|
55 | 55 | - Add new tests for any new feature or bug fix. |
56 | 56 | - Update documentation for user facing changes. |
57 | 57 |
|
58 | | -For more details see `CONTRIBUTING.md` in the repository root. |
59 | | - |
60 | | -# Layout |
61 | | - |
62 | | -## Repository Layout |
63 | | -- `temporal-sdk`: core SDK implementation. |
64 | | -- `temporal-testing`: utilities to help write workflow and activity tests. |
65 | | -- `temporal-test-server`: in-memory Temporal server for fast tests. |
66 | | -- `temporal-serviceclient`: gRPC client for communicating with the service. |
67 | | -- `temporal-shaded`: prepackaged version of the SDK with shaded dependencies. |
68 | | -- `temporal-spring-boot-autoconfigure`: Spring Boot auto configuration. |
69 | | -- `temporal-kotlin`: Kotlin DSL for the SDK. |
70 | | -- `temporal-opentracing`: OpenTracing interceptor integration. |
71 | | -- |
72 | | -## General Guidance |
73 | | -- Avoid changing public API signatures. Anything under an `internal` directory |
74 | | - is not part of the public API and may change freely. |
75 | | -- The SDK code is written for Java 8. |
76 | | - |
77 | | -## Building and Testing |
78 | | -1. Format the code before committing: |
79 | | - ```bash |
80 | | - ./gradlew --offline spotlessApply |
81 | | - ``` |
82 | | -2. Run the tests. This can take a long time so you may prefer to run individual tests. |
83 | | - ```bash |
84 | | - ./gradlew test |
85 | | - ``` |
86 | | - To run only the core SDK tests or a single test: |
87 | | - ```bash |
88 | | - ./gradlew :temporal-sdk:test --offline --tests "io.temporal.workflow.*" |
89 | | - ./gradlew :temporal-sdk:test --offline --tests "<package.ClassName>" |
90 | | - ``` |
91 | | -3. Build the project: |
92 | | - ```bash |
93 | | - ./gradlew clean build |
94 | | - ``` |
95 | | - |
96 | | -## Tests |
97 | | -- All tests for this each package is located in `$PACKAGE_NAME/src/test/java/io/temporal`, where `$PACKAGE_NAME` is the name of the package |
98 | | -- Workflow API tests should rely on `SDKTestWorkflowRule` to create a worker and |
99 | | - register workflows, activities, and nexus services. |
100 | | - |
101 | | -## Commit Messages and Pull Requests |
102 | | -- Follow the [Chris Beams](http://chris.beams.io/posts/git-commit/) style for |
103 | | - commit messages. |
104 | | -- Every pull request should answer: |
105 | | - - **What changed?** |
106 | | - - **Why?** |
107 | | - - **Breaking changes?** |
108 | | - - **Server PR** (if the change requires a coordinated server update) |
109 | | -- Comments should be complete sentences and end with a period. |
110 | | - |
111 | | -## Review Checklist |
112 | | -- `./gradlew spotlessCheck` must pass. |
113 | | -- All tests from `./gradlew test` must succeed. |
114 | | -- Add new tests for any new feature or bug fix. |
115 | | -- Update documentation for user facing changes. |
116 | | - |
117 | | -For more details see `CONTRIBUTING.md` in the repository root. |
| 58 | +For more details see `CONTRIBUTING.md` in the repository root. |
0 commit comments