Optimize build: Fix parallel build issues with port conflicts and implicit dependencies#420
Merged
jiang95-dev merged 1 commit intolinkedin:mainfrom Jan 15, 2026
Merged
Conversation
Configure unique ports for each service's OpenAPI spec generation: - Tables service: port 8000 - HouseTables service: port 8001 - Jobs service: port 8002 Also fix implicit dependency in dummytokens:jar task. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
17 tasks
jiang95-dev
approved these changes
Jan 2, 2026
jiang95-dev
pushed a commit
that referenced
this pull request
Jan 18, 2026
…warnings (#421) ## Summary Enable parallel build by default so users don't need to pass `--parallel` flag. This PR adds `org.gradle.parallel=true` to gradle.properties. It also fixes Gradle deprecation warnings related to `mainClassName` and `JavaExec.main`. > **Note:** This PR builds on #420 (port conflict fixes) and should be merged after it. **Build time improvement** (`./gradlew clean build -x test`): same existing improvement from #420 ## Changes - [ ] Client-facing API Changes - [ ] Internal API Changes - [ ] Bug Fixes - [ ] New Features - [x] Performance Improvements - [ ] Code Style - [x] Refactoring - [ ] Documentation - [ ] Tests ### Performance Improvements - Added `org.gradle.parallel=true` to `gradle.properties` to enable parallel builds by default - Users no longer need to remember to pass `--parallel` flag ### Refactoring (Deprecation Fixes) - Fixed deprecated `mainClassName` in `scripts/java/tools/dummytokens/build.gradle` → use `application { mainClass = ... }` - Fixed deprecated `JavaExec.main` in `integrations/spark/spark-3.1/openhouse-spark-runtime/build.gradle` → use `mainClass` **Before** (deprecation warnings): ``` The JavaExec.main property has been deprecated. This is scheduled to be removed in Gradle 8.0. Please use the mainClass property instead. ``` **After** (no warnings): ``` BUILD SUCCESSFUL in 2m 35s 254 actionable tasks: 244 executed, 10 up-to-date ``` ## Testing Done - [x] Manually Tested on local docker setup. Please include commands ran, and their output. - [ ] Added new tests for the changes made. - [ ] Updated existing tests to reflect the changes made. - [x] No tests added or updated. Please explain why. If unsure, please feel free to ask for help. - [ ] Some other form of testing like staging or soak time in production. Please explain. ### Manual Testing 1. Verified build runs in parallel by default (no `--parallel` flag needed) 2. Verified deprecation warnings are fixed with `--warning-mode all` 3. Measured before/after build times ### No Tests Added This is a build infrastructure change that doesn't affect runtime behavior. # Additional Information - [ ] Breaking Changes - [ ] Deprecations - [ ] Large PR broken into smaller PRs, and PR plan linked in the description. **Dependencies:** Merge #420 first (port conflict fixes required for parallel builds to work correctly) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix port conflicts in OpenAPI spec generation to enable parallel builds, reducing build time by 50%.
Previously, all three services (tables, housetables, jobs) would start Spring Boot on the same default port (8080) during OpenAPI spec generation. In parallel builds, this caused port conflicts and incorrect API specs, leading to compilation failures.
Build time improvement (
./gradlew clean build -x test --parallel):Changes
Bug Fix & Performance Improvements
dependsOn configurations.runtimeClasspathtodummytokens:jartask to fix implicit dependency warningBefore (parallel build fails):
After (parallel build succeeds):
Testing Done
Manual Testing
mainbranch due to port conflicts./gradlew clean build -x test --parallelNo Tests Added
This is a build infrastructure change that doesn't affect runtime behavior. The fix is validated by the parallel build completing successfully.
Additional Information
🤖 Generated with Claude Code