OSDN Git Service

GHA: fix gradle problem
[dictzip-java/dictzip-java.git] / build.gradle
index 9a78b09..95a7653 100644 (file)
@@ -2,10 +2,12 @@ import org.apache.tools.ant.filters.ReplaceTokens
 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
@@ -13,76 +15,54 @@ subprojects {
     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
@@ -102,8 +82,6 @@ project(':dictzip-lib') {
             publicDownloadNumbers = true
         }
     }
-    task mandoc << {}
-    task githubRelease(overwrite: true) << {}
 
     install {
         repositories.mavenInstaller {
@@ -177,9 +155,9 @@ project(':dictzip-cli') {
     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
@@ -222,42 +200,14 @@ project(':dictzip-cli') {
                 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 = ''
@@ -298,3 +248,38 @@ gradle.taskGraph.whenReady { taskGraph ->
         }
     }
 }
+
+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
+}