plugins { id "java" id "idea" id "maven" id "jacoco" id "java-library" id "signing" id "maven-publish" } version = "1.6.0-SNAPSHOT" group = "io.github.kobylynskyi" repositories { mavenCentral() jcenter() } dependencies { implementation "org.freemarker:freemarker:2.3.28" implementation "com.graphql-java:graphql-java:13.0" implementation "com.fasterxml.jackson.core:jackson-databind:2.9.9" implementation "org.projectlombok:lombok:1.18.8" annotationProcessor "org.projectlombok:lombok:1.18.8" testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.1" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.1" testCompile 'org.hamcrest:java-hamcrest:2.0.0.0' } test.useJUnitPlatform() task codeCoverageReport(type: JacocoReport) { executionData fileTree(project.rootDir.absolutePath).include("build/jacoco/*.exec") sourceSets sourceSets.main reports { xml.enabled true xml.destination file("${buildDir}/reports/jacoco/report.xml") html.enabled false csv.enabled false } } codeCoverageReport.dependsOn test task sourcesJar(type: Jar) { from sourceSets.main.allJava archiveClassifier = "sources" } task javadocJar(type: Jar) { from javadoc archiveClassifier = "javadoc" } artifacts { archives jar archives sourcesJar archives javadocJar } publishing { publications { mavenJava(MavenPublication) { artifactId = "my-library" from components.java artifact sourcesJar artifact javadocJar artifactId "graphql-java-codegen" pom { name = "GraphQL Java CodeGen" description = "Java Code Generator based on GraphQL schema" url = "https://github.com/kobylynskyi/graphql-java-codegen" organization { name = "io.github.kobylynskyi" url = "https://github.com/kobylynskyi" } issueManagement { system = "GitHub" url = "https://github.com/kobylynskyi/graphql-java-codegen/issues" } licenses { license { name = "MIT License" url = "https://github.com/kobylynskyi/graphql-java-codegen/blob/master/LICENSE" distribution = "repo" } } scm { url = "https://github.com/kobylynskyi/graphql-java-codegen" connection = "scm:git:git://github.com/kobylynskyi/graphql-java-codegen.git" developerConnection = "scm:git:ssh://git@github.com:kobylynskyi/graphql-java-codegen.git" } developers { developer { id = "kobylynskyi" name = "Bogdan Kobylynskyi" email = "92bogdan@gmail.com" } developer { id = "valinha" name = "Alberto ValiƱa" email = "valinhadev@gmail.com" } } } } } repositories { maven { url "https://oss.sonatype.org/service/local/staging/deploy/maven2" credentials { username sonatypeUsername password sonatypePassword } } } } if (project.hasProperty("signing.keyId")) { signing { sign publishing.publications.mavenJava } }