| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| configure(rootProject) { |
| def urlVersion = project.baseVersion.replace('.', '_') |
| def refguideUrlVersion = project.baseVersion.replaceFirst(/^(\d+)\.(\d+).*$/, '$1_$2') |
| |
| ext { |
| luceneDocUrl = project.propertyOrDefault('lucene.javadoc.url', "https://lucene.apache.org/core/${urlVersion}") |
| solrDocUrl = project.propertyOrDefault('solr.javadoc.url', "https://lucene.apache.org/solr/${urlVersion}") |
| solrRefguideUrl = project.propertyOrDefault('solr.refguide.url', "https://lucene.apache.org/solr/guide/${refguideUrlVersion}") |
| } |
| |
| task documentation() { |
| group = 'documentation' |
| description = 'Generate all documentation' |
| |
| dependsOn ':lucene:documentation' |
| dependsOn ':solr:documentation' |
| } |
| } |
| |
| // docroot will point to Lucene and Solr relative directory for each sub-project. |
| configure(subprojects.findAll { it.path == ':lucene' || it.path == ':solr' }) { |
| ext { |
| docroot = file("${buildDir}/documentation") |
| } |
| |
| task documentation() { |
| group = 'documentation' |
| description = "Generate ${project.name.capitalize()} documentation" |
| |
| dependsOn subprojects.collect { prj -> |
| prj.tasks.matching { it.name == 'renderSiteJavadoc' } |
| } |
| dependsOn 'changesToHtml','copyDocumentationAssets', |
| 'markdownToHtml','createDocumentationIndex' |
| } |
| |
| task copyDocumentationAssets(type: Copy) { |
| includeEmptyDirs = false |
| from('site/html') // lucene |
| from('site/assets') // solr |
| into project.docroot |
| } |
| } |
| |
| configure(project(':solr')) { |
| ext { |
| // required for the "simple" Solr docs shipped in tgz/zip files, only referring to online web pages: |
| docrootOnline = file("${buildDir}/docs-online") |
| } |
| |
| documentation { |
| // for Solr we also have a page shipped with zip/tgz that just points to online web pages: |
| dependsOn 'copyOnlineDocumentationAssets','createOnlineDocumentationIndex' |
| } |
| |
| task copyOnlineDocumentationAssets(type: Copy) { |
| includeEmptyDirs = false |
| from('site/assets') |
| into project.docrootOnline |
| } |
| } |