Skip to content

Commit

Permalink
feat: add defaultJvmArgs for javaApplication and switch to java 21 (#37)
Browse files Browse the repository at this point in the history
* feat: add default jvm args for java application plugin

* also modify default to 21

* nit

* update
  • Loading branch information
Kishan Sairam Adapa authored Jan 17, 2024
1 parent 51240dc commit fe6d6b2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion hypertrace-gradle-docker-java-application-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ An application can define multiple variants which allow specifying different bas

- `baseImage`
- String
- Defaults to `hypertrace/java:11`
- Defaults to `hypertrace/java:21`
- `maintainer`
- String
- Defaults to `Hypertrace 'https://www.hypertrace.org/'`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.hypertrace.gradle.docker;

import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import org.gradle.api.artifacts.ResolvedArtifact;
import org.gradle.api.model.ObjectFactory;
Expand Down Expand Up @@ -29,7 +30,7 @@ public class HypertraceDockerJavaApplication {
public HypertraceDockerJavaApplication(
ObjectFactory objectFactory, String projectName) {
this.baseImage = objectFactory.property(String.class)
.convention("hypertrace/java:11");
.convention("hypertrace/java:21");
this.maintainer = objectFactory.property(String.class)
.convention("Hypertrace 'https://www.hypertrace.org/'");
this.serviceName = objectFactory.property(String.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ public void apply(Project target) {
this.createDockerfileTask(target, this.getHypertraceDockerApplicationExtension(target));
this.createDockerStartScriptTask(target);
this.createContextSyncTask(target);
this.updateDefaultJvmArgs(target);
this.updateDefaultPublication(target);
}

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

private void updateDefaultJvmArgs(Project project) {
// by default allow reflective access for monitoring executor service
// https://github.com/micrometer-metrics/micrometer/issues/2317#issuecomment-952700482
project.getExtensions()
.getByType(JavaApplication.class)
.setApplicationDefaultJvmArgs(List.of("--add-opens", "java.base/java.util.concurrent=ALL-UNNAMED"));
}

private void updateDefaultPublication(Project project) {
this.getHypertraceDockerExtension(project)
.defaultImage(
Expand Down

0 comments on commit fe6d6b2

Please sign in to comment.