@@ -14,7 +14,7 @@ tasks.withType<JavaCompile> {
1414 options.release.set(8 )
1515}
1616
17- val javadocForWebDir = " $buildDir / docs/web-api-docs"
17+ val javadocForWebDir = layout.buildDirectory.dir( " docs/web-api-docs" )
1818val essentialsVersion: String by rootProject.extra
1919
2020dependencies {
@@ -23,7 +23,7 @@ dependencies {
2323 api(" com.google.code.findbugs:jsr305:3.0.2" )
2424
2525 // https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md
26- compileOnly(" com.github.spotbugs:spotbugs-annotations:4.7.3 " )
26+ compileOnly(" com.github.spotbugs:spotbugs-annotations:4.8.6 " )
2727}
2828
2929spotbugs {
@@ -42,12 +42,14 @@ tasks.spotbugsMain {
4242tasks.javadoc {
4343 // Internal Java APIs
4444 exclude(" **/io/objectbox/Cursor.java" )
45+ exclude(" **/io/objectbox/InternalAccess.java" )
4546 exclude(" **/io/objectbox/KeyValueCursor.java" )
4647 exclude(" **/io/objectbox/ModelBuilder.java" )
4748 exclude(" **/io/objectbox/Properties.java" )
4849 exclude(" **/io/objectbox/Transaction.java" )
4950 exclude(" **/io/objectbox/ideasonly/**" )
5051 exclude(" **/io/objectbox/internal/**" )
52+ exclude(" **/io/objectbox/query/InternalAccess.java" )
5153 exclude(" **/io/objectbox/reactive/DataPublisherUtils.java" )
5254 exclude(" **/io/objectbox/reactive/WeakDataObserver.java" )
5355 exclude(" **/io/objectbox/sync/server/ClusterPeerInfo.java" )
@@ -63,7 +65,7 @@ tasks.javadoc {
6365}
6466
6567// Note: use packageJavadocForWeb to get as ZIP.
66- tasks.register< Javadoc >( " javadocForWeb " ) {
68+ val javadocForWeb by tasks.registering( Javadoc :: class ) {
6769 group = " documentation"
6870 description = " Builds Javadoc incl. objectbox-java-api classes with web tweaks."
6971
@@ -78,12 +80,14 @@ tasks.register<Javadoc>("javadocForWeb") {
7880 val filteredSources = sourceSets.main.get().allJava.matching {
7981 // Internal Java APIs
8082 exclude(" **/io/objectbox/Cursor.java" )
83+ exclude(" **/io/objectbox/InternalAccess.java" )
8184 exclude(" **/io/objectbox/KeyValueCursor.java" )
8285 exclude(" **/io/objectbox/ModelBuilder.java" )
8386 exclude(" **/io/objectbox/Properties.java" )
8487 exclude(" **/io/objectbox/Transaction.java" )
8588 exclude(" **/io/objectbox/ideasonly/**" )
8689 exclude(" **/io/objectbox/internal/**" )
90+ exclude(" **/io/objectbox/query/InternalAccess.java" )
8791 exclude(" **/io/objectbox/reactive/DataPublisherUtils.java" )
8892 exclude(" **/io/objectbox/reactive/WeakDataObserver.java" )
8993 exclude(" **/io/objectbox/sync/server/ClusterPeerInfo.java" )
@@ -100,7 +104,7 @@ tasks.register<Javadoc>("javadocForWeb") {
100104 source = filteredSources + fileTree(srcApi)
101105
102106 classpath = sourceSets.main.get().output + sourceSets.main.get().compileClasspath
103- setDestinationDir(file( javadocForWebDir) )
107+ setDestinationDir(javadocForWebDir.get().asFile )
104108
105109 title = " ObjectBox Java ${project.version} API"
106110 (options as StandardJavadocDocletOptions ).apply {
@@ -124,39 +128,31 @@ tasks.register<Javadoc>("javadocForWeb") {
124128 .replace(" #bb7a2a" , " #E61955" ) // Hover
125129 stylesheetFile.writeText(replacedContent)
126130 // Note: in CSS stylesheets the last added rule wins, so append to default stylesheet.
127- // Code blocks
128- stylesheetFile.appendText(" pre {\n white-space: normal;\n overflow-x: auto;\n }\n " )
129- // Member summary tables
130- stylesheetFile.appendText(" .memberSummary {\n overflow: auto;\n }\n " )
131- // Descriptions and signatures
132- stylesheetFile.appendText(" .block {\n " +
133- " display:block;\n " +
134- " margin:3px 10px 2px 0px;\n " +
135- " color:#474747;\n " +
136- " overflow:auto;\n " +
137- " }" )
131+ // Make code blocks scroll instead of stick out on small width
132+ stylesheetFile.appendText(" pre {\n overflow-x: auto;\n }\n " )
138133
139134 println (" Javadoc for web created at $destinationDir " )
140135 }
141136}
142137
143138tasks.register<Zip >(" packageJavadocForWeb" ) {
144- dependsOn(" javadocForWeb" )
139+ dependsOn(javadocForWeb)
145140 group = " documentation"
146141 description = " Packages Javadoc incl. objectbox-java-api classes with web tweaks as ZIP."
147142
148143 archiveFileName.set(" objectbox-java-web-api-docs.zip" )
149- destinationDirectory.set(file(" $buildDir /dist" ))
144+ val distDir = layout.buildDirectory.dir(" dist" )
145+ destinationDirectory.set(distDir)
150146
151147 from(file(javadocForWebDir))
152148
153149 doLast {
154- println (" Javadoc for web packaged to ${file(" $buildDir /dist/ objectbox-java-web-api-docs.zip" )} " )
150+ println (" Javadoc for web packaged to ${distDir.get(). file(" objectbox-java-web-api-docs.zip" )} " )
155151 }
156152}
157153
158154val javadocJar by tasks.registering(Jar ::class ) {
159- dependsOn(" javadoc" )
155+ dependsOn(tasks. javadoc)
160156 archiveClassifier.set(" javadoc" )
161157 from(" build/docs/javadoc" )
162158}
0 commit comments