blob: abc82e3898dae7a1018fccdd619d23d208d36d97 [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
*
* https://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 {
alias(libs.plugins.versions)
id 'pulsar-client-reactive.codestyle-conventions'
}
allprojects {
group = 'org.apache.pulsar'
apply plugin: 'io.spring.javaformat'
apply plugin: 'org.nosphere.apache.rat'
repositories {
mavenCentral()
}
tasks.named('rat') {
inputDir = projectDir
excludes = ['.asf.yaml', // ASF metadata for github integration excluded from src zip
'**/.gradle/**', '**/wrapper/**', 'gradlew*', // gradle wrapper files excluded from src zip
'gradle.properties', // artifactory release plugin removes header when bumping version
'**/build/**', '**/target/**', 'licenses/**', 'notices/**',
'**/META-INF/services/*',
'out/**', '*.ipr', '**/*.iml', '*.iws', '.idea/**', // Intellij files
'.classpath', '.project', '.settings/**', 'bin/**', // Eclipse files
]
}
}
task sourceTar(type: Tar) {
destinationDirectory = buildDir
archiveBaseName = "pulsar-client-reactive-${rootProject.version}"
archiveClassifier = "src"
archiveExtension = "tar.gz"
compression = Compression.GZIP
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
includeEmptyDirs = false
into(archiveBaseName) {
from(rootDir) {
excludes = [
'.github/**', '.asf.yaml',
'**/build/**', '**/target/**',
'out/**', '*.ipr', '**/*.iml', '*.iws', '.idea/**', // Intellij files
'.classpath', '.project', '.settings/**', 'bin/**', // Eclipse files
'**/.gradle/**', '**/wrapper/**', 'gradlew*', // gradle wrapper files excluded from src zip
]
}
}
}
license {
tasks {
rootProjectExtraFiles {
files.from('checkstyle', 'idea', 'shared-test-resources', 'buildSrc/src', 'buildSrc/build.gradle', '.github')
}
}
}