Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
12de717
Addressed Issue #626
kylemallory Dec 2, 2018
10e40fc
Merge pull request #1 from kylemallory/kylemallory-removed-beacon-final
kylemallory Dec 2, 2018
4d60cc1
Merge branch 'master' of https://github.com/zeromq/jeromq
kylemallory Sep 19, 2019
4a1f0e3
Fixed Variable/Constant typo
kylemallory Sep 19, 2019
43be11d
UncaughtExceptionHandlers held by ZBeacon and set in startClient()/st…
kylemallory Sep 19, 2019
de21497
ZBeacon constructor for all parameters should be public (like all the…
kylemallory Sep 19, 2019
f331f14
Binding on the Server is fine, but we also need to bind on the Client.
kylemallory Sep 19, 2019
197cdcf
Need to configure the Client DatagramChannel.socket() to reuse the ad…
kylemallory Sep 19, 2019
8fd63c9
And also choose a new src port on each run, since we can't currently …
kylemallory Sep 19, 2019
3e2de99
Finally, let's not bind the server to a specific address (it should l…
kylemallory Sep 19, 2019
53cb575
Apparently, we can't used DatagramChannel.socket().bind() on old Andr…
kylemallory Sep 20, 2019
7717ab8
Nope. DatagramChannel.bind() doesn't work either. Terribly unfortunate.
kylemallory Sep 20, 2019
236ab0c
Still having issues with DatagramChannel.bind(). Finding some referen…
kylemallory Sep 20, 2019
5b89159
Missed a bracket...
kylemallory Sep 20, 2019
2133aae
Merge pull request #747 from kylemallory/zbeacon-restart
trevorbernard Sep 24, 2019
0fa9603
Problem: Libray has runtime errors on Android API 16
fredoboulo Nov 10, 2019
5930fd4
Merge pull request #752 from fredoboulo/fix/android
daveyarwood Nov 13, 2019
7b44d8e
Problem: ZCert has no way to be created using provided public and sec…
fredoboulo Dec 1, 2019
e382fa6
Merge pull request #755 from fredoboulo/proposition/zcert
daveyarwood Dec 2, 2019
1a9de2c
Problem: IndexOutOfBoundsException occurs when subscriptions count ex…
fredoboulo Dec 10, 2019
63ed0b7
Merge pull request #759 from fredoboulo/fix/dist
daveyarwood Dec 10, 2019
cf1270b
Problem: No coverage on all code branches for Dist
fredoboulo Dec 11, 2019
32d4116
Merge pull request #760 from fredoboulo/fix/dist-coverage
daveyarwood Dec 11, 2019
9d81802
update copyright years
daveyarwood Jan 17, 2020
dd89225
0.5.2 changelog
daveyarwood Jan 17, 2020
bafa048
sort android fixes first
daveyarwood Jan 17, 2020
9245a78
Merge pull request #761 from daveyarwood/changelog-0.5.2
trevorbernard Jan 31, 2020
2585be7
upgrade checkstyle dependencies to fix vulnerability
daveyarwood Jan 31, 2020
fa90e49
Merge pull request #763 from daveyarwood/upgrade-checkstyle
trevorbernard Jan 31, 2020
97c7ea4
add date to v0.5.2 changelog
daveyarwood Feb 1, 2020
62cf17e
[maven-release-plugin] prepare release v0.5.2
daveyarwood Feb 1, 2020
0e53911
[maven-release-plugin] prepare for next development iteration
daveyarwood Feb 1, 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
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,57 @@
# Changelog

## v0.5.2 (2020-01-31)

### Added

* [#715](https://github.com/zeromq/jeromq/pull/715): Added a ZCert constructor
that takes a Writer as an argument, in order to support writing to the
Writer instead of to a file.

* [#716](https://github.com/zeromq/jeromq/pull/716): Added a ZTicket API, as
well as a ZTicker API, which combines ZTimer and ZTicket.

* [#724](https://github.com/zeromq/jeromq/pull/724): Added support for the XPUB
options `ZMQ_XPUB_MANUAL` and `ZMQ_XPUB_VERBOSER`.

* [#727](https://github.com/zeromq/jeromq/pull/727): Added a ZSocket constructor
that takes a SocketType enum value as an argument.

* [#747](https://github.com/zeromq/jeromq/pull/747): Improvements to
ZBeacon:
* Added `startClient` and `startServer` methods, to support restarting the
client or server individually.
* You can now specify the interface address when constructing a
BroadcastClient.

* [#755](https://github.com/zeromq/jeromq/pull/755): Added ZCert constructors
that take (mandatory) public and (optional) secret keys as arguments.

### Changed

* Fixes for Android compatibility:
* [#710](https://github.com/zeromq/jeromq/pull/710): Use traditional loops
instead of streams.
* [#717](https://github.com/zeromq/jeromq/pull/717): Don't use
`Map.computeIfAbsent`.
* [#736](https://github.com/zeromq/jeromq/pull/736): Use java.util.Iterator
instead of lambdas.
* [#752](https://github.com/zeromq/jeromq/pull/752): Various fixes discovered
by creating an Android project within the JeroMQ repo for testing purposes.

* [#720](https://github.com/zeromq/jeromq/pull/720): Removed a println debug
statement in `Poller.rebuildSelector`.

* [#733](https://github.com/zeromq/jeromq/pull/733): Fixed a bug introduced in
JeroMQ 0.5.1 where `ZPoller.poll` was returning -1 instead of 1.

* [#735](https://github.com/zeromq/jeromq/pull/735): Fixed bugs related to
the handling of bytes in the Msg class.

* [#759](https://github.com/zeromq/jeromq/pull/759): Fixed an
IndexOutOfBoundsException that occurs when the number of subscriptions exceeds
the HWM.

## v0.5.1 (2019-04-03)

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ JeroMQ.

## License

All source files are copyright © 2007-2018 contributors as noted in the AUTHORS file.
All source files are copyright © 2007-2020 contributors as noted in the AUTHORS file.

Free use of this software is granted under the terms of the Mozilla Public License 2.0. For details see the file `LICENSE` included with the JeroMQ distribution.

6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<packaging>jar</packaging>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
<name>JeroMQ</name>
<description>Pure Java implementation of libzmq</description>
<url>https://github.com/zeromq/jeromq</url>
Expand Down Expand Up @@ -125,12 +125,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.0</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.18</version>
<version>8.29</version>
</dependency>
</dependencies>
<executions>
Expand Down
18 changes: 18 additions & 0 deletions scripts/prepare-android.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
set -ev

ANDROID_ROOT=src/android/Jeromq/app/src/

rm -fr $ANDROID_ROOT/main/java/{org,zmq}
rm -fr $ANDROID_ROOT/androidTest/java/{org,zmq}

cp -R src/main/java/{org,zmq} $ANDROID_ROOT/main/java
cp -R src/test/java/{org,zmq} $ANDROID_ROOT/androidTest/java

cp $ANDROID_ROOT/TemporaryFolderFinder.java $ANDROID_ROOT/androidTest/java/org/zeromq

grep -rl zmq.util.AndroidProblematic $ANDROID_ROOT/androidTest/java | xargs -I @@ bash -c '{\
sed -i 's/zmq.util.AndroidProblematic/org.junit.Ignore/g' @@ ;\
sed -i 's/@AndroidProblematic/@Ignore/g' @@ ;\
}'

17 changes: 17 additions & 0 deletions src/android/Jeromq/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
app/build/
app/src/main/java/*
app/src/androidTest/java/*
38 changes: 38 additions & 0 deletions src/android/Jeromq/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 28
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "je.romq"
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments notAnnotation: 'zmq.util.AndroidProblematic'
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
buildTypes {
release {
minifyEnabled false
}
}
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
}
}

dependencies {
implementation 'eu.neilalexander:jnacl:1.0.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:runner:1.1.0'
androidTestUtil 'androidx.test:orchestrator:1.1.0'
}
16 changes: 16 additions & 0 deletions src/android/Jeromq/app/src/TemporaryFolderFinder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package org.zeromq;

import android.content.Context;

import androidx.test.platform.app.InstrumentationRegistry;

import java.io.File;

public class TemporaryFolderFinder {

public static String resolve(String file)
{
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
return new File(appContext.getCacheDir(), file).getAbsolutePath();
}
}
12 changes: 12 additions & 0 deletions src/android/Jeromq/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="je.romq">

<uses-permission android:name="android.permission.INTERNET"/>

<application
android:largeHeap="true"
android:allowBackup="false"
android:label="JeromqTester"
android:supportsRtl="true"
/>
</manifest>
27 changes: 27 additions & 0 deletions src/android/Jeromq/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
google()
jcenter()

}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
google()
jcenter()

}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
20 changes: 20 additions & 0 deletions src/android/Jeromq/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

6 changes: 6 additions & 0 deletions src/android/Jeromq/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Mon Nov 11 21:30:03 CET 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
Loading