mirror of https://github.com/apache/lucene.git
146 lines
4.4 KiB
Groovy
146 lines
4.4 KiB
Groovy
/*
|
|
* 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.
|
|
*/
|
|
|
|
|
|
// Maven publications and configuration.
|
|
//
|
|
// the 'published' list contains an explicit list of all projects
|
|
// which should be published to Maven repositories.
|
|
|
|
configure(rootProject) {
|
|
ext {
|
|
published = [
|
|
":lucene:analysis:common",
|
|
":lucene:analysis:icu",
|
|
":lucene:analysis:kuromoji",
|
|
":lucene:analysis:morfologik",
|
|
":lucene:analysis:nori",
|
|
":lucene:analysis:opennlp",
|
|
":lucene:analysis:phonetic",
|
|
":lucene:analysis:smartcn",
|
|
":lucene:analysis:stempel",
|
|
":lucene:backward-codecs",
|
|
":lucene:benchmark",
|
|
":lucene:classification",
|
|
":lucene:codecs",
|
|
":lucene:core",
|
|
":lucene:demo",
|
|
":lucene:expressions",
|
|
":lucene:facet",
|
|
":lucene:grouping",
|
|
":lucene:highlighter",
|
|
":lucene:join",
|
|
":lucene:luke",
|
|
":lucene:memory",
|
|
":lucene:misc",
|
|
":lucene:monitor",
|
|
":lucene:queries",
|
|
":lucene:queryparser",
|
|
":lucene:replicator",
|
|
":lucene:sandbox",
|
|
":lucene:spatial-extras",
|
|
":lucene:spatial3d",
|
|
":lucene:suggest",
|
|
":lucene:test-framework",
|
|
|
|
":solr:core",
|
|
":solr:solrj",
|
|
":solr:contrib:analysis-extras",
|
|
":solr:contrib:analytics",
|
|
":solr:contrib:clustering",
|
|
":solr:contrib:extraction",
|
|
":solr:contrib:langid",
|
|
":solr:contrib:jaegertracer-configurator",
|
|
":solr:contrib:prometheus-exporter",
|
|
":solr:test-framework",
|
|
]
|
|
}
|
|
}
|
|
|
|
configure(subprojects.findAll { it.path in rootProject.published }) { prj ->
|
|
apply plugin: 'maven-publish'
|
|
apply plugin: 'signing'
|
|
|
|
publishing {
|
|
// TODO: Add publishing repository details.
|
|
}
|
|
|
|
plugins.withType(JavaPlugin) {
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
archiveClassifier = 'sources'
|
|
from sourceSets.main.allJava
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
archiveClassifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
// This moves publishing configuration after all the scripts of all projects
|
|
// have been evaluated. This is required because we set artifact groups
|
|
// and archivesBaseName in other scripts (artifact-naming.gradle) and
|
|
// maven pom does not accept lazy property providers (so everything must
|
|
// be in its final form).
|
|
//
|
|
// In theory project.afterEvaluate closure should also work but for some reason
|
|
// it fired earlier than artifact-naming.gradle; don't know whether it's a bug
|
|
// in gradle or just complex relationships between lazy collection hooks.
|
|
gradle.projectsEvaluated {
|
|
publishing {
|
|
def configurePom = {
|
|
name = "Apache Solr/Lucene (${project.name})"
|
|
licenses {
|
|
license {
|
|
name = 'Apache 2'
|
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
}
|
|
}
|
|
}
|
|
|
|
publications {
|
|
// JARS and sources, no javadocs (for local inspection only).
|
|
jars(MavenPublication) {
|
|
from components.java
|
|
groupId = project.group
|
|
artifactId = project.archivesBaseName
|
|
|
|
artifact sourcesJar
|
|
|
|
pom(configurePom)
|
|
}
|
|
|
|
// Full set of signed artifacts.
|
|
signed(MavenPublication) {
|
|
from components.java
|
|
groupId = project.group
|
|
artifactId = project.archivesBaseName
|
|
|
|
artifact sourcesJar
|
|
artifact javadocJar
|
|
|
|
pom(configurePom)
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
sign publishing.publications.signed
|
|
}
|
|
}
|
|
}
|
|
}
|