| /* |
| * 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:contrib:scripting", |
| ":solr:test-framework", |
| ] |
| |
| apacheNexusSnapshots = "https://repository.apache.org/content/repositories/snapshots" |
| } |
| } |
| |
| configure(subprojects.findAll { it.path in rootProject.published }) { prj -> |
| apply plugin: 'maven-publish' |
| apply plugin: 'signing' |
| |
| publishing { |
| repositories { |
| maven { |
| name = "ApacheSnapshots" |
| url = apacheNexusSnapshots |
| |
| credentials { |
| def nexusUserName = rootProject.propertyOrDefault('asfNexusUsername', null) |
| def nexusPwd = rootProject.propertyOrDefault('asfNexusPassword', null) |
| if (nexusUserName && nexusPwd) { |
| username nexusUserName |
| password nexusPwd |
| } |
| } |
| } |
| } |
| } |
| |
| // Do not generate gradle metadata files. |
| tasks.withType(GenerateModuleMetadata) { |
| enabled = false |
| } |
| |
| 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; |
| if (project.path.startsWith(":lucene")) { |
| configurePom = { |
| name = "Apache Lucene (module: ${project.name})" |
| description = name |
| url = 'https://lucene.apache.org/' |
| |
| licenses { |
| license { |
| name = 'Apache 2' |
| url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
| } |
| } |
| |
| inceptionYear = "2000" |
| |
| issueManagement { |
| system = "JIRA" |
| url = "https://issues.apache.org/jira/browse/LUCENE" |
| } |
| |
| ciManagement { |
| system = "Jenkins" |
| url = "https://builds.apache.org/job/Lucene/" |
| } |
| |
| mailingLists { |
| mailingList { |
| name = "General List" |
| subscribe = "general-subscribe@lucene.apache.org" |
| unsubscribe = "general-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-general/" |
| } |
| |
| mailingList { |
| name = "Java User List" |
| subscribe = "java-user-subscribe@lucene.apache.org" |
| unsubscribe = "java-user-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-java-user/" |
| } |
| |
| mailingList { |
| name = "Java Developer List" |
| subscribe = "dev-subscribe@lucene.apache.org" |
| unsubscribe = "dev-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-dev/" |
| } |
| |
| mailingList { |
| name = "Java Commits List" |
| subscribe = "commits-subscribe@lucene.apache.org" |
| unsubscribe = "commits-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-java-commits/" |
| } |
| } |
| |
| scm { |
| connection = 'scm:git:https://gitbox.apache.org/repos/asf/lucene-solr.git' |
| developerConnection = 'scm:git:https://gitbox.apache.org/repos/asf/lucene-solr.git' |
| url = 'https://gitbox.apache.org/repos/asf?p=lucene-solr.git' |
| } |
| } |
| } else { |
| configurePom = { |
| name = "Apache Solr (module: ${project.name})" |
| description = name |
| url = 'https://lucene.apache.org/solr/' |
| |
| licenses { |
| license { |
| name = 'Apache 2' |
| url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
| } |
| } |
| |
| inceptionYear = "2006" |
| |
| issueManagement { |
| system = "JIRA" |
| url = "https://issues.apache.org/jira/browse/SOLR" |
| } |
| |
| ciManagement { |
| system = "Jenkins" |
| url = "https://builds.apache.org/job/Lucene/" |
| } |
| |
| mailingLists { |
| mailingList { |
| name = "Solr User List" |
| subscribe = "solr-user-subscribe@lucene.apache.org" |
| unsubscribe = "solr-user-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/solr-user/" |
| } |
| |
| mailingList { |
| name = "Java Developer List" |
| subscribe = "dev-subscribe@lucene.apache.org" |
| unsubscribe = "dev-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-dev/" |
| } |
| |
| mailingList { |
| name = "Java Commits List" |
| subscribe = "commits-subscribe@lucene.apache.org" |
| unsubscribe = "commits-unsubscribe@lucene.apache.org" |
| archive = "https://mail-archives.apache.org/mod_mbox/lucene-java-commits/" |
| } |
| } |
| |
| scm { |
| connection = 'scm:git:https://gitbox.apache.org/repos/asf/lucene-solr.git' |
| developerConnection = 'scm:git:https://gitbox.apache.org/repos/asf/lucene-solr.git' |
| url = 'https://gitbox.apache.org/repos/asf?p=lucene-solr.git' |
| } |
| } |
| } |
| |
| publications { |
| jars(MavenPublication) { |
| from components.java |
| groupId = project.group |
| artifactId = project.archivesBaseName |
| |
| artifact sourcesJar |
| artifact javadocJar |
| |
| pom(configurePom) |
| |
| pom({ |
| // LUCENE-9561: |
| // Remove dependencyManagement section created by a combination of |
| // Palantir and the publishing plugin. |
| // |
| // https://github.com/palantir/gradle-consistent-versions/issues/550 |
| withXml { |
| asNode().dependencyManagement.replaceNode {} |
| } |
| }) |
| } |
| } |
| } |
| |
| // Add aliases of convention tasks with shorter names. |
| task mavenToApacheSnapshots() { |
| group "Publishing" |
| description "Publish Maven JARs and POMs to Apache Snapshots repository: ${apacheNexusSnapshots}" |
| |
| dependsOn "publishJarsPublicationToApacheSnapshotsRepository" |
| } |
| |
| signing { |
| required { !version.endsWith("SNAPSHOT") } |
| sign publishing.publications.jars |
| } |
| } |
| } |
| } |