Skip to content

Conversation

@cbb330
Copy link
Collaborator

@cbb330 cbb330 commented Jan 1, 2026

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
  • Performance Improvements
  • Code Style
  • 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

  • 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.
  • 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

cbb330 and others added 2 commits December 31, 2025 15:38
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 <noreply@anthropic.com>
- Add org.gradle.parallel=true to gradle.properties
- Fix deprecated mainClassName usage in dummytokens/build.gradle
- Fix deprecated JavaExec.main usage in spark-runtime/build.gradle

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cbb330 cbb330 changed the title Enable parallel build by default and fix deprecation warnings Optimize build: Enable parallel build by default and fix deprecation warnings Jan 1, 2026
@jiang95-dev
Copy link
Collaborator

  1. Have you tried parallel build with tests?
  2. Can you enable parallel build on github action too?

@cbb330
Copy link
Collaborator Author

cbb330 commented Jan 3, 2026

Thanks for the questions!

  1. Parallel build with tests: Yes, the parallel build works with tests. The CI workflow runs ./gradlew clean build which includes tests, and once this PR is merged (after Optimize build: Fix parallel build issues with port conflicts and implicit dependencies #420), parallel builds will be enabled automatically. The -x test in the PR description was just for consistent benchmarking of compile time, but the full build with tests also benefits from parallelization.

  2. Parallel build on GitHub Actions: Good news - since this PR adds org.gradle.parallel=true to gradle.properties, it automatically applies to all Gradle builds including CI. The GitHub Actions workflow (.github/workflows/build-run-tests.yml) runs ./gradlew clean build and will automatically pick up the parallel setting from gradle.properties. No additional changes to the workflow files are needed.

In other words, this one-line change in gradle.properties enables parallel builds everywhere - local development, CI, and any other environment that uses this repository's Gradle configuration.

the current github workflow will use the merged repo of my change + master in order to build against the CI, so the change is active for this current action.

@jiang95-dev
Copy link
Collaborator

Thanks for explaining. Please resolve conflicts.

@cbb330 cbb330 force-pushed the enable-parallel-build-default branch from f3d8a74 to 5ddcd13 Compare January 17, 2026 19:16
@jiang95-dev jiang95-dev merged commit 40c58a2 into linkedin:main Jan 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants