plugins {
  id 'application'
  id 'java-library'
  id 'maven-publish'
  id 'signing'
  id('io.github.gradle-nexus.publish-plugin') version '1.1.0'
}

group = 'net.gcardone.junidecode'
version = '0.5.2'

repositories {
  mavenCentral()
}

java {
  toolchain {
    languageVersion = JavaLanguageVersion.of(17)
  }
  withJavadocJar()
  withSourcesJar()
}

dependencies {
  testImplementation("junit:junit:4.13.2")
  testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.8.2")
}

tasks.named('test', Test) {
    useJUnitPlatform()

    maxHeapSize = '1G'

    testLogging {
        events "passed"
    }
}

compileJava {
  options.release = 11
}

jar {
  manifest {
    attributes (
        'Main-Class': 'net.gcardone.junidecode.App',
        'Automatic-Module-Name': 'net.gcardone.junidecode'
      )
  }
}

nexusPublishing {
  repositories {
    sonatype()
  }
}

publishing {
  publications {
    mavenJava(MavenPublication) {
      from(components.java)
      pom {
        name = 'JUnidecode'
        description = 'A Unicode to ASCII Java Library'
        url = 'https://github.com/gcardone/junidecode'
        licenses {
          license {
            name = 'The Apache License, Version 2.0'
            url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
          }
        }
        developers {
          developer {
            id = 'gcardone'
            name = 'Giuseppe Cardone'
            email = 'ippatsuman@gmail.com'
           }
        }
        scm {
          url = 'https://github.com/gcardone/junidecode'
          connection = 'scm:git:git://github.com/gcardone/junidecode.git'
          developerConnection = 'scm:git:git://github.com/gcardone/junidecode.git'
        }
      }
    }
  }
}

signing {
  sign publishing.publications.mavenJava
}
