Class ModuleSpec

java.lang.Object
org.gradlex.javamodule.moduleinfo.ModuleSpec
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AutomaticModuleName, KnownModule, ModuleInfo

@NullMarked public abstract class ModuleSpec extends Object implements Serializable
Details that real Modules and Automatic-Module-Names share.
See Also:
  • Constructor Details

    • ModuleSpec

      protected ModuleSpec(String identifier, String moduleName)
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Returns:
      group:name coordinates _or_ Jar file name
    • getClassifier

      public @Nullable String getClassifier()
      Returns:
      classifier, as an addition to group:name coordinates, if defined
    • getModuleName

      public String getModuleName()
      Returns:
      Module Name of the Module to construct
    • removePackage

      public void removePackage(String packageName)
      Parameters:
      packageName - a package to remove from the Jar because it is a duplicate
    • getRemovedPackages

      public List<String> getRemovedPackages()
      Returns:
      packages that are removed by the transform
    • mergeJar

      public void mergeJar(String identifier)
      Parameters:
      identifier - group:name coordinates _or_ Jar file name (of the Jar file to merge)
    • mergeJar

      public void mergeJar(org.gradle.api.provider.Provider<org.gradle.api.artifacts.MinimalExternalModuleDependency> alias)
      Parameters:
      alias - group:name coordinates alias from version catalog
    • getMergedJars

      public List<String> getMergedJars()
      Returns:
      all merged Jar identifiers
    • overrideModuleName

      public void overrideModuleName()
      If the Module already has an Automatic-Module-Name, allow changing that name