This plugin is to support projects in the ReactiveX org (and it isn't meant to be used elsewhere). It is at its essence just a combination of other plugins that are common to all ReactiveX projects, with some additional configuration. The primary responsibilities to:
- Provide release process
- Configure publishing
- Recommend license headers
- Create a performance module for testing with jmh
- Configure modules to be as OSGI modules
- Set defaults for javadoc formatting
This project could be used as an example of how a "project plugin" could work. A "project plugin" is a Gradle that provides consistency across many projects, e.g. in a Github org or an enterprise.
For reference, these are Gradle-related modules used:
- com.netflix.nebula:nebula-project-plugin
- com.netflix.nebula:nebula-bintray-plugin' wraps gradle-bintray-plugin with different defaults and adding OJO support and multi-module support.
- com.netflix.nebula:nebula-publishing-plugin for producing a jar, source jar, javadoc jar with metadata about how it was produced.
- com.github.jengelman.gradle.plugins:shadow for generating a binary for the performances tests to run from.
- nl.javadude.gradle.plugins:license-gradle-plugin for license recommendations
- org.ajoberstar:gradle-git:1.3.0 for release process.
To include, add the following to your build.gradle
plugins {
id 'nebula.rxjava-project' version '3.0.0'
}
subprojects { // if you have subprojects
apply plugin: 'nebula.rxjava-project'
}
or if older than gradle 2.1
buildscript {
repositories { jcenter() }
dependencies { classpath 'com.netflix.nebula:gradle-rxjava-project-plugin:3.+' }
}
allprojects {
apply plugin: 'nebula.rxjava-project'
}
-Prelease.travisci=true
- this will disable tagging
By default the license check is on. To turn it off:
license {
ignoreFailures = true
}
Built with Oracle JDK7 Tested with Oracle JDK8
Gradle Version | Works |
---|---|
2.2.1 | yes |
2.3 | yes |
2.4 | yes |
2.5 | yes |
2.6 | yes |
2.7 | yes |
Copyright 2014-2015 Netflix, Inc.
Licensed 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.