Skip to content

Commit 3ccece3

Browse files
committed
Java 17 features in code. Fixed tests for windows
1 parent 52ec2ba commit 3ccece3

File tree

21 files changed

+96
-116
lines changed

21 files changed

+96
-116
lines changed

aot-plugin/src/main/java/io/micronaut/gradle/aot/MicronautAotPlugin.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import java.io.IOException;
6363
import java.nio.file.Files;
6464
import java.util.ArrayList;
65-
import java.util.Arrays;
6665
import java.util.Collections;
6766
import java.util.HashSet;
6867
import java.util.List;
@@ -80,7 +79,7 @@ public abstract class MicronautAotPlugin implements Plugin<Project> {
8079
public static final String OPTIMIZED_DIST_NAME = "optimized";
8180
public static final String MAIN_BINARY_NAME = "main";
8281

83-
static final List<String> TYPES_TO_CHECK = Collections.unmodifiableList(Arrays.asList(
82+
static final List<String> TYPES_TO_CHECK = List.of(
8483
"io.reactivex.Observable",
8584
"reactor.core.publisher.Flux",
8685
"kotlinx.coroutines.flow.Flow",
@@ -96,9 +95,10 @@ public abstract class MicronautAotPlugin implements Plugin<Project> {
9695
"io.methvin.watchservice.MacOSXListeningWatchService",
9796
"io.micronaut.core.async.publisher.CompletableFuturePublisher",
9897
"io.micronaut.core.async.publisher.Publishers.JustPublisher",
99-
"io.micronaut.core.async.subscriber.Completable"));
98+
"io.micronaut.core.async.subscriber.Completable"
99+
);
100100

101-
public static final List<String> SERVICE_TYPES = Collections.unmodifiableList(Arrays.asList(
101+
public static final List<String> SERVICE_TYPES = List.of(
102102
"io.micronaut.context.env.PropertySourceLoader",
103103
"io.micronaut.inject.BeanConfiguration",
104104
"io.micronaut.inject.BeanDefinitionReference",
@@ -107,7 +107,7 @@ public abstract class MicronautAotPlugin implements Plugin<Project> {
107107
"io.micronaut.core.beans.BeanIntrospectionReference",
108108
"io.micronaut.core.convert.TypeConverterRegistrar",
109109
"io.micronaut.context.env.PropertyExpressionResolver"
110-
));
110+
);
111111
public static final String AOT_APPLICATION_CLASSPATH = "aotApplicationClasspath";
112112
public static final String OPTIMIZED_RUNTIME_CLASSPATH_CONFIGURATION_NAME = "optimizedRuntimeClasspath";
113113
public static final String DEFAULT_GENERATED_PACKAGE = "io.micronaut.aot.generated";
@@ -139,7 +139,7 @@ private void configureAotDefaults(Project project, AOTExtension aotExtension) {
139139
JavaApplication javaApplication = project.getExtensions().findByType(JavaApplication.class);
140140
if (javaApplication != null) {
141141
String mainClass = javaApplication.getMainClass().get();
142-
return mainClass.contains(".") ? mainClass.substring(0, mainClass.lastIndexOf(".")) : DEFAULT_GENERATED_PACKAGE;
142+
return mainClass.contains(".") ? mainClass.substring(0, mainClass.lastIndexOf('.')) : DEFAULT_GENERATED_PACKAGE;
143143
}
144144
return DEFAULT_GENERATED_PACKAGE;
145145
}));
@@ -160,9 +160,9 @@ private void registerPrepareOptimizationsTasks(Project project, Configurations c
160160
}
161161

162162
private void registerCreateSamplesTasks(Project project, Configuration optimizerRuntimeClasspath, Configuration applicationClasspath, TaskContainer tasks, AOTExtension aotExtension) {
163-
TaskProvider<Task> createAotSampleConfigurationFiles = tasks.register("createAotSampleConfigurationFiles", task -> {
164-
task.setDescription("Generates Micronaut AOT sample configuration files");
165-
});
163+
TaskProvider<Task> createAotSampleConfigurationFiles = tasks.register("createAotSampleConfigurationFiles", task ->
164+
task.setDescription("Generates Micronaut AOT sample configuration files")
165+
);
166166
for (OptimizerIO.TargetRuntime targetRuntime : OptimizerIO.TargetRuntime.values()) {
167167
TaskProvider<MicronautAotSampleConfTask> createSample = tasks.register("createAot" + targetRuntime.getCapitalizedName() + "Sample", MicronautAotSampleConfTask.class, task -> {
168168
task.setDescription("Creates a sample " + targetRuntime.getCapitalizedName() + " AOT configuration file");
@@ -320,13 +320,13 @@ private void registerJavaExecOptimizedRun(Project project,
320320
// https://github.com/micronaut-projects/micronaut-gradle-plugin/issues/385
321321
task.getOutputs().upToDateWhen(t -> false);
322322
task.setClasspath(project.files(jarTask, optimizedRuntimeClasspath));
323-
task.doFirst(new Action<Task>() {
323+
task.doFirst(new Action<>() {
324324
@Override
325325
public void execute(Task t) {
326326
if (task.getLogger().isDebugEnabled()) {
327327
task.getLogger().debug(
328328
"Running optimized entry point: " + task.getMainClass().get() +
329-
"\nClasspath:\n " + task.getClasspath().getFiles()
329+
"\nClasspath:\n " + task.getClasspath().getFiles()
330330
.stream()
331331
.map(File::getName)
332332
.collect(Collectors.joining("\n "))

aot-plugin/src/main/java/io/micronaut/gradle/aot/OptimizerIO.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,10 @@ public String getSimpleName() {
4646
}
4747

4848
public String getCapitalizedName() {
49-
switch (this) {
50-
case JIT:
51-
return "Jit";
52-
case NATIVE:
53-
return "Native";
54-
}
55-
return name();
49+
return switch (this) {
50+
case JIT -> "Jit";
51+
case NATIVE -> "Native";
52+
};
5653
}
5754
}
5855
}

buildSrc/src/main/groovy/io/micronaut/internal/build/sourcegen/SimpleSourceProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ public void process() throws IOException {
5959
if (Files.isDirectory(path)) {
6060
Files.createDirectories(target);
6161
} else if (Files.isRegularFile(path)) {
62-
String contents = new String(Files.readAllBytes(path), StandardCharsets.UTF_8);
62+
String contents = Files.readString(path);
6363
for (Map.Entry<String, String> entry : replacements.entrySet()) {
6464
contents = contents.replace(entry.getKey(), entry.getValue());
6565
}
66-
Files.write(target, contents.getBytes(StandardCharsets.UTF_8));
66+
Files.writeString(target, contents);
6767
}
6868
} catch (IOException e) {
6969
throw new GradleException("Unable to create target directory " + target, e);

crac-plugin/src/main/java/io/micronaut/gradle/crac/MicronautCRaCPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ private Optional<TaskProvider<CRaCFinalDockerfile>> configureFinalDockerBuild(Pr
282282
}
283283
task.getImages().set(Collections.singletonList(project.getName()));
284284
task.getInputDir().set(dockerFileTask.flatMap(Dockerfile::getDestDir));
285-
task.doLast(new Action<Task>() {
285+
task.doLast(new Action<>() {
286286
@Override
287287
public void execute(Task t) {
288288
t.getLogger().warn("**********************************************************");

docker-plugin/src/main/java/io/micronaut/gradle/docker/MicronautDockerPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ private static String adaptTaskName(String baseName, String context) {
9696
private void createDockerImage(Project project, MicronautDockerImage imageSpec) {
9797
TaskContainer tasks = project.getTasks();
9898
String imageName = imageSpec.getName();
99-
project.getLogger().info("Creating docker tasks for image " + imageName);
99+
project.getLogger().info("Creating docker tasks for image {}", imageName);
100100
TaskProvider<BuildLayersTask> buildLayersTask = tasks.register(adaptTaskName("buildLayers", imageName), BuildLayersTask.class, task -> {
101101
task.setGroup(BasePlugin.BUILD_GROUP);
102102
task.setDescription("Builds application layers for use in a Docker container (" + imageName + " image)");
@@ -307,7 +307,7 @@ private TaskProvider<NativeImageDockerfile> configureNativeDockerBuild(Project p
307307
);
308308
task.getRemotePath().set("/function/function.zip");
309309
task.getHostPath().set(lambdaZip);
310-
task.doLast(new Action<Task>() {
310+
task.doLast(new Action<>() {
311311
@Override
312312
public void execute(Task task1) {
313313
System.out.println("AWS Lambda ZIP built: " + lambdaZip.get());

docker-plugin/src/main/java/io/micronaut/gradle/docker/NativeImageDockerfile.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import javax.inject.Inject;
4141
import java.io.IOException;
4242
import java.util.ArrayList;
43-
import java.util.Arrays;
4443
import java.util.Collections;
4544
import java.util.List;
4645
import java.util.Map;
@@ -56,9 +55,9 @@
5655
*/
5756
public abstract class NativeImageDockerfile extends Dockerfile implements DockerBuildOptions {
5857

59-
private static final List<Integer> SUPPORTED_JAVA_VERSIONS = Collections.unmodifiableList(
58+
private static final List<Integer> SUPPORTED_JAVA_VERSIONS = List.of(
6059
// keep those in descending order
61-
Arrays.asList(17)
60+
17
6261
);
6362
private static final String ARM_ARCH = "aarch64";
6463
private static final String X86_64_ARCH = "x64";
@@ -369,10 +368,10 @@ public DirectoryProperty getPgoProfilesDirectory() {
369368
);
370369

371370
//noinspection Convert2Lambda
372-
doLast(new Action<Task>() {
371+
doLast(new Action<>() {
373372
@Override
374373
public void execute(Task task) {
375-
java.io.File f = NativeImageDockerfile.this.getDestFile().get().getAsFile();
374+
java.io.File f = getDestFile().get().getAsFile();
376375
System.out.println("Dockerfile written to: " + f.getAbsolutePath());
377376
}
378377
});
@@ -589,7 +588,7 @@ private List<String> buildNativeImageCommandLineArgs(Provider<String> executable
589588

590589
private static Integer toMajorVersion(String version) {
591590
if (version.contains(".")) {
592-
return Integer.parseInt(version.substring(0, version.indexOf(".")));
591+
return Integer.parseInt(version.substring(0, version.indexOf('.')));
593592
}
594593
return Integer.parseInt(version);
595594
}
@@ -692,7 +691,7 @@ public NativeImageDockerfile baseImage(String imageName) {
692691

693692
@Override
694693
public DockerBuildOptions exportPorts(Integer... ports) {
695-
this.getExposedPorts().set(Arrays.asList(ports));
694+
this.getExposedPorts().set(List.of(ports));
696695
return this;
697696
}
698697

docker-plugin/src/main/java/io/micronaut/gradle/docker/tasks/BuildLayersTask.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,11 @@ private static Provider<Directory> layerDirectoryOf(Layer layer,
7575
Provider<Directory> libsDir,
7676
Provider<Directory> resourcesDir,
7777
Provider<Directory> classesDir) {
78-
Provider<Directory> layerDir = libsDir;
79-
switch (layer.getLayerKind().get()) {
80-
case APP:
81-
layerDir = appDir;
82-
break;
83-
case LIBS:
84-
layerDir = libsDir;
85-
break;
86-
case EXPANDED_CLASSES:
87-
layerDir = classesDir;
88-
break;
89-
case EXPANDED_RESOURCES:
90-
layerDir = resourcesDir;
91-
break;
92-
}
93-
return layerDir;
78+
return switch (layer.getLayerKind().get()) {
79+
case APP -> appDir;
80+
case LIBS -> libsDir;
81+
case EXPANDED_CLASSES -> classesDir;
82+
case EXPANDED_RESOURCES -> resourcesDir;
83+
};
9484
}
9585
}

functional-tests/src/test/groovy/io/micronaut/gradle/aot/BasicMicronautAOTSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class BasicMicronautAOTSpec extends AbstractAOTPluginSpec {
253253

254254
private String subpath(File fullpath, File basePath) {
255255
def path = fullpath.getAbsolutePath()
256-
path.substring(basePath.getAbsolutePath().length() + 1, path.size())
256+
path.substring(basePath.getAbsolutePath().length() + 1, path.size()).replaceAll("\\\\", "/")
257257
}
258258

259259
}

graalvm-plugin/src/main/java/io/micronaut/gradle/graalvm/MicronautGraalPlugin.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
import org.gradle.language.jvm.tasks.ProcessResources;
2323

2424
import java.io.File;
25-
import java.util.Arrays;
26-
import java.util.Collections;
2725
import java.util.HashSet;
2826
import java.util.List;
2927
import java.util.Objects;
@@ -44,13 +42,13 @@ public class MicronautGraalPlugin implements Plugin<Project> {
4442

4543
public static final String RICH_OUTPUT_PROPERTY = "io.micronaut.graalvm.rich.output";
4644

47-
private static final Set<String> SOURCE_SETS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("main", "test")));
48-
private static final List<String> GRAALVM_MODULE_EXPORTS = Collections.unmodifiableList(Arrays.asList(
45+
private static final Set<String> SOURCE_SETS = Set.of("main", "test");
46+
private static final List<String> GRAALVM_MODULE_EXPORTS = List.of(
4947
"org.graalvm.nativeimage.builder/com.oracle.svm.core.configure",
5048
"org.graalvm.nativeimage.builder/com.oracle.svm.core.jdk",
5149
"org.graalvm.nativeimage.builder/com.oracle.svm.core.jni",
5250
"org.graalvm.sdk/org.graalvm.nativeimage.impl"
53-
));
51+
);
5452

5553
@Override
5654
public void apply(Project project) {

minimal-plugin/src/main/java/io/micronaut/gradle/AnnotationProcessing.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public AnnotationProcessingConfigBuilder group(String name) {
109109

110110
@Override
111111
public AnnotationProcessingConfigBuilder annotations(String... annotations) {
112-
if (annotations != null && annotations.length > 0) {
112+
if (annotations != null) {
113113
for (String annotation : annotations) {
114114
if (annotation != null) {
115115
this.annotations.add(annotation);

minimal-plugin/src/main/java/io/micronaut/gradle/MicronautComponentPlugin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ private static void configureSourceSet(Project project, SourceSet sourceSet, Con
155155
.getAnnotationProcessorConfigurationName();
156156
String implementationConfigurationName = sourceSet
157157
.getImplementationConfigurationName();
158-
List<String> both = Arrays.asList(
158+
List<String> both = List.of(
159159
implementationConfigurationName,
160160
annotationProcessorConfigurationName
161161
);
@@ -214,13 +214,13 @@ private void configureJava(Project project, TaskContainer tasks) {
214214
if (!annotations.isEmpty()) {
215215
compilerArgs.add("-Amicronaut.processing.annotations=" + String.join(",", annotations));
216216
} else {
217-
if (group.length() > 0) {
217+
if (!group.isEmpty()) {
218218
compilerArgs.add("-Amicronaut.processing.annotations=" + group + ".*");
219219
}
220220
}
221221
}
222222

223-
if (group.length() > 0) {
223+
if (!group.isEmpty()) {
224224
compilerArgs.add("-Amicronaut.processing.group=" + group);
225225
compilerArgs.add("-Amicronaut.processing.module=" + module);
226226
}

minimal-plugin/src/main/java/io/micronaut/gradle/MicronautKotlinSupport.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions;
1717
import org.jetbrains.kotlin.gradle.plugin.KaptExtension;
1818

19-
import java.util.Arrays;
2019
import java.util.Collections;
2120
import java.util.HashSet;
2221
import java.util.List;
@@ -34,17 +33,17 @@
3433
* @since 1.0.0
3534
*/
3635
public class MicronautKotlinSupport {
37-
private static final String[] KAPT_CONFIGURATIONS = new String[]{
36+
private static final String[] KAPT_CONFIGURATIONS = {
3837
"kapt",
3938
"kaptTest"
4039
};
41-
private static final String[] KSP_CONFIGURATIONS = new String[]{
40+
private static final String[] KSP_CONFIGURATIONS = {
4241
"ksp",
4342
"kspTest"
4443
};
4544
public static final String KOTLIN_PROCESSORS = "kotlinProcessors";
4645

47-
private static final List<String> KSP_ANNOTATION_PROCESSOR_MODULES = Arrays.asList("inject-kotlin");
46+
private static final List<String> KSP_ANNOTATION_PROCESSOR_MODULES = List.of("inject-kotlin");
4847

4948
public static void whenKotlinSupportPresent(Project p, Consumer<? super Project> action) {
5049
p.getPluginManager().withPlugin("org.jetbrains.kotlin.jvm", unused -> action.accept(p));
@@ -97,7 +96,7 @@ private static void configureKsp(Project project) {
9796
final String module = processingConfig.getModule().getOrElse(project.getName());
9897
if (isIncremental) {
9998
kspExtension.arg("micronaut.processing.incremental", "true");
100-
if (group.length() > 0) {
99+
if (!group.isEmpty()) {
101100
kspExtension.arg("micronaut.processing.group", group);
102101
}
103102
kspExtension.arg("micronaut.processing.module", module);
@@ -124,12 +123,12 @@ private static void configureKapt(Project project) {
124123
if (!annotations.isEmpty()) {
125124
options.arg("micronaut.processing.annotations", String.join(",", annotations));
126125
} else {
127-
if (group.length() > 0) {
126+
if (!group.isEmpty()) {
128127
options.arg("micronaut.processing.annotations", group + ".*");
129128
}
130129
}
131130

132-
if (group.length() > 0) {
131+
if (!group.isEmpty()) {
133132
options.arg("micronaut.processing.group", group);
134133
}
135134
options.arg("micronaut.processing.module", module);
@@ -208,7 +207,7 @@ private static void configureAdditionalSourceSet(String compilerType,
208207
String annotationProcessorConfigurationName = compilerType + Strings.capitalize(sourceSet.getName());
209208
String implementationConfigurationName = sourceSet
210209
.getImplementationConfigurationName();
211-
List<String> both = Arrays.asList(
210+
List<String> both = List.of(
212211
implementationConfigurationName,
213212
annotationProcessorConfigurationName
214213
);

minimal-plugin/src/main/java/io/micronaut/gradle/MicronautMinimalApplicationPlugin.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,8 @@
3737
import org.gradle.api.tasks.TaskContainer;
3838

3939
import java.io.File;
40-
import java.util.Arrays;
41-
import java.util.Collections;
42-
import java.util.HashMap;
4340
import java.util.LinkedHashMap;
41+
import java.util.List;
4442
import java.util.Map;
4543
import java.util.Set;
4644
import java.util.stream.Collectors;
@@ -56,12 +54,10 @@ public class MicronautMinimalApplicationPlugin implements Plugin<Project> {
5654
// This flag is used for testing purposes only
5755
public static final String INTERNAL_CONTINUOUS_FLAG = "io.micronaut.internal.gradle.continuous";
5856

59-
private static final Map<String, String> LOGGER_CONFIG_FILE_TO_DEPENDENCY = Collections.unmodifiableMap(new HashMap<String, String>() {
60-
{
61-
put("logback.xml", "ch.qos.logback:logback-classic");
62-
put("simplelogger.properties", "org.slf4j:slf4j-simple");
63-
}
64-
});
57+
private static final Map<String, String> LOGGER_CONFIG_FILE_TO_DEPENDENCY = Map.of(
58+
"logback.xml", "ch.qos.logback:logback-classic",
59+
"simplelogger.properties", "org.slf4j:slf4j-simple"
60+
);
6561

6662
@Override
6763
public void apply(Project project) {
@@ -119,7 +115,7 @@ private void configureJavaExecTasks(Project project, Configuration developmentOn
119115
sysProps.put("micronaut.io.watch.restart", true);
120116
sysProps.put("micronaut.io.watch.enabled", true);
121117
//noinspection Convert2Lambda
122-
javaExec.doFirst(new Action<Task>() {
118+
javaExec.doFirst(new Action<>() {
123119
@Override
124120
public void execute(Task workaroundEagerSystemProps) {
125121
String watchPaths = sourceSet
@@ -205,7 +201,7 @@ private void configureGoogleCloudFunctionRuntime(Project project, Project p, Dep
205201
run.dependsOn(taskContainer.findByName("processResources"), taskContainer.findByName("classes"));
206202
run.getMainClass().set("com.google.cloud.functions.invoker.runner.Invoker");
207203
run.setClasspath(ic);
208-
run.setArgs(Arrays.asList(
204+
run.setArgs(List.of(
209205
"--target", "io.micronaut.gcp.function.http.HttpFunction",
210206
"--port", 8080
211207
));

0 commit comments

Comments
 (0)