diff --git a/spring-integration-kotlin-dsl/build.gradle b/spring-integration-kotlin-dsl/build.gradle index 12f0d98..5620dd3 100644 --- a/spring-integration-kotlin-dsl/build.gradle +++ b/spring-integration-kotlin-dsl/build.gradle @@ -5,8 +5,9 @@ plugins { id 'jacoco' id 'org.sonarqube' version '2.7.1' id 'io.spring.dependency-management' version '1.0.8.RELEASE' - id "org.jetbrains.kotlin.jvm" version "$kotlinVersion" + id 'org.jetbrains.kotlin.jvm' version "$kotlinVersion" id "org.jetbrains.kotlin.plugin.spring" version "$kotlinVersion" + id 'org.jetbrains.dokka' version '0.9.18' } apply from: "${rootProject.projectDir}/publish-maven.gradle" @@ -16,6 +17,7 @@ description = 'Spring Integration Kotlin DSL' group = 'org.springframework.integration' repositories { +// mavenLocal() if (version.endsWith('BUILD-SNAPSHOT')) { maven { url 'https://repo.spring.io/libs-snapshot' } } @@ -25,9 +27,10 @@ repositories { ext { assertkVersion = '0.20' - jacksonVersion = '2.10.0.pr3' + jacksonVersion = '2.10.0' junitVersion = '5.5.2' log4jVersion = '2.12.1' + reactorVersion = 'Dysprosium-RELEASE' springIntegrationVersion = '5.2.0.BUILD-SNAPSHOT' idPrefix = 'kotlin-dsl' @@ -55,6 +58,7 @@ dependencyManagement { mavenBom "org.junit:junit-bom:$junitVersion" mavenBom "org.springframework.integration:spring-integration-bom:$springIntegrationVersion" mavenBom "org.apache.logging.log4j:log4j-bom:$log4jVersion" + mavenBom "io.projectreactor:reactor-bom:$reactorVersion" } } @@ -89,6 +93,7 @@ dependencies { testImplementation 'org.springframework.integration:spring-integration-test' testImplementation 'org.junit.jupiter:junit-jupiter-api' testImplementation "com.willowtreeapps.assertk:assertk-jvm:$assertkVersion" + testImplementation 'io.projectreactor:reactor-test' testRuntime 'com.fasterxml.jackson.module:jackson-module-kotlin' testRuntime 'org.junit.jupiter:junit-jupiter-engine' @@ -115,7 +120,21 @@ jacocoTestReport { } } -check.dependsOn javadoc +task api(type: org.jetbrains.dokka.gradle.DokkaTask) { + outputFormat = 'html' + outputDirectory = "$buildDir/javadoc" + externalDocumentationLink { + url = new URL("https://docs.spring.io/spring-integration/docs/$springIntegrationVersion/api/") + } + externalDocumentationLink { + url = new URL('https://projectreactor.io/docs/core/release/api/') + } + externalDocumentationLink { + url = new URL('https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/') + } +} + +check.dependsOn api build.dependsOn jacocoTestReport @@ -126,7 +145,7 @@ task sourcesJar(type: Jar) { task javadocJar(type: Jar) { archiveClassifier = 'javadoc' - from javadoc + from api } sonarqube { @@ -141,20 +160,6 @@ sonarqube { } } -task api(type: Javadoc) { - group = 'Documentation' - description = 'Generates the Javadoc API documentation.' - title = "${rootProject.description} ${version} API" - options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED - options.author = true - options.header = rootProject.description - options.overview = 'src/api/overview.html' - - source = sourceSets.main.kotlin - classpath = project.sourceSets.main.compileClasspath - destinationDir = new File(buildDir, 'api') -} - task distZip(type: Zip) { group = 'Distribution' archiveClassifier = 'dist' diff --git a/spring-integration-kotlin-dsl/src/api/overview.html b/spring-integration-kotlin-dsl/src/api/overview.html deleted file mode 100644 index dd3e4da..0000000 --- a/spring-integration-kotlin-dsl/src/api/overview.html +++ /dev/null @@ -1,22 +0,0 @@ - -
-This document is the API specification for Spring Integration Cassandra Extension -- For further API reference and developer documentation, see the - Spring - Integration reference documentation. - That documentation contains more detailed, developer-targeted - descriptions, with conceptual overviews, definitions of terms, - workarounds, and working code examples. -
- -- If you are interested in commercial training, consultancy, and - support for Spring Integration, please visit - https://spring.io/ -
-