You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2019/10/04 09:25:24 UTC
[lucene-solr] 03/07: Substitute version properties of certain
libraries.
This is an automated email from the ASF dual-hosted git repository.
dweiss pushed a commit to branch jira/SOLR-13452_gradle_7_refguide
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 4ae0ed01ccfdac547bac8abf3e1d1e0549b03f39
Author: Dawid Weiss <dw...@apache.org>
AuthorDate: Thu Oct 3 18:00:54 2019 +0200
Substitute version properties of certain libraries.
---
solr/solr-ref-guide/build.gradle | 74 +++++++++++++++++++++++++++++-----------
1 file changed, 54 insertions(+), 20 deletions(-)
diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle
index f5cc69e..e63c8b6 100644
--- a/solr/solr-ref-guide/build.gradle
+++ b/solr/solr-ref-guide/build.gradle
@@ -20,7 +20,8 @@
// it as a project dependency. This would enable this module to *not* be a java module at all
// and inherit from base, adding just refGuide-related tasks.
-import com.github.jrubygradle.JRubyExec
+import java.time.*
+import java.time.format.*
// Using 1.x versions of asciidoctor-gradle since 2.x wouldn't work
plugins {
@@ -36,6 +37,7 @@ repositories {
configurations {
tools
refGuide
+ depVer
}
dependencies {
@@ -56,6 +58,14 @@ dependencies {
tools ('org.apache.logging.log4j:log4j-core')
tools ('com.google.guava:guava')
tools ('commons-codec:commons-codec')
+
+ 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.velocity.tools:velocity-tools-generic')
+ depVer ('org.apache.zookeeper:zookeeper')
}
sourceSets {
@@ -87,9 +97,11 @@ ext {
solrGuideVersion = "${solrDocsVersion}-DRAFT"
}
- solrGuideDraftStatus = "${!solrGuideVersion.matches(/^\d+\.\d+(|\.\d+)$/)}"
+ solrGuideDraftStatus = solrGuideVersion.matches(/^\d+\.\d+(|\.\d+)$/) ? "" : "DRAFT"
solrGuideVersionPath = solrGuideVersion.replaceAll(/^(\d+)\.(\d+)(-DRAFT)?.*/, "\$1_\$2\$3")
+ javadocLink = "https://docs.oracle.com/en/java/javase/11/docs/api/"
+
if (project.hasProperty("local.javadocs")) {
htmlSolrJavadocs = "link:../../docs/"
htmlLuceneJavadocs = "link:../../../../lucene/build/docs/"
@@ -100,24 +112,27 @@ ext {
bareBonesDir = file("${buildDir}/bare-bones-html")
+ def tstamp = ZonedDateTime.now()
+ buildDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(tstamp)
+ buildTime = DateTimeFormatter.ofPattern("HH:mm:ss").format(tstamp)
+ buildYear = DateTimeFormatter.ofPattern("yyyy").format(tstamp)
+
// TODO: Compute remaining property values as they are in ant. What should we do with dependency/ ivy versions?
props = [
"solr-guide-draft-status": solrGuideDraftStatus,
"solr-guide-version": solrGuideVersion,
"solr-guide-version-path": solrGuideVersionPath,
"solr-docs-version": solrDocsVersion,
- "java-javadocs": "(javadoc.link)",
+ "javadoc.link": javadocLink,
+ "java-javadocs": javadocLink,
"solr-javadocs": htmlSolrJavadocs,
+ "html-solr-javadocs": htmlSolrJavadocs,
"lucene-javadocs": htmlLuceneJavadocs,
- "build-date": "(DSTAMP)",
- "build-year": "(current.year)",
- "ivy-commons-codec-version": "(ivyversions./commons-codec/commons-codec)",
- "ivy-dropwizard-version": "(ivyversions.io.dropwizard.metrics.version)",
- "ivy-log4j-version": "(ivyversions.org.apache.logging.log4j.version)",
- "ivy-opennlp-version": "(ivyversions./org.apache.opennlp/opennlp-tools)",
- "ivy-tika-version": "(ivyversions.org.apache.tika.version)",
- "ivy-velocity-tools-version": "(ivyversions.org.apache.velocity.tools.version)",
- "ivy-zookeeper-version": "(ivyversions./org.apache.zookeeper/zookeeper)"
+ "html-lucene-javadocs": htmlLuceneJavadocs,
+ "build-date": buildDate,
+ "DSTAMP": buildDate,
+ "build-year": buildYear,
+ "current.year": buildYear
]
}
@@ -129,9 +144,6 @@ task buildInit(type: Sync) {
def dummyAntProject = new org.apache.tools.ant.Project()
props.each { k, v -> dummyAntProject.setProperty(k, v) }
- // Emit info about properties for clarity.
- logger.warn("Building ref guide with:\n" + props.collect({k, v -> " ${k} -> ${v}"}).join('\n'))
-
// If replaceable properties change, we have to rerun.
inputs.properties props
@@ -146,6 +158,28 @@ task buildInit(type: Sync) {
filter(org.apache.tools.ant.filters.ExpandProperties, project: dummyAntProject)
})
+ doFirst {
+ // These properties have to be resolved after configuration phase (palantir's constraint)
+ // so we can't use them as input for caches.
+ def propsFull = [:]
+ [
+ ["ivyversions./commons-codec/commons-codec", "commons-codec", "commons-codec"],
+ ["ivyversions.io.dropwizard.metrics.version", "io.dropwizard.metrics", "metrics-core"],
+ ["ivyversions.org.apache.logging.log4j.version", "org.apache.logging.log4j", "log4j-core"],
+ ["ivyversions./org.apache.opennlp/opennlp-tools", "org.apache.opennlp", "opennlp-tools"],
+ ["ivyversions.org.apache.tika.version", "org.apache.tika", "tika-core"],
+ ["ivyversions.org.apache.velocity.tools.version", "org.apache.velocity.tools", "velocity-tools-generic"],
+ ["ivyversions./org.apache.zookeeper/zookeeper", "org.apache.zookeeper", "zookeeper"]
+ ].each { antProp, depGroup, depId ->
+ propsFull[antProp] = getVersion(depGroup, depId, configurations.depVer)
+ }
+
+ propsFull.each {k, v -> dummyAntProject.setProperty(k, v) }
+
+ // Emit info about properties for clarity.
+ logger.warn("Building ref guide with:\n" + (propsFull + props).collect({k, v -> " ${k} -> ${v}"}).join('\n'))
+ }
+
into buildContentDir
}
@@ -168,9 +202,9 @@ task buildNavDataFiles(type: JavaExec) {
doFirst {
// Remove previously generated files first.
[
- "pdf-main-body.adoc",
- "scrollnav.json",
- "sidebar.json"
+ "pdf-main-body.adoc",
+ "scrollnav.json",
+ "sidebar.json"
].each { name ->
project.delete(file("${buildContentDir}/_data/${name}"))
}
@@ -179,7 +213,7 @@ task buildNavDataFiles(type: JavaExec) {
// Define the asciidoctorj version
asciidoctorj {
- version = '1.5.0-alpha.16'
+ version = '1.6.0-alpha.5'
}
task bareBonesAsciiDoctor(type: org.asciidoctor.gradle.AsciidoctorTask) {
@@ -188,7 +222,7 @@ task bareBonesAsciiDoctor(type: org.asciidoctor.gradle.AsciidoctorTask) {
sourceDir buildContentDir
outputDir bareBonesDir
- backend "html5"
+ backends "html5"
logDocuments false
separateOutputDirs false