Skip to content

Commit

Permalink
Add URL and Description for Feature classes
Browse files Browse the repository at this point in the history
Follow up on #26943
  • Loading branch information
gastaldi committed Aug 4, 2022
1 parent a657c83 commit 176b810
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,10 @@ public void write(String s, byte[] bytes) {
}, GRAAL_FEATURE, null,
Object.class.getName(), Feature.class.getName());

// Add getDescription (from GraalVM 22.2.0+)
MethodCreator getDescription = file.getMethodCreator("getDescription", String.class);
getDescription.returnValue(getDescription.load("Auto-generated class by Quarkus from the existing extensions"));

MethodCreator duringSetup = file.getMethodCreator("duringSetup", "V", DURING_SETUP_ACCESS);
// Register Lambda Capturing Types
if (!lambdaCapturingTypeBuildItems.isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class ResourceHelper {

public static void registerResources(String resource) {
try {
Class resourcesClass = Class.forName("com.oracle.svm.core.jdk.Resources");
Class<?> resourcesClass = Class.forName("com.oracle.svm.core.jdk.Resources");
Method register = resourcesClass.getDeclaredMethod("registerResource", String.class, InputStream.class);
ClassPathUtils.consumeAsStreams(ResourceHelper.class.getClassLoader(), resource, in -> {
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.runtime.graal;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
Expand Down Expand Up @@ -37,4 +38,15 @@ public void afterAnalysis(AfterAnalysisAccess access) {
}
}
}

@Override
public String getDescription() {
return "Disables INFO logging during the analysis phase for the " + Arrays.toString(CATEGORIES) + " categories";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/core/runtime/src/main/java/io/quarkus/runtime/graal/DisableLoggingFeature.java";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.graalvm.nativeimage.hosted.Feature;
Expand All @@ -14,16 +15,28 @@ public class ResourcesFeature implements Feature {

@Override
public void beforeAnalysis(BeforeAnalysisAccess access) {
try (BufferedReader in = new BufferedReader(new InputStreamReader(
getClass().getClassLoader().getResourceAsStream(META_INF_QUARKUS_NATIVE_RESOURCES_TXT)))) {
String line;
while ((line = in.readLine()) != null) {
if (!line.isEmpty()) {
ResourceHelper.registerResources(line);
InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(META_INF_QUARKUS_NATIVE_RESOURCES_TXT);
if (resourceAsStream != null) {
try (BufferedReader in = new BufferedReader(new InputStreamReader(resourceAsStream))) {
String line;
while ((line = in.readLine()) != null) {
if (!line.isEmpty()) {
ResourceHelper.registerResources(line);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}

@Override
public String getDescription() {
return "Register each line in " + META_INF_QUARKUS_NATIVE_RESOURCES_TXT + " as a resource on Substrate VM";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/core/runtime/src/main/java/io/quarkus/runtime/graal/ResourcesFeature.java";
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.hibernate.orm.runtime.graal;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
Expand Down Expand Up @@ -39,4 +40,15 @@ public void afterAnalysis(AfterAnalysisAccess access) {
}
}
}

@Override
public String getDescription() {
return "Disables INFO logging during the analysis phase for the " + Arrays.toString(CATEGORIES) + " categories";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/graal/DisableLoggingFeature.java";
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.hibernate.search.orm.elasticsearch.runtime.graal;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
Expand Down Expand Up @@ -37,4 +38,14 @@ public void afterAnalysis(AfterAnalysisAccess access) {
}
}
}

@Override
public String getDescription() {
return "Disables INFO logging during the analysis phase for the " + Arrays.toString(CATEGORIES) + " categories";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/extensions/hibernate-search-orm-elasticsearch/runtime/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/runtime/graal/DisableLoggingFeature.java";
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.hibernate.validator.runtime;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
Expand Down Expand Up @@ -37,4 +38,15 @@ public void afterAnalysis(AfterAnalysisAccess access) {
}
}
}

@Override
public String getDescription() {
return "Disables INFO logging during the analysis phase for the " + Arrays.toString(CATEGORIES) + " categories";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/extensions/hibernate-validator/runtime/src/main/java/io/quarkus/hibernate/validator/runtime/DisableLoggingFeature.java";
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.websockets.client.runtime;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
Expand Down Expand Up @@ -37,4 +38,14 @@ public void afterAnalysis(AfterAnalysisAccess access) {
}
}
}

@Override
public String getDescription() {
return "Disables INFO logging during the analysis phase for the " + Arrays.toString(CATEGORIES) + " categories";
}

@Override
public String getURL() {
return "https://github.com/quarkusio/quarkus/blob/main/extensions/websockets/client/runtime/src/main/java/io/quarkus/websockets/client/runtime/DisableLoggingFeature.java";
}
}

0 comments on commit 176b810

Please sign in to comment.