This is an automated email from the ASF dual-hosted git repository.

houston pushed a commit to branch jira/solr-15556-antora
in repository https://gitbox.apache.org/repos/asf/solr.git

commit d6a2318bc232b8a531b09a875d733092497831ff
Author: Houston Putman <[email protected]>
AuthorDate: Wed Feb 2 19:10:35 2022 -0500

    Remove jekyll from ref-guide build. Can revert if need be.
---
 gradle/validation/ecj-lint.gradle |   8 --
 solr/solr-ref-guide/build.gradle  | 282 ++------------------------------------
 versions.lock                     |  28 +---
 versions.props                    |   4 +-
 4 files changed, 16 insertions(+), 306 deletions(-)

diff --git a/gradle/validation/ecj-lint.gradle 
b/gradle/validation/ecj-lint.gradle
index 0a7b044..8c72f9d 100644
--- a/gradle/validation/ecj-lint.gradle
+++ b/gradle/validation/ecj-lint.gradle
@@ -102,11 +102,3 @@ allprojects {
     check.dependsOn ecjLint
   }
 }
-
-// This excludes solr-ref-guide from the check (excludes are not taken into 
account
-// and linting of the ant-based task fails.
-configure(project(":solr:solr-ref-guide")) {
-  afterEvaluate {
-    project.tasks.findByPath("ecjLintMain").enabled = false
-  }
-}
diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle
index 10d47f2..1151b72 100644
--- a/solr/solr-ref-guide/build.gradle
+++ b/solr/solr-ref-guide/build.gradle
@@ -17,40 +17,25 @@
 
 import org.apache.tools.ant.util.TeeOutputStream
 
-buildscript {
-    repositories {
-        mavenCentral()
-        jcenter()
-    }
-
-    dependencies {
-        classpath "org.asciidoctor:asciidoctorj:2.5.1"
-    }
-}
-
 plugins {
-    id 'java'
-    id 'com.github.jruby-gradle.base' version '2.0.1'
     id "com.github.node-gradle.node" version "3.1.1"
 }
 
-// This project does not contribute anything to main dependencies.
-versionsLock {
-    testProject()
-}
+description = 'Solr Reference Guide'
 
-description = 'Solr reference guide'
+// TODO document these properties in help
+// TODO Maybe split official and local into separate tasks instead of using a 
property to switch.
+//      This is possible now that we own the antora build process.
+def isLocalGuide = propertyOrEnvOrDefault("refguide.local", "REFGUIDE_LOCAL", 
"true").toBoolean()
 
-// Use an internal proxy to ruby gems.
-repositories {
-    ruby.gems()
+// Attach building the ref guide to standard convention tasks. This
+// can be optionally turned off (see SOLR-15670).
+if (propertyOrEnvOrDefault('refguide.include', 'SOLR_REF_GUIDE_INCLUDE', 
"true").toBoolean()) {
+    check.dependsOn 'checkSiteLinks'
+    assemble.dependsOn 'buildSite'
 }
 
-// TODO document these properties in help
-def isLocalGuide = propertyOrEnvOrDefault("refguide.local", "REFGUIDE_LOCAL", 
"true").trim().toLowerCase().startsWith("t")
-
 configurations {
-    depVer
     refGuide
     officialPlaybook
     localPlaybook
@@ -60,251 +45,10 @@ configurations {
 }
 
 dependencies {
-    // Dependencies to compile internal tools.
-    implementation('org.asciidoctor:asciidoctorj')
-    implementation('com.vaadin.external.google:android-json')
-    implementation('org.jsoup:jsoup')
-    implementation('org.slf4j:jcl-over-slf4j')
-    implementation('org.slf4j:slf4j-simple')
-    implementation('org.apache.logging.log4j:log4j-core')
-    implementation('com.google.guava:guava') { transitive = false }
-    implementation('commons-codec:commons-codec')
-
-    // Dependencies referenced in the guide.
-    depVer('commons-codec:commons-codec')
-    depVer('io.dropwizard.metrics:metrics-core')
-    depVer('org.apache.logging.log4j:log4j-core')
-    depVer('org.apache.opennlp:opennlp-tools')
-    depVer('org.apache.tika:tika-core')
-    depVer('org.apache.zookeeper:zookeeper')
-
-    // jekyll dependencies: we cannot use jekyll >=4, as this version uses 
native lib
-    // ("sassc" instead of deprecated "sass") which fails to compile on some 
platforms.
-    // See https://issues.apache.org/jira/browse/SOLR-15520 for more details.
-    gems 'rubygems:jekyll:3.9.1'
-    gems 'rubygems:jekyll-asciidoc:3.0.0'
-
-    // don't know why we have to explicitly add these deps but it doesn't 
resolve them
-    // automatically.
-    gems 'rubygems:tilt:2.0.10'
-    gems 'rubygems:slim:4.1.0'
-    gems 'rubygems:concurrent-ruby:1.1.9'
-    gems 'rubygems:http_parser.rb:0.6.0'
-
     localPlaybook project(path: ":solr:documentation", configuration: 
'javadocs')
     localPlaybook project(path: ":solr:documentation", configuration: 'site')
 }
 
-sourceSets {
-    refGuide {
-        java {
-            srcDirs = []
-        }
-        resources {
-            srcDirs = ['src']
-        }
-    }
-
-    main {
-        java {
-            srcDirs = ['tools']
-        }
-    }
-
-    test {
-        java {
-            srcDirs = []
-        }
-    }
-}
-
-ext {
-    mainPage = "index"
-
-    // the "MAJOR.MINOR" version of solr this guide is about (guides aren't 
specific to BUGFIX releases)
-    // So on 'branch_9_9' where 'version' may be 9.9.0, 9.9.1, 9.9.9, etc..;  
solrDocsVersion = 9.9
-    solrDocsVersion = "${version}".replaceAll(/^(\d+\.\d+)(|\..*)$/, "\$1")
-
-    // the "MAJOR_MINOR" version as a path for publishing the guide
-    // So on 'branch_9_9' where solrDocsVersion = 9.9; solrGuideVersionPath => 
9_9
-    solrGuideVersionPath = "${solrDocsVersion}".replaceAll(/^(\d+)\.(\d+)$/, 
"\$1_\$2")
-
-    // these will be used to dynamically build up (nearly) identical tasks 
with consistent names
-    // for building & link checking the ref guide.  One using absolute URLs to 
javadocs, the
-    // other using local paths that can be validated by the link checker.
-    htmlSiteDetails =
-        [name: 'Site',
-         path: 'html-site',
-         desc: 'HTML Site for publishing to the Solr website',
-         props: [
-            htmlSolrJavadocs: 
"https://solr.apache.org/docs/${solrGuideVersionPath}_0/";,
-            htmlLuceneJavadocs: project(':solr:documentation').luceneDocUrl
-        ]
-    ]
-    linkCheckSiteDetails =
-        [name: 'LocalJavadocLinksSite',
-         path: 'local-jdoc-links-site',
-         desc: 'Local Site for checking javadoc links',
-
-         // NOTE: extra '../' because we'll in a sub-dir of buildDir that will 
be built later...
-         props: [
-            htmlSolrJavadocs : 'link:../' + 
buildDir.toPath().relativize(project(':solr:documentation').docroot.toPath()).toString().replace(File.separator,
 '/'),
-            htmlLuceneJavadocs :  'link:../' + 
buildDir.toPath().relativize(project(':solr:documentation').luceneDocsDir.toPath()).toString().replace(File.separator,
 '/'),
-         ]
-
-         // TODO: (see full discussion in SOLR-15265)
-         // Ref guide build should really depend on those javadocs it links to 
- then there would be no awkwardness and, ideally,
-         // you could just sync the resources you need into the final 
structure (that's why I declared javadocs as an artifact).
-         // This does entail some duplication (syncing between folders) but if 
it's reused in different places then it's fine.
-    ]
-}
-
-// dynamically define the 2 variations of each target that we need...
-[ htmlSiteDetails, linkCheckSiteDetails ].each{ details ->
-    final def contentDir = file("${buildDir}/${details.path}-content")
-    final def htmlDir = file("${buildDir}/${details.path}")
-
-    tasks.create("prepare${details.name}Sources", PrepareSources) {
-        // configure task properties.
-        srcDir.set(project.sourceSets.refGuide.resources.srcDirs.first())
-        outDir.set(contentDir)
-
-        // Set these dependency versions as lazy gstrings so that they're 
resolved after evaluation.
-        def dependencyProps = [
-            ["ivyCommonsCodec", "commons-codec", "commons-codec"],
-            ["ivyDropwizardMetrics", "io.dropwizard.metrics", "metrics-core"],
-            ["ivyHadoop", "org.apache.hadoop", "hadoop-auth"],
-            ["ivyLog4j", "org.apache.logging.log4j", "log4j-core"],
-            ["ivyOpennlpTools", "org.apache.opennlp", "opennlp-tools"],
-            ["ivyTika", "org.apache.tika", "tika-core"],
-            ["ivyZookeeper", "org.apache.zookeeper", "zookeeper"],
-        ].collectEntries { propKey, depGroup, depId -> [propKey, "${ -> 
project.getVersion(depGroup, depId) }"] }
-
-        props.putAll([
-            htmlOutDir: "../${details.path}",
-            javadocLink : 
"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/";,
-            solrGuideDraftStatus : propertyOrDefault('solrGuideDraft', 
"true").toBoolean() ? "DRAFT" : "",
-            solrRootPath : project(':solr').projectDir.toString() + 
File.separator,
-            solrDocsVersion : project.ext['solrDocsVersion'],
-            solrGuideVersionPath : project.ext['solrGuideVersionPath'],
-            solrFullVersion: project.version,
-            buildDate : rootProject.ext['buildDate'],
-            buildYear : rootProject.ext['buildYear'],
-            * : details.props,
-            * : dependencyProps
-        ])
-    }
-
-    task "build${details.name}"(type: com.github.jrubygradle.JRubyExec) {
-        dependsOn "prepare${details.name}Sources"
-        group "Documentation"
-        description "Builds the ${details.desc}"
-
-        outputs.cacheIf { true }
-        inputs.dir contentDir
-        outputs.dir htmlDir
-
-        script 'jekyll'
-        scriptArgs 'build' //, '--verbose'
-        workingDir contentDir
-    }
-
-    task "check${details.name}"(type: JavaExec) {
-        dependsOn "build${details.name}"
-
-        classpath = sourceSets.main.runtimeClasspath
-        main = 'org.apache.solr.guide.CheckLinksAndAnchors'
-        workingDir = contentDir
-
-        // NOTE: even for the 'real' site, we check all relative links
-        // (there will just be less of them, and this way any stray hardcoded
-        // '../../' paths can be caught more easily)
-        args([ htmlDir, "-check-all-relative-links" ])
-    }
-}
-
-// Hook in our dependency on all top level documentation in order to check 
local javadoc links
-checkLocalJavadocLinksSite.dependsOn ':documentation'
-
-// Attach building the ref guide to standard convention tasks. This
-// can be optionally turned off (see SOLR-15670).
-if (propertyOrEnvOrDefault('refguide.include', 'SOLR_REF_GUIDE_INCLUDE', 
"true").toBoolean()) {
-  check.dependsOn checkLocalJavadocLinksSite, checkSite
-  assemble.dependsOn buildSite
-}
-
-@CacheableTask
-abstract class PrepareSources extends DefaultTask {
-    // Original Source files we'll be syncing <b>FROM</b>
-    @InputDirectory
-    @PathSensitive(PathSensitivity.RELATIVE)
-    abstract DirectoryProperty getSrcDir()
-
-    // Destination folder.
-    @OutputDirectory
-    abstract DirectoryProperty getOutDir()
-
-    /**
-     * Task specific props (lazy provider)
-     */
-    @Input
-    abstract MapProperty<String, String> getProps()
-
-    public PrepareSources() {
-        // setup 'dependsOn classes, configurations.depVer' here
-        // so that it's not necessary for every task impl to declare 
redundantly
-        final Project p = getProject()
-        dependsOn(p.getConfigurations().getByName('depVer'))
-        dependsOn(p.getTasksByName('classes', false))
-    }
-
-    @TaskAction
-    public void doCopy() {
-        final Project p = getProject();
-
-        // Make a local copy we'll be modifying.
-        final def props = this.props.get()
-
-        final File intoDir = this.outDir.asFile.get();
-
-        // Emit info about properties for clarity.
-        logger.lifecycle('Syncing source files to {} using props:\n{}',
-                         intoDir, props.collect({ k, v -> "  ${k} -> ${v}" 
}).join('\n'))
-
-        // Escape all the properties, so they can be inserted into YAML 
templates.
-        final def escapedProps = props.collectEntries{k, v -> [k, 
v.replace("'","''")]}
-
-        def sourceDir = srcDir.get()
-
-        final WorkResult syncResult = p.sync({ copySpec ->
-            copySpec.setFilteringCharset('UTF-8');
-            copySpec.from(sourceDir, { raw ->
-                raw.exclude('**/*.template')
-            })
-
-            copySpec.from(sourceDir, { templated ->
-                templated.include('**/*.template')
-                templated.rename('(.+)\\.template', '$1')
-                templated.expand(escapedProps)
-            })
-            copySpec.into(intoDir);
-        })
-
-        setDidWork(syncResult.getDidWork());
-        if (syncResult.getDidWork()) {
-            // if sync did work, that means we need to rebuild the nav data 
files...
-            p.javaexec({ execSpec ->
-                execSpec.setClasspath( getProject().getConvention()
-                                      .getPlugin(JavaPluginConvention.class)
-                                      
.getSourceSets().getByName("main").getRuntimeClasspath() )
-                execSpec.setWorkingDir( intoDir )
-                execSpec.setMain( 'org.apache.solr.guide.BuildNavDataFiles' )
-                execSpec.args([ intoDir, p.property('mainPage') ])
-            })
-        }
-    }
-}
-
 ext {
     antoraVersion = "3.0.1"
     rootNodeDir = "${project.rootDir}/.gradle/node"
@@ -462,7 +206,7 @@ task downloadLinkValidator(type: NpmTask) {
     outputs.dir("${project.ext.nodeProjectDir}/node_modules/")
 }
 
-task buildSiteNew(type: NpxTask) {
+task buildSite(type: NpxTask) {
     dependsOn tasks.downloadAntoraSiteGenerator
     dependsOn tasks.buildAntoraYaml
     dependsOn configurations.playbookInUse
@@ -493,9 +237,9 @@ task buildSiteNew(type: NpxTask) {
     outputs.dir(project.ext.siteDir)
 }
 
-task validateSiteLinks(type: NpxTask) {
+task checkSiteLinks(type: NpxTask) {
     dependsOn tasks.downloadLinkValidator
-    dependsOn tasks.buildSiteNew
+    dependsOn tasks.buildSite
 
     command = "link-checker"
     args = [
diff --git a/versions.lock b/versions.lock
index b34eb07..8f8040c 100644
--- a/versions.lock
+++ b/versions.lock
@@ -226,7 +226,7 @@ org.ow2.asm:asm-commons:7.2 (1 constraints: 6b0f7267)
 org.quicktheories:quicktheories:0.26 (1 constraints: dc04f530)
 org.reactivestreams:reactive-streams:1.0.3 (3 constraints: 3c2b02fd)
 org.slf4j:jcl-over-slf4j:1.7.24 (1 constraints: 4005473b)
-org.slf4j:slf4j-api:1.7.24 (22 constraints: 9c20c409)
+org.slf4j:slf4j-api:1.7.24 (21 constraints: 9a1600f5)
 org.tallison:jmatio:1.5 (1 constraints: aa041f2c)
 org.threeten:threetenbp:1.5.0 (4 constraints: f82b9e86)
 org.tukaani:xz:1.8 (1 constraints: ad04222c)
@@ -261,7 +261,6 @@ com.amazonaws:aws-java-sdk-core:1.12.15 (2 constraints: 
501a5183)
 com.amazonaws:aws-java-sdk-kms:1.12.15 (1 constraints: d60cb42a)
 com.amazonaws:aws-java-sdk-s3:1.12.15 (1 constraints: e0125c30)
 com.amazonaws:jmespath-java:1.12.15 (2 constraints: 501a5183)
-com.beust:jcommander:1.35 (1 constraints: b50c1901)
 com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.12.3 (2 
constraints: 5e1c0ef1)
 com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.3 (2 constraints: 
a519c412)
 com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.3 (2 constraints: 
0724ba81)
@@ -269,20 +268,8 @@ 
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.3 (3 constraints: 75
 com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.3 (2 
constraints: 2326f760)
 com.fasterxml.jackson.module:jackson-module-kotlin:2.12.3 (2 constraints: 
a41dd15f)
 com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.3 (2 
constraints: 0724ba81)
-com.github.jnr:jffi:1.2.18 (1 constraints: b20902ab)
-com.github.jnr:jnr-constants:0.9.12 (4 constraints: ed2c9d5d)
-com.github.jnr:jnr-enxio:0.19 (2 constraints: 2a167d08)
-com.github.jnr:jnr-netdb:1.1.6 (1 constraints: 7e0952a1)
-com.github.jnr:jnr-posix:3.0.49 (2 constraints: f0161b5b)
-com.github.jnr:jnr-unixsocket:0.20 (1 constraints: 4a09d497)
 com.github.stephenc.jcip:jcip-annotations:1.0-1 (2 constraints: c5188bde)
 com.google.cloud:google-cloud-nio:0.122.11 (1 constraints: 99053046)
-com.headius:backport9:1.1 (1 constraints: 1a098c8e)
-com.headius:invokebinder:1.11 (1 constraints: 4b09d797)
-com.headius:modulator:1.0 (1 constraints: 19098b8e)
-com.headius:options:1.4 (1 constraints: 1d098f8e)
-com.jcraft:jzlib:1.1.3 (1 constraints: 7b094fa1)
-com.martiansoftware:nailgun-server:0.9.1 (1 constraints: 800960a1)
 com.nimbusds:content-type:2.1 (1 constraints: d70b67eb)
 com.nimbusds:lang-tag:1.4.4 (1 constraints: 3b0cb803)
 com.nimbusds:nimbus-jose-jwt:9.6.1 (1 constraints: 420ce303)
@@ -291,7 +278,6 @@ com.squareup.okhttp3:mockwebserver:4.9.1 (1 constraints: 
c40ebd62)
 com.squareup.okhttp3:okhttp:4.9.1 (1 constraints: 3d0f4f6d)
 com.squareup.okio:okio:2.8.0 (1 constraints: 540c39fd)
 com.sun.jersey:jersey-servlet:1.19 (1 constraints: df04fa30)
-com.vaadin.external.google:android-json:0.0.20131108.vaadin1 (1 constraints: 
34092a9e)
 io.github.microutils:kotlin-logging:2.0.6 (1 constraints: be0e9d62)
 io.github.microutils:kotlin-logging-jvm:2.0.6 (1 constraints: 810f877c)
 io.micrometer:micrometer-core:1.5.14 (1 constraints: fc161b19)
@@ -302,7 +288,7 @@ jakarta.servlet:jakarta.servlet-api:4.0.4 (1 constraints: 
961568b9)
 jakarta.websocket:jakarta.websocket-api:1.1.2 (1 constraints: 92155ab9)
 jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 (1 constraints: 30198ba6)
 javax.inject:javax.inject:1 (1 constraints: 7a0df617)
-joda-time:joda-time:2.9.9 (2 constraints: 0317195a)
+joda-time:joda-time:2.9.9 (2 constraints: 8f124433)
 net.bytebuddy:byte-buddy:1.10.20 (2 constraints: 7c10a9d0)
 net.minidev:accessors-smart:1.2 (1 constraints: e60926a4)
 net.minidev:json-smart:2.3 (1 constraints: ae0de552)
@@ -316,8 +302,6 @@ org.apache.kerby:kerb-identity:1.0.1 (1 constraints: 
5f0cb602)
 org.apache.kerby:kerb-server:1.0.1 (1 constraints: d10b65f2)
 org.apache.kerby:kerb-simplekdc:1.0.1 (1 constraints: dc0d7e3e)
 org.apache.logging.log4j:log4j-1.2-api:2.17.1 (1 constraints: 3d05453b)
-org.asciidoctor:asciidoctorj:1.6.2 (1 constraints: 0b050436)
-org.asciidoctor:asciidoctorj-api:1.6.2 (1 constraints: e30cfb0d)
 org.freemarker:freemarker:2.3.31 (1 constraints: ef0e9271)
 org.glassfish:jakarta.el:3.0.3 (1 constraints: 941562b9)
 org.hdrhistogram:HdrHistogram:2.1.12 (1 constraints: 520d2029)
@@ -328,18 +312,10 @@ org.jetbrains.kotlin:kotlin-stdlib:1.4.32 (7 constraints: 
4168b6de)
 org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 (3 constraints: b92a7abb)
 org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10 (1 constraints: dd10ebd2)
 org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 (1 constraints: 650f967c)
-org.jruby:dirgra:0.3 (1 constraints: 1b098b8e)
-org.jruby:jruby:9.2.6.0 (1 constraints: 490d7d28)
-org.jruby:jruby-core:9.2.6.0 (1 constraints: 0f08b57d)
-org.jruby:jruby-stdlib:9.2.6.0 (1 constraints: 0f08b57d)
-org.jruby.jcodings:jcodings:1.0.41 (2 constraints: e3124361)
-org.jruby.joni:joni:2.1.25 (1 constraints: b00903ab)
-org.jsoup:jsoup:1.12.1 (1 constraints: 3705303b)
 org.latencyutils:LatencyUtils:2.0.3 (1 constraints: 210dcd1b)
 org.mockito:mockito-core:3.8.0 (1 constraints: 0d051236)
 org.objenesis:objenesis:3.1 (2 constraints: 5b0ff979)
 org.slf4j:jul-to-slf4j:1.7.24 (1 constraints: 801632ff)
-org.slf4j:slf4j-simple:1.7.24 (1 constraints: 4005473b)
 org.springframework:spring-aop:5.2.15.RELEASE (2 constraints: 32232d90)
 org.springframework:spring-beans:5.2.15.RELEASE (4 constraints: 5843b908)
 org.springframework:spring-context:5.2.15.RELEASE (2 constraints: c3236acf)
diff --git a/versions.props b/versions.props
index b9409cf..66d5270 100644
--- a/versions.props
+++ b/versions.props
@@ -46,7 +46,6 @@ com.pff:java-libpst=0.8.1
 com.rometools:*=1.12.2
 com.sun.jersey:*=1.19
 com.tdunning:t-digest=3.1
-com.vaadin.external.google:android-json=0.0.20131108.vaadin1
 commons-cli:commons-cli=1.4
 commons-codec:commons-codec=1.13
 commons-collections:commons-collections=3.2.2
@@ -63,6 +62,7 @@ io.opentracing:*=0.33.0
 io.prometheus:*=0.2.0
 io.sgr:s2-geometry-library-java=1.0.0
 javax.servlet:javax.servlet-api=3.1.0
+joda-time:joda-time=2.9.9
 junit:junit=4.13.1
 net.arnx:jsonic=1.2.7
 net.bytebuddy:byte-buddy=1.9.3
@@ -98,7 +98,6 @@ org.apache.tika:*=1.27
 org.apache.xmlbeans:xmlbeans=3.1.0
 org.apache.zookeeper:*=3.7.0
 org.apiguardian:apiguardian-api=1.1.0
-org.asciidoctor:asciidoctorj=1.6.2
 org.aspectj:aspectjrt=1.8.0
 org.bitbucket.b_c:jose4j=0.7.7
 org.bouncycastle:*=1.69
@@ -116,7 +115,6 @@ org.hamcrest:*=2.2
 org.hsqldb:hsqldb=2.4.0
 org.jctools:jctools-core=3.3.0
 org.jdom:jdom2=2.0.6
-org.jsoup:jsoup=1.12.1
 org.locationtech.spatial4j:*=0.7
 org.mockito:mockito-core=3.8.0
 org.objenesis:objenesis=2.6

Reply via email to