Skip to content

[GR-38450] Missing svm-driver 22.1.0 in maven central #4526

@tomfi

Description

@tomfi

org.graalvm.nativeimage:svm-driver:22.1.0 is missing in maven central - https://mvnrepository.com/artifact/org.graalvm.nativeimage/svm-driver

Steps to reproduce the issue
Please include both build steps as well as run steps

  1. Try to import org.graalvm.nativeimage:svm-driver:22.1.0 in gradle/maven or go to maven central
  2. Latest version in maven central is 22.0.0.2

Describe GraalVM and your environment:

  • GraalVM version: CE 22.1.0
  • JDK major version: 17
  • OS: macOS Monterey
  • Architecture: AMD64

More details

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':modules:core:compileKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':modules:core:compileKotlin'
   > Could not resolve all files for configuration ':modules:core:compileClasspath'.
      > Could not find org.graalvm.nativeimage:svm-driver:22.1.0.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/graalvm/nativeimage/svm-driver/22.1.0/svm-driver-22.1.0.pom
        Required by:
            project :modules:core

Edit: I see in other issues that it might be intentional (#4518)

In this case, how can we do substitutions such as:

import com.oracle.svm.core.annotate.AutomaticFeature;
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
import io.netty.util.internal.logging.InternalLoggerFactory;
import io.netty.util.internal.logging.JdkLoggerFactory;
import io.vertx.core.Vertx;
import io.vertx.core.dns.AddressResolverOptions;
import io.vertx.core.impl.resolver.DefaultResolverProvider;
import io.vertx.core.spi.resolver.ResolverProvider;
import org.graalvm.nativeimage.hosted.Feature;
import org.graalvm.nativeimage.hosted.RuntimeReflection;

/**
 * This substitution avoid having loggers added to the build
 */
@TargetClass(className = "io.netty.util.internal.logging.InternalLoggerFactory")
final class TargetInternalLoggerFactory {
    @Substitute
    private static InternalLoggerFactory newDefaultFactory(String name) {
        return JdkLoggerFactory.INSTANCE;
    }
}

/**
 * This substitution forces the usage of the blocking DNS resolver
 */
@TargetClass(className = "io.vertx.core.spi.resolver.ResolverProvider")
final class TargetResolverProvider {

    @Substitute
    public static ResolverProvider factory(Vertx vertx, AddressResolverOptions options) {
        return new DefaultResolverProvider();
    }
}

@AutomaticFeature
class RuntimeReflectionRegistrationFeature implements Feature {
    public void beforeAnalysis(BeforeAnalysisAccess access) {
        try {
            RuntimeReflection.register(java.util.LinkedHashMap.class.getDeclaredConstructor());
        } catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        }
    }
}

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions