gradle-rxjava-project-plugin

Template for RxJava projects

License

License

Categories

Categories

Gradle Build Tools Net RxJava Container Microservices Reactive libraries
GroupId

GroupId

com.netflix.nebula
ArtifactId

ArtifactId

gradle-rxjava-project-plugin
Last Version

Last Version

4.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

gradle-rxjava-project-plugin
Template for RxJava projects
Project URL

Project URL

https://github.com/nebula-plugins/gradle-rxjava-project-plugin
Source Code Management

Source Code Management

https://github.com/nebula-plugins/gradle-rxjava-project-plugin.git

Download gradle-rxjava-project-plugin

How to add to project

<!-- https://jarcasting.com/artifacts/com.netflix.nebula/gradle-rxjava-project-plugin/ -->
<dependency>
    <groupId>com.netflix.nebula</groupId>
    <artifactId>gradle-rxjava-project-plugin</artifactId>
    <version>4.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.netflix.nebula/gradle-rxjava-project-plugin/
implementation 'com.netflix.nebula:gradle-rxjava-project-plugin:4.0.0'
// https://jarcasting.com/artifacts/com.netflix.nebula/gradle-rxjava-project-plugin/
implementation ("com.netflix.nebula:gradle-rxjava-project-plugin:4.0.0")
'com.netflix.nebula:gradle-rxjava-project-plugin:jar:4.0.0'
<dependency org="com.netflix.nebula" name="gradle-rxjava-project-plugin" rev="4.0.0">
  <artifact name="gradle-rxjava-project-plugin" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.netflix.nebula', module='gradle-rxjava-project-plugin', version='4.0.0')
)
libraryDependencies += "com.netflix.nebula" % "gradle-rxjava-project-plugin" % "4.0.0"
[com.netflix.nebula/gradle-rxjava-project-plugin "4.0.0"]

Dependencies

runtime (9)

Group / Artifact Type Version
com.netflix.nebula : nebula-core jar 3.0.1
com.netflix.nebula : nebula-project-plugin jar 3.0.4
com.netflix.nebula : nebula-bintray-plugin jar 3.3.4
com.netflix.nebula : nebula-release-plugin jar 3.2.0
com.netflix.nebula : gradle-override-plugin jar 2.2.0
com.netflix.nebula : nebula-publishing-plugin jar 4.4.4
com.github.jengelman.gradle.plugins » shadow jar 1.2.3
nl.javadude.gradle.plugins : license-gradle-plugin jar 0.11.0
com.google.guava : guava jar 17.0

Project Modules

There are no modules declared in this project.

gradle-rxjava-project-plugin

Support Status Build Status Coverage Status Gitter Apache 2.0

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.

Plugins Used

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.

Applying the Plugin

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'
}

Parameters

  • -Prelease.travisci=true - this will disable tagging

Variants

License Check

By default the license check is on. To turn it off:

license {
    ignoreFailures = true
}

Gradle Compatibility Tested

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

LICENSE

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.

com.netflix.nebula

Netflix Build Language Plugins

Versions

Version
4.0.0
3.0.0
2.2.3
2.2.2
2.2.1
2.2
1.12.14
1.12.13
1.12.12
1.12.11
1.12.10
1.12.9
1.12.8
1.12.7
1.12.6
1.12.5