| /* |
| * 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. |
| */ |
| |
| /* |
| * This script configures aspects related to all project publications, |
| * this includes: |
| * |
| * - configuring maven artifacts, |
| * - setting up target maven repositories for publications to end up on, |
| * - configuring binary and source release artifacts, |
| * - other concerns related to publishing artifacts (signing, checksums). |
| */ |
| |
| // |
| // An explicit list of projects to publish as Maven artifacts. |
| // |
| configure(rootProject) { |
| ext { |
| mavenProjects = project(":lucene").subprojects.findAll {subproject -> |
| def excluded = [ |
| // Exclude distribution assembly, tests & documentation. |
| ":lucene:distribution", |
| ":lucene:documentation", |
| // Exclude the parent container project for analysis modules (no artifacts). |
| ":lucene:analysis", |
| // Exclude the native module. |
| ":lucene:misc:native", |
| // Exclude test fixtures. |
| ":lucene:spatial-test-fixtures" |
| ] |
| |
| // Exclude all subprojects that are modular test projects and those explicitly |
| // excluded above. |
| return !(subproject.path.endsWith(".tests") || subproject.path in excluded) |
| } |
| } |
| } |
| |
| // Configure the signing plugin. |
| apply from: buildscript.sourceFile.toPath().resolveSibling("signing.gradle") |
| |
| // Configure projects for publishing Maven artifacts and set up metadata. |
| apply from: buildscript.sourceFile.toPath().resolveSibling("publications-maven.gradle") |
| |
| // Configure on-demand maven publishing into ~/.m2 for developers' convenience. |
| apply from: buildscript.sourceFile.toPath().resolveSibling("maven-to-local-m2.gradle") |
| |
| // Configure artifact push to apache nexus (snapshots repository, CI job). |
| apply from: buildscript.sourceFile.toPath().resolveSibling("maven-to-nexus-snapshots.gradle") |
| |
| // Configure artifact push to apache nexus (releases repository). |
| apply from: buildscript.sourceFile.toPath().resolveSibling("maven-to-nexus-releases.gradle") |