import groovy.swing.SwingBuilder
plugins {
- // github
- id "co.riiid.gradle" version "0.4.2"
// bintray
id "com.jfrog.bintray" version "1.6"
+ id "com.github.spotbugs" version "1.7.1"
+ id "org.nosphere.gradle.github.actions" version "1.1.0"
+ id 'maven-publish'
+ id 'signing'
}
// common settings
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'checkstyle'
- apply plugin: 'findbugs'
- apply plugin: 'co.riiid.gradle'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'maven'
+ apply plugin: 'maven-publish'
apply plugin: 'signing'
- sourceCompatibility = jdkVersion
- targetCompatibility = jdkVersion
+ sourceCompatibility = JavaVersion.VERSION_1_8
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
- [compileJava, compileTestJava]*.options*.bootClasspath = "$JDK_HOME/jre/lib/rt.jar"
checkstyle {
config = resources.text.fromFile("${rootProject.projectDir}/config/checkstyle/checkstyle.xml")
ignoreFailures = true
toolVersion = '6.16.1'
}
- // Force prevent checkstyle/findbugs on Test.
- task checkstyleTest(overwrite: true) << {}
- task findbugsTest(overwrite: true) << {}
- tasks.withType(FindBugs) {
- reports {
- xml.enabled = false
- html.enabled = true
- }
- }
-
repositories {
jcenter()
- mavenCentral()
}
dependencies {
- testCompile 'org.testng:testng:6.9.10'
+ testImplementation 'org.testng:testng:6.9.10'
}
+ test.useTestNG()
- test {
- useTestNG()
+ tasks.withType(JavaCompile) {
+ options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
}
javadoc {
options.locale = 'en_US'
}
- task sourceJar(type: Jar) {
+ task sourcesJar(type: Jar, dependsOn: classes) {
from sourceSets.main.allSource
- classifier = 'sources'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
- classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives jar
- archives sourceJar
+ archives sourcesJar
archives javadocJar
}
-
- signing {
- required { gradle.taskGraph.hasTask("uploadArchives") ||
- gradle.taskGraph.hasTask("githubRelease") ||
- gradle.taskGraph.hasTask("bintrayUpload")}
- sign configurations.archives
- }
}
project(':dictzip-lib') {
dependencies {
- testCompile 'tokyo.northside:northside-io:0.2.0'
+ testImplementation 'tokyo.northside:northside-io:0.2.0'
}
version = projectVersion
group = projectGroup
publicDownloadNumbers = true
}
}
- task mandoc << {}
- task githubRelease(overwrite: true) << {}
install {
repositories.mavenInstaller {
applicationName = 'dictzip'
dependencies {
- compile project(':dictzip-lib'),
+ implementation project(':dictzip-lib'),
'gnu.getopt:java-getopt:1.0.13'
- testCompile 'tokyo.northside:northside-io:0.2.0'
+ testImplementation 'tokyo.northside:northside-io:0.2.0'
}
version = projectVersion
group = projectGroup
from(javadocJar) {
into 'docs'
}
- from(sourceJar) {
+ from(sourcesJar) {
into 'source'
}
}
}
}
- task githubRelease(overwrite: true) << {}
-}
-
-task mandoc << {}
-task bintrayUpload(overwrite: true) << {}
-
-github {
- owner = projectOwner
- repo = 'dictzip-java'
- token = githubToken
- tagName = projectTag
- targetCommitish = 'master'
- name = projectTag
- draft = true
- body = projectReleaseBody
- assets = [
- 'dictzip-cli/build/distributions/dictzip-' + projectVersion + '.tgz',
- 'dictzip-cli/build/distributions/dictzip-' + projectVersion + '.tgz.asc',
- 'dictzip-cli/build/distributions/dictzip-' + projectVersion + '.zip',
- 'dictzip-cli/build/distributions/dictzip-' + projectVersion + '.zip.asc',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '.jar',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '.jar.asc',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '-sources.jar',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '-sources.jar.asc',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '-javadoc.jar',
- 'dictzip-lib/build/libs/dictzip-lib-' + projectVersion + '-javadoc.jar.asc'
- ]
}
-
// askPassword - guarantee asking only once.
ext {
askPassword = ''
}
}
}
+
+publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ artifactId = "dictzip"
+ groupId = "org.dict.zip"
+ version = project.version.toString()
+ pom {
+ name.set(project.name)
+ description.set(projectDesc)
+ url.set(projectUrl)
+ licenses {
+ license {
+ name.set("GNU General Public License Version 2+CE")
+ url.set("https://www.gnu.org/licenses/old-licenses/gpl-2.0")
+ }
+ }
+ scm {
+ connection.set("scm:git:git://github.com/dictzip/dictzip-java.git")
+ url.set("https://github.com/dictzip/dictzip-java")
+ }
+ issueManagement {
+ system.set("Trac")
+ url.set("https://github.com/dictzip/dictzip-java/issues")
+ }
+ }
+ }
+ }
+}
+
+signing {
+ required { gradle.taskGraph.hasTask("uploadArchives") || gradle.taskGraph.hasTask("bintrayUpload")}
+ sign publishing.publications.mavenJava
+ sign configurations.archives
+}