lucene/gradle/maven/publications.gradle

69 lines
2.7 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.
*/
/*
* 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 JMH benchmarks.
":lucene:benchmarks-jmh",
]
// 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")