blob: 4c4a4efb986615115efca7df5aac1fd0646ddb8e [file] [log] [blame]
/*
* 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.
*/
plugins {
id 'geode-dependency-constraints'
id 'maven-publish'
}
apply from: "${project.projectDir}/../../gradle/publish-common.gradle"
jar.enabled = false
publishing {
publications {
maven(MavenPublication) {
from components.javaPlatform
// publish.gradle injects 'from components.java', as well as some other pom configuration.
pom.packaging 'pom'
artifacts = []
pom {
withXml {
// Dependency constraints publish the scope of those constraints.
// We remove these from our published bom, as they should apply at all scopes.
asNode().dependencyManagement.dependencies.dependency.each {
dep -> dep.remove(dep['scope'])
}
}
withXml {
// Published Geode artifacts are constrained to match the version of this BOM.
// We exclude any child of the :boms subproject
def thisNode = asNode()
project.rootProject.subprojects.each { p ->
if (p.findProperty('constrainVersionInBom')
&& !project(':boms').allprojects.contains(p)) {
def geodeDependency =
thisNode.dependencyManagement.dependencies*.appendNode('dependency')
geodeDependency*.appendNode('groupId')*.setValue('org.apache.geode')
geodeDependency*.appendNode('artifactId')*.setValue((p.findProperty('artifactName') ?: p.name))
geodeDependency*.appendNode('version')*.setValue(p.version.toString())
}
}
thisNode
}
}
}
}
}