Class LwjglNatives

java.lang.Object
com.cleanroommc.gradle.api.util.LwjglNatives

public final class LwjglNatives extends Object
Wires the "lwjglNative" configuration. Usage:
dependencies {
    lwjglNative 'org.lwjgl:lwjgl'
    lwjglNative 'org.lwjgl:lwjgl-opengl'
}

LWJGL ships one native jar per platform. But the published metadata has to serve every distribution. Runtime classpath takes Platform.lwjglNativesClassifier(). While publications take every classifier in cleanroom.loader.lwjglNativesClassifiers, one OS and architecture specific variant each, so a consumer resolves only its own.

  • Field Details

    • CONFIGURATION_NAME

      public static final String CONFIGURATION_NAME
      See Also:
    • CURRENT_CONFIGURATION_NAME

      public static final String CURRENT_CONFIGURATION_NAME
      See Also:
    • ALL_CONFIGURATION_NAME

      public static final String ALL_CONFIGURATION_NAME
      See Also:
    • CLASSIFIERS

      public static final List<String> CLASSIFIERS
      Every platform LWJGL 3 publishes natives for. Listing them all is what lets a workspace be developed and run on any of them. The publication includes everything, and each machine resolves their own classifier.

      Complete as of LWJGL 3.3.6, which is when ppc64le, riscv64 and freebsd were first published.

    • CLASSIFIER_PREFIX

      public static final String CLASSIFIER_PREFIX
      See Also:
  • Method Details

    • register

      public static void register(org.gradle.api.Project project, org.gradle.api.provider.ListProperty<String> classifiers)
    • addFor

      public static void addFor(org.gradle.api.Project project, Collection<org.gradle.api.artifacts.Dependency> target, String classifier)