Closed jxblum closed 4 years ago
I see that Spring Security is already building with Spring Build Conventions 0.0.30.RELEASE
, here.
However, I don't see anything particularly interesting in the manual build.gradle nor the guides build.gradle files.
The manual build.gradle
is more interesting since it is using the io.spring.conventions.docs
Gradle Plugin. The guides build.gradle
does not!
However, I guess the question would be, "is the Spring Security Docs Manual using the spring.css
file?" I see no reason why it wouldn't apply the stylesheet unless there is some non-apparent configuration I have not come across that is excluding the CSS file in someway.
Although, the src/docs/asciidoc
file structure does not contain nested "guides" unlike Spring Session core, either, as seen here.
Perhaps the guides need to be in their own sub-project/module? This is clearly the case for Spring Security, as seen here.
In any case, it is not apparent what prescribed patterns must be followed to successfully use this plugin, and specifically, the io.spring.conventions.docs
Gradle Plugin.
After reviewing the AsciidoctorConventionPlugin class, I was able to figure out a way to resolve the spring.css
file by setting an absolute path to the file using:
def relativePathToSpringCss = "css/spring.css"
def pathToSpringCss = new File(project.getBuildDir(), relativePathToSpringCss).getAbsolutePath()
And then configuring the Asciidoctor Gradle Plugin stylesheet
attribute with...
asciidoctor {
attributes 'stylesheet' : pathToSpringCss
}
This seems to work.
However, now, the Asciidoc build fails due to other errors (?), which are technically "warnings" I think??
...
..
.
- skipping reference to missing attribute: spring-framework-docs
- skipping reference to missing attribute: spring-boot-docs-html
- possible invalid reference: geode-security
- possible invalid reference: geode-cluster-configuration-bootstrapping
at org.asciidoctor.gradle.remote.ExecutorBase.failOnWarnings(ExecutorBase.groovy:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:74)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:67)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
> Task :spring-geode-docs:asciidoctor FAILED
FAILURE: Build failed with an exception.
The Asciidoctor Gradle Plugin seems to be configured to "fail on warnings" as first requested/described here, and then leading to action here.
Seems the default LogHandler
for the Asciidoctor Gradle Plugin should be able to be configured similar to this:
asciidoctor {
...
logHandler {
outputToConsole = false
failIf {
severity 'ERROR'
}
}
}
And/Or:
asciidoctorj {
fatalWarnings ''
}
However, either my Groovy/Gradle syntax is wrong, the Asciidoctor Gradle Plugin version used by the Spring Build Conventions Gradle Plugin does not match/contain this feature, or something.
And, then I just noticed this, followed by this!
Seems that maybe the following should have had an effect (?):
asciidoctorj {
fatalWarnings ''
}
Essentially, I DO NOT want to fail on warnings since I don't think the warnings are valid anyway!
For instance:
WARNING: skipping reference to missing attribute: spring-boot-docs-html
Feb 21, 2020 12:42:11 AM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-security
...
..
.
Which I have defined in my index.adoc file as:
...
:spring-boot-docs: https://docs.spring.io/spring-boot/docs/current/reference
:spring-boot-docs-html: {spring-boot-docs}/htmlsingle
...
UPDATE: I managed to clean up all warnings in my Asciidoctor doc generation, and now I am left with only INFO log messages, such as:
> Task :spring-geode-docs:asciidoctor
Feb 21, 2020 4:25:49 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_section
INFO: possible invalid reference: geode-clientcache-applications
Feb 21, 2020 4:25:50 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb content
INFO: possible invalid reference: appendix
...
..
.
However, the Asciidoctor Gradle build task still fails:
- possible invalid reference: geode-security
- possible invalid reference: geode-cluster-configuration-bootstrapping
at org.asciidoctor.gradle.remote.ExecutorBase.failOnWarnings(ExecutorBase.groovy:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:74)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:67)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
I am not certain what the AsciidoctorJExtension.fatalWarnings(".*")
call exactly does, but I don't think this configuration by the Spring Build Conventions Gradle Plugin is entirely correct either! That is, I am not sure it should fail on all warnings.
Furthermore, I am not entirely certain a call to fatalWarnings("regex")
only identifies LogLevel.WARN
messages (i.e. WARN
and only WARN
log messages matching the Regex; I think INFO
log messages match as well) that should be considered "fatal" and thus, fail the build.
I think it is all log messages regardless of the LogLevel
.
I essentially tried:
def asciidoctorExtension = project.getExtensions().getByType(AsciidoctorJExtension.class)
asciidoctorExtension.fatalWarnings("ERROR.*")
asciidoctorExtension.setLogLevel("WARN")
Inside my spring-geode-docs.gradle
build file, but it had no effect.
Currently, I am exploring ways to control the log output by registering a custom LogHandler
.
@jxblum Can you please point me to your branch?
Hi @rwinch - I experimented with this using Spring Session core, then Spring Session for Apache Geode (SSDG) and finally, did most of my attempted upgrade work on Spring Boot for Apache Geode (SBDG), trying to upgrade to Spring Build Conventions 0.0.30.RELEASE
:
Hi @rwinch - Just an update...
I repeated this exercise, but upgraded SBDG to Spring Build Conventions 0.0.28.RELEASE
instead.
The branch is upgrade-to-spring-build-conventions-0.0.28.RELEASE.
I followed the direction from @eleftherias in this Slack post, and specifically the changes in this commit, applied to SBDG docs.
While my HTML docs render fine at quick glance, my PDF(s) on the other hand, do not render correctly.
The Asciidocs build is currently generating these problems:
> Task :spring-geode-docs:asciidoctorPdf
Mar 03, 2020 11:18:11 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/substitutors.rb sub_attributes
WARNING: dropping line containing reference to missing attribute: starter-logging-resources-dir
Mar 03, 2020 11:18:11 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/substitutors.rb sub_attributes
WARNING: dropping line containing reference to missing attribute: starter-logging-resources-dir
Mar 03, 2020 11:18:20 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Mar 03, 2020 11:18:20 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Mar 03, 2020 11:18:24 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Mar 03, 2020 11:18:35 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:35 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/HTTP-Session-Caching.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Spring-Session-Framework-Architecture.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/HttpSessionCachingApplication.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/HttpSessionCachingApplication-ServletContainerSession.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/HttpSessionCachingApplication-ServletContainerSessionExpiration.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/HttpSessionCachingApplication-SpringSession.png
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:36 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/spring-initializer-screenshot.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/spring-initializer-explore-project-screenshot.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/customer-service-application-jondoe.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps-crm-app-overview.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps-crm-app-service.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps-crm-app-settings.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps-crm-app-start.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/pvtl-appsmanager-org-space-apps-crm-app-logs-output.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/getting-started-crm-app-homepage.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/getting-started-crm-app-getallcustomers.png
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:41 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Small-Database-To-Big-Database.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Cluster.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Pattern.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Example-Webapp.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Example-Webapp-Create-JonDoe.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Example-Webapp-Read-JonDoe.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Example-Webapp-Update-JonDoe.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Near-Caching-Example-Webapp-Reload-JonDoe.png
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:42 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Inline-Caching-Pattern.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/factorial-of-four-before.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/factorial-of-four-after.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/factorial-of-five-before.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/factorial-of-five-after.png
Mar 03, 2020 11:18:44 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:44 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:44 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:44 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/Look-Aside-Caching-Pattern.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/LookAsideCachingApplication-Ping.png
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:45 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/client-actuator-health-endpoints.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/client-actuator-health-region-endpoint.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/client-actuator-health-cq-endpoint.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/server-actuator-health-endpoints.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/server-actuator-health-region-endpoint.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/server-actuator-health-indexes-endpoint.png
asciidoctor: WARNING: image to embed not found or not readable: /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/src/docs/images/server-actuator-health-cacheserver-endpoint.png
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/reader.rb preprocess_include_directive
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/parser.rb parse
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:46 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: samples-dir
Mar 03, 2020 11:18:50 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: docs-resources-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: starter-logging-resources-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: starter-logging-resources-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: docs-resources-dir
Mar 03, 2020 11:19:00 PM uri:classloader:/gems/asciidoctor-1.5.8/lib/asciidoctor/document.rb parse
WARNING: dropping line containing reference to missing attribute: docs-src-dir
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 2m 14s
29 actionable tasks: 12 executed, 17 up-to-date
Even though the docs build successfully (i.e. the docs build does not fail on Warnings or missing images unlike when using the 0.0.30.RELEASE
version) the PDF does not render correctly.
NOTE: Path locations like
starter-logging-resources-dir
(along with other variables the build is complaining about) are defined in my build.gradle file and images are located here. These appear fine in the rendered HTML, but not the PDF.
This branch might be a bit easier to reason about.
@jxblum See if this helps https://github.com/jxblum/spring-boot-data-geode/pull/1
Thank you @rwinch! Will give that a go and let you know. Much appreciated.
Hi @rwinch - Seems like it would be better if I moved my adoc includes into a subdirectory called "_includes", rather than customizing the Gradle Asciidoctor build task in this manner. That would seem to follow the preferred "convention" set by Spring Build Conventions anyway, and be more consistent in the long run. Thoughts?
If I did this, I assume I would be able to keep the standard Asciidoctor task configuration using the original syntax...
asciidoctor {
...
}
At any rate, I will give that a try.
Actually, it turns out that my ./guides (located here) now are missing, resulting in a 404.
I probably could add guides/*
as the additional source, something like this (perhaps):
tasks.withType(AbstractAsciidoctorTask).configureEach {
clearSources()
sources {
include "index.adoc", "guides/*"
}
...
However, I think it makes more sense to follow the actual includes convention by properly putting adoc includes in "_includes".
Going to give this a try.
So, I moved my include files (i.e. all adoc files in src/docs/asciidoc excluding index.adoc
, into src/docs/asciidoc/_includes
), but now, I am hitting the dreaded missing stylesheet error:
> Task :spring-geode-docs:asciidoctor
Mar 04, 2020 11:42:57 AM org.asciidoctor.jruby.internal.JRubyAsciidoctor convertFile
SEVERE: (ENOENT) No such file or directory - /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/build/docs/css/spring.css
Exception in thread "main" org.asciidoctor.gradle.remote.AsciidoctorRemoteExecutionException: Error running Asciidoctor whilst attempting to process /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/build/tmp/asciidoctor.intermediate/caching-http-session.adoc using backend html5
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at groovy.lang.Closure.call(Closure.java:405)
at groovy.lang.Closure.call(Closure.java:421)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2368)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.convertFiles(AsciidoctorJavaExec.groovy:80)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.access$1(AsciidoctorJavaExec.groovy)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:72)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:67)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
Caused by: org.asciidoctor.jruby.internal.AsciidoctorCoreException: org.jruby.exceptions.SystemCallError: (ENOENT) No such file or directory - /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/build/docs/css/spring.css
at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:400)
at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:366)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:85)
... 22 more
Caused by: org.jruby.exceptions.SystemCallError: (ENOENT) No such file or directory - /Users/jblum/pivdev/spring-boot-data-geode/spring-geode-docs/build/docs/css/spring.css
at org.jruby.RubyIO.sysopen(org/jruby/RubyIO.java:1239)
at org.jruby.RubyIO.write(org/jruby/RubyIO.java:3804)
at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:160)
at RUBY.convert_file(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:183)
at org.jruby.RubyIO.open(org/jruby/RubyIO.java:1160)
at RUBY.convert_file(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:183)
I even tried to apply the changes suggested by @eleftherias, but for 1 reason or another, that did not have any effect. Not sure if the 0.0.31.RELEASE
version has anything to do with it vs. 0.0.28.RELEASE
where those changes did work.
Well, when I again apply my technique above, i.e. defining the absolute path to the spring.css
stylesheet using:
def relativePathToSpringCss = "css/spring.css"
def pathToSpringCss = new File(project.getBuildDir(), relativePathToSpringCss).getAbsolutePath()
And then:
asciidoctor {
attributes 'stylesheet' : pathToSpringCss
}
This is able to resolve the stylesheet. However, by moving all my "includes" into a _includes
directory, I now end up with the following INFO and WARNING messages that result in failing the build:
> Task :spring-geode-docs:asciidoctor
Mar 04, 2020 1:31:10 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_section
INFO: possible invalid reference: geode-caching-provider
Mar 04, 2020 1:31:11 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-caching-provider
Mar 04, 2020 1:31:11 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
WARNING: skipping reference to missing attribute: apache-geode-docs
Mar 04, 2020 1:31:11 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
WARNING: skipping reference to missing attribute: apache-geode-docs
Mar 04, 2020 1:31:11 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-security
Mar 04, 2020 1:31:11 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-cluster-configuration-bootstrapping
Mar 04, 2020 1:31:13 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
WARNING: skipping reference to missing attribute: apache-geode-docs
Mar 04, 2020 1:31:13 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
WARNING: skipping reference to missing attribute: apache-geode-docs
Mar 04, 2020 1:31:13 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-security
Mar 04, 2020 1:31:13 PM uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/converter/html5.rb convert_document
INFO: possible invalid reference: geode-cluster-configuration-bootstrapping
Exception in thread "main" org.asciidoctor.gradle.remote.AsciidoctorRemoteExecutionException: ERROR: The following messages from AsciidoctorJ are treated as errors:
possible invalid reference: geode-caching-provider
- possible invalid reference: geode-caching-provider
- skipping reference to missing attribute: apache-geode-docs
- skipping reference to missing attribute: apache-geode-docs
- possible invalid reference: geode-security
- possible invalid reference: geode-cluster-configuration-bootstrapping
- skipping reference to missing attribute: apache-geode-docs
- skipping reference to missing attribute: apache-geode-docs
- possible invalid reference: geode-security
- possible invalid reference: geode-cluster-configuration-bootstrapping
at org.asciidoctor.gradle.remote.ExecutorBase.failOnWarnings(ExecutorBase.groovy:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:74)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:67)
at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
> Task :spring-geode-docs:asciidoctor FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':spring-geode-docs:asciidoctor'.
> Remote Asciidoctor process failed to complete successfully
On a side note, I still think there needs to be more intelligence around "resolving" the spring.css
stylesheet. Assuming it is relative (i.e. css/spring.css
) to something else seems (potentially, always) problematic to me.
I don't fully understand why Asciidoctor cannot resolve the (possibly) invalid references, which are technically valid, other than perhaps it has something to do with processing order and/or the "definition of source"???
FYI... I am trying to use the Spring Security Manual (ascii)doc source as my guide for doing the right thing.
@jxblum Please see https://github.com/jxblum/spring-boot-data-geode/pull/2
Can this be closed?
Yes. Thank you.
The
io.spring.conventions.docs
Gradle Plugin from Spring Build Conventions fails to resolve thespring.css
file when building and rendering Asciidocs to HTML, EPUB, PDF, etc.When building with Gradle
6.2
(or Gradle5.6.x
, e.g.5.6.4
), using Spring Build Conventions0.0.30.RELEASE
throws an Exception while running the Asciidoctor Gradle build task:This is the build output from Spring Session core after upgrading the Spring Build Conventions Gradle Plugin to
0.0.30.RELEASE
in build.gradle.