import java.text.SimpleDateFormat plugins { id 'java' id 'idea' } //noinspection GroovyUnusedAssignment sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 /* CHANGE THESE VALUES FOR YOUR OWN ADDON Addon ID must be unique. Set it carefully! */ group 'de.griefed' def pluginClass = group + '.exampleaddon.Example' def addon_id = 'example' def addon_name = 'Example Addon' def addon_description = 'An example addon for ServerPackCreator, demonstrating all extension points available.' def addon_author = 'Griefed' sourceSets { //noinspection GroovyAssignabilityCheck main { java { srcDirs = ['src/main/java'] } //noinspection GroovyAssignabilityCheck resources { srcDirs = ['src/main/resources'] } } test { java { srcDirs = ['src/test/java'] } //noinspection GroovyAssignabilityCheck resources { srcDirs = ['src/test/resources'] } } } repositories { mavenCentral() maven { url "https://jitpack.io" } maven { url 'https://repo.spring.io/release' } } dependencies { annotationProcessor 'org.pf4j:pf4j:3.7.0' implementation 'de.griefed:serverpackcreator:3.14.7' // Testing testImplementation 'org.mockito:mockito-core:4.8.1' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0' } test { useJUnitPlatform() // Mention test result in logs testLogging { events( "passed", "skipped", "failed" ) } } processResources { filesMatching("addon.toml") { expand( "version": project.version, "addon_id": addon_id, "addon_name": addon_name, "addon_description": addon_description, "addon_author": addon_author, "addon_class": pluginClass ) } copy { from layout.projectDirectory.file("LICENSE") into layout.projectDirectory.dir("src/main/resources") } copy { from layout.projectDirectory.file("README.md") into layout.projectDirectory.dir("src/main/resources") } copy { from layout.projectDirectory.file("CHANGELOG.md") into layout.projectDirectory.dir("src/main/resources") } } jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE //noinspection GroovyAssignabilityCheck manifest { attributes( "Main-Class": pluginClass, "Description": addon_description, "Built-By": System.getProperty("user.name"), "Build-Timestamp": new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(new Date()), "Created-By": "Gradle ${gradle.gradleVersion}", "Build-Jdk": "${System.getProperty('java.version')} (${System.getProperty('java.vendor')} ${System.getProperty('java.vm.version')})", "Build-OS": "${System.getProperty('os.name')} ${System.getProperty('os.arch')} ${System.getProperty('os.version')}", "Plugin-Class": pluginClass, "Plugin-Id": addon_id, "Plugin-Name": addon_name, "Plugin-Provider": addon_author, "Plugin-Version": project.version, "Plugin-Description": addon_description ) } }