Skip to content

Commit fe6d6b2

Browse files
author
Kishan Sairam Adapa
authored
feat: add defaultJvmArgs for javaApplication and switch to java 21 (#37)
* feat: add default jvm args for java application plugin * also modify default to 21 * nit * update
1 parent 51240dc commit fe6d6b2

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

hypertrace-gradle-docker-java-application-plugin/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ An application can define multiple variants which allow specifying different bas
1515

1616
- `baseImage`
1717
- String
18-
- Defaults to `hypertrace/java:11`
18+
- Defaults to `hypertrace/java:21`
1919
- `maintainer`
2020
- String
2121
- Defaults to `Hypertrace 'https://www.hypertrace.org/'`

hypertrace-gradle-docker-java-application-plugin/src/main/java/org/hypertrace/gradle/docker/HypertraceDockerJavaApplication.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.hypertrace.gradle.docker;
22

33
import java.util.Collections;
4+
import java.util.List;
45
import javax.inject.Inject;
56
import org.gradle.api.artifacts.ResolvedArtifact;
67
import org.gradle.api.model.ObjectFactory;
@@ -29,7 +30,7 @@ public class HypertraceDockerJavaApplication {
2930
public HypertraceDockerJavaApplication(
3031
ObjectFactory objectFactory, String projectName) {
3132
this.baseImage = objectFactory.property(String.class)
32-
.convention("hypertrace/java:11");
33+
.convention("hypertrace/java:21");
3334
this.maintainer = objectFactory.property(String.class)
3435
.convention("Hypertrace 'https://www.hypertrace.org/'");
3536
this.serviceName = objectFactory.property(String.class)

hypertrace-gradle-docker-java-application-plugin/src/main/java/org/hypertrace/gradle/docker/HypertraceDockerJavaApplicationPlugin.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public void apply(Project target) {
5656
this.createDockerfileTask(target, this.getHypertraceDockerApplicationExtension(target));
5757
this.createDockerStartScriptTask(target);
5858
this.createContextSyncTask(target);
59+
this.updateDefaultJvmArgs(target);
5960
this.updateDefaultPublication(target);
6061
}
6162

@@ -65,6 +66,14 @@ private void addApplicationExtension(Project project) {
6566
.create(EXTENSION_NAME, HypertraceDockerJavaApplication.class, project.getName());
6667
}
6768

69+
private void updateDefaultJvmArgs(Project project) {
70+
// by default allow reflective access for monitoring executor service
71+
// https://github.com/micrometer-metrics/micrometer/issues/2317#issuecomment-952700482
72+
project.getExtensions()
73+
.getByType(JavaApplication.class)
74+
.setApplicationDefaultJvmArgs(List.of("--add-opens", "java.base/java.util.concurrent=ALL-UNNAMED"));
75+
}
76+
6877
private void updateDefaultPublication(Project project) {
6978
this.getHypertraceDockerExtension(project)
7079
.defaultImage(

0 commit comments

Comments
 (0)