Skip to content

Feature/reactor module #388

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Apr 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
d1fe628
Added reactor module
SgtSilvio Sep 26, 2019
48e7ee9
Improved reactor module
SgtSilvio Sep 26, 2019
176e4e4
Refactored japicc.gradle to work for modules
SgtSilvio Jan 23, 2020
8e5d255
Cleaned up japicc.gradle
SgtSilvio Jan 23, 2020
6fe7efd
Updated gradle wrapper to 6.1.1
SgtSilvio Feb 12, 2020
919eb84
Moved gradle plugin management to settings.gradle
SgtSilvio Feb 12, 2020
76c951c
Improved gradle build files
SgtSilvio Feb 13, 2020
ee5ba95
Added javadoc for reactor api
SgtSilvio Feb 14, 2020
6dd4e32
Improved FlowableWithSingleCombine and WithSingleStrictSubscriber
SgtSilvio Mar 2, 2020
1cfb7e3
[reactor] added FluxWithSingle
SgtSilvio Mar 2, 2020
0d9084a
Added javadoc for CorePublisherWithSingle and CoreWithSingleSubscriber
SgtSilvio Mar 7, 2020
c0d6b90
Added javadoc for FluxWithSingle, improved javadoc for FlowableWithSi…
SgtSilvio Mar 8, 2020
0d32e62
Increased timeouts in RxFutureConverterTest for better stability on T…
SgtSilvio Mar 8, 2020
d86c454
Added tests for FluxWithSingle
SgtSilvio Mar 9, 2020
72f8bc4
Fixed reactor module prevVersion
SgtSilvio Mar 9, 2020
bd467fe
Fixed license headers
SgtSilvio Mar 9, 2020
a619ff3
Small naming improvements
SgtSilvio Mar 13, 2020
d1178ed
Removed fusion handling and complexity from MqttPublishFlowableAckLin…
SgtSilvio Mar 16, 2020
768592b
Added logging to MqttPublishFlowableAckLink.cancel
SgtSilvio Mar 16, 2020
f954fa9
[reactor] improved package structure (mqtt.reactor.mqtt5 -> mqtt.mqtt…
SgtSilvio Mar 16, 2020
4363e97
Resolve lgtm warning
SgtSilvio Mar 16, 2020
7c40798
Improved gradle build files
SgtSilvio Apr 2, 2020
c7adbe1
Improved javadoc for Rx/ReactorClient.publish
SgtSilvio Apr 2, 2020
bd94b6e
Simplified MqttPublishFlowableAckLink linking
SgtSilvio Apr 2, 2020
a7d44dc
Updated gradle wrapper version to 6.3
SgtSilvio Apr 2, 2020
6297271
Small refactorings
SgtSilvio Apr 2, 2020
ee853bc
Small javadoc fix
SgtSilvio Apr 2, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 68 additions & 77 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,24 +1,10 @@
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'biz.aQute.bnd:biz.aQute.bnd.gradle:4.2.0'
}
}

plugins {
id 'com.github.johnrengelman.shadow' version '4.0.4' apply false
id 'biz.aQute.bnd.builder' version '4.2.0' apply false
id 'com.github.hierynomus.license' version '0.14.0' apply false
id 'com.jfrog.bintray' version '1.8.4' apply false
id 'com.github.breadmoirai.github-release' version '2.2.9' apply false
}

allprojects {
repositories {
mavenCentral()
}
id 'java-library'
id 'com.github.johnrengelman.shadow'
id 'biz.aQute.bnd.builder' apply false
id 'com.github.hierynomus.license' apply false
id 'com.jfrog.bintray' apply false
id 'com.github.breadmoirai.github-release' apply false
}


Expand Down Expand Up @@ -53,22 +39,25 @@ allprojects {
/* ******************** java ******************** */

allprojects {
apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
plugins.withType(JavaPlugin) {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
}
}

apply plugin: 'java-library'
apply plugin: 'com.github.johnrengelman.shadow'


/* ******************** dependencies ******************** */

allprojects {
repositories {
mavenCentral()
}
}

ext {
rxJavaVersion = '2.2.5'
nettyVersion = '4.1.32.Final'
Expand Down Expand Up @@ -117,20 +106,22 @@ dependencies {
/* ******************** test ******************** */

allprojects {
dependencies {
def junit5Version = '5.5.1'
def junitPlatformVersion = '1.5.1'

testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junit5Version
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version
testRuntimeOnly group: 'org.junit.platform', name: 'junit-platform-launcher', version: junitPlatformVersion
}
plugins.withType(JavaPlugin) {
dependencies {
def junit5Version = '5.5.1'
def junitPlatformVersion = '1.5.1'

testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junit5Version
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version
testRuntimeOnly group: 'org.junit.platform', name: 'junit-platform-launcher', version: junitPlatformVersion
}

test {
useJUnitPlatform()
maxHeapSize = '4096m'
jvmArgs '-XX:+UseParallelGC'
test {
useJUnitPlatform()
maxHeapSize = '4096m'
jvmArgs '-XX:+UseParallelGC'
}
}
}

Expand Down Expand Up @@ -176,7 +167,7 @@ allprojects {
group 'documentation'
description 'Assembles a jar archive containing the javadoc.'

from javadoc
from tasks.javadoc
classifier 'javadoc'
}

Expand Down Expand Up @@ -261,49 +252,49 @@ allprojects {
}
}
normal(MavenPublication) {
from project.components.java
artifact project.tasks.javadocJar
artifact project.tasks.sourcesJar
from components.java
artifact tasks.javadocJar
artifact tasks.sourcesJar
suppressAllPomMetadataWarnings()
}
}
}

project.apply plugin: 'com.jfrog.bintray'

afterEvaluate {
bintray {
user = project.bintray_username
key = project.bintray_apiKey
publications = publishing.publications.withType(MavenPublication).stream().collect { it.name }
publish = true
pkg {
userOrg = 'hivemq'
repo = 'HiveMQ'
name = 'hivemq-mqtt-client'
desc = project.description
websiteUrl = project.githubUrl
issueTrackerUrl = project.issuesUrl
vcsUrl = project.githubUrl + '.git'
licenses = [project.licenseShortName]
labels = ['mqtt', 'mqtt-client', 'iot', 'internet-of-things', 'rxjava2', 'reactive-streams', 'backpressure']
version {
released = new Date()
gpg {
sign = true
}
/*mavenCentralSync {
user = ''
password = ''
}*/
bintray {
user = project.bintray_username
key = project.bintray_apiKey
publish = true
pkg {
userOrg = 'hivemq'
repo = 'HiveMQ'
name = 'hivemq-mqtt-client'
desc = project.description
websiteUrl = project.githubUrl
issueTrackerUrl = project.issuesUrl
vcsUrl = project.githubUrl + '.git'
licenses = [project.licenseShortName]
labels = ['mqtt', 'mqtt-client', 'iot', 'internet-of-things', 'rxjava2', 'reactive-streams', 'backpressure']
version {
released = new Date()
gpg {
sign = true
}
/*mavenCentralSync {
user = ''
password = ''
}*/
}
}
}
afterEvaluate {
bintray.publications = publishing.publications.withType(MavenPublication).stream().collect { it.name }
}

// workaround for publishing gradle metadata https://github.com/bintray/gradle-bintray-plugin/issues/229
//noinspection UnnecessaryQualifiedReference
project.tasks.withType(com.jfrog.bintray.gradle.tasks.BintrayUploadTask) {
tasks.withType(com.jfrog.bintray.gradle.tasks.BintrayUploadTask) {
doFirst {
publishing.publications.withType(MavenPublication).each { publication ->
def moduleFile = new File(new File(new File(project.buildDir, 'publications'), publication.name), 'module.json')
Expand All @@ -322,13 +313,13 @@ allprojects {
publications {
shaded(MavenPublication) {
artifactId project.name + '-' + project.shadedAppendix
artifact project.tasks.shadowJar
artifact project.tasks.javadocJar
artifact project.tasks.sourcesJar
artifact tasks.shadowJar
artifact tasks.javadocJar
artifact tasks.sourcesJar
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')

project.configurations.api.allDependencies.each {
configurations.api.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
Expand Down Expand Up @@ -356,7 +347,7 @@ features.each { feature ->
rootDependencyNode.appendNode('version', project.version)
rootDependencyNode.appendNode('scope', 'compile')

project.configurations.getByName(feature + 'Implementation').allDependencies.each {
configurations.getByName(feature + 'Implementation').allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
Expand Down
6 changes: 5 additions & 1 deletion examples/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
description 'HiveMQ MQTT Client examples'
plugins {
id 'java'
}

description 'Examples using the HiveMQ MQTT Client'

ext {
moduleName = 'com.hivemq.client.mqtt.examples'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ private static void completelyCustom() {
.addDisconnectedListener(context -> {
context.getReconnector()
.reconnect(true) // always reconnect (includes calling disconnect)
.delay(2 * context.getReconnector().getAttempts(), TimeUnit.SECONDS); // linear scaling delay
.delay(2L * context.getReconnector().getAttempts(), TimeUnit.SECONDS); // linear scaling delay
})
// multiple DisconnectedListener can form a reconnect strategy
.addDisconnectedListener(context -> {
Expand Down
Loading