setupAnnoyingAPI

fun Project.setupAnnoyingAPI(javaSetupConfig: JavaSetupConfig = JavaSetupConfig(), mcSetupConfig: MCSetupConfig = MCSetupConfig(), annoyingAPIConfig: DependencyConfig, annoyingSetupConfig: AnnoyingSetupConfig = AnnoyingSetupConfig(), metadataConfig: MetadataConfig = MetadataConfig(), customRuntimeLibrariesConfig: CustomRuntimeLibrariesConfig = CustomRuntimeLibrariesConfig(), publishingPlatformConfig: PublishingPlatformConfig = PublishingPlatformConfig(mapOf())): AnnoyingMetadata?

Sets up the project using Annoying API. The root project's name must be the same as the one in plugin.yml!

  1. Checks if the Java and Shadow plugins are applied

  2. Adds srnyx's repositories and Repository.ALESSIO_DP for Libby

  3. Gets and processes Annoying API metadata (if MetadataConfig.useMetadata is true)

    1. Sets Java version if specified

    2. Adds repositories

    3. For each runtime library:

      1. Adds repositories

      2. Adds dependency

      3. Adds relocations

    4. Excludes some Annoying API dependencies

  4. Calls setupMC with the specified parameters

  5. Calls annoyingAPI with the specified parameters

  6. Calls addPlatformsResourceFileTask if enabled

  7. Calls setupPublishingPlatforms with the specified parameters

Return

The metadata for Annoying API if MetadataConfig.useMetadata is true, otherwise null