apache / helix

Mirror of Apache Helix
Apache License 2.0
457 stars 218 forks source link

[apache/helix] -- Enable JDK 1.8 (backward) compatibility for dependent modules of meta-client and helix-core #2806

Closed himanshukandwal closed 2 months ago

himanshukandwal commented 2 months ago

Issues

Description

In this PR, we are enabling the the full sub-tree of the helix-core and meta-client modules. This includes:

Tests

[INFO] --- install:2.5.2:install (default-install) @ helix-common ---
...
[INFO] Installing /Users/hkandwal/Documents/workspaces/projects/helix_os_hk/helix-common/target/helix-common-1.3.2-SNAPSHOT-jdk8.jar to /Users/hkandwal/.m2/repository/org/apache/helix/helix-common/1.3.2-SNAPSHOT/helix-common-1.3.2-SNAPSHOT-jdk8.jar
[INFO] --- install:2.5.2:install (default-install) @ zookeeper-api ---
...
[INFO] Installing /Users/hkandwal/Documents/workspaces/projects/helix_os_hk/zookeeper-api/target/zookeeper-api-1.3.2-SNAPSHOT-jdk8.jar to /Users/hkandwal/.m2/repository/org/apache/helix/zookeeper-api/1.3.2-SNAPSHOT/zookeeper-api-1.3.2-SNAPSHOT-jdk8.jar
[INFO] 
[INFO] --- install:2.5.2:install (default-install) @ metadata-store-directory-common ---
...
/Users/hkandwal/.m2/repository/org/apache/helix/metadata-store-directory-common/1.3.2-SNAPSHOT/metadata-store-directory-common-1.3.2-SNAPSHOT-jdk8.jar
[INFO] --- install:2.5.2:install (default-install) @ metrics-common ---
...
[INFO] Installing /Users/hkandwal/Documents/workspaces/projects/helix_os_hk/metrics-common/target/metrics-common-1.3.2-SNAPSHOT-jdk8.jar to /Users/hkandwal/.m2/repository/org/apache/helix/metrics-common/1.3.2-SNAPSHOT/metrics-common-1.3.2-SNAPSHOT-jdk8.jar

(If CI test fails due to known issue, please specify the issue and test PR locally. Then copy & paste the result of "mvn test" to here.)

Changes that Break Backward Compatibility (Optional)

(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)

Documentation (Optional)

(Link the GitHub wiki you added)

Commits

Code Quality

himanshukandwal commented 2 months ago

This PR is ready to be merged and has been approved by @junkaixue.

Final Commit Message: We would like to provide a backward compatible support to our consumers where they also have an option to use JDK-8 compiled meta-client jar, if they have such a requirement. By default we will generate JDK-11 jars and JDK-8 jars using a classifier. In this PR, we are enabling the JDK* build of full sub-tree of the helix-core and meta-client modules. This includes: helix-common, zookeeper-api, metadata-store-directory-common, metrics-common