Closed viktorklang closed 6 years ago
Sounds good.
A followup question: what should we try to merge/fix additionally—if we want to issue 1.0.2 before the end of the year?
As for required things the automatic module names are the single thing I think https://github.com/reactive-streams/reactive-streams-jvm/pull/412
The other things look like nice to have I guess?
OK, but given all of the config and tck changes, I no longer know how to test compliance of jdk java.util.concurrent.SubmissionPublisher, which was just now updated and should be checked. Can anyone try this and explain how they did it? Existing tests should run using java --patch-module java.base="jsr166.jar with the updated http://gee.cs.oswego.edu/dl/jsr166/dist/jsr166.jar
@DougLea We're planning on releasing the RC of the Flow TCK next week.
I'll submit a PR to the Flow-TCK to have SubmissionPublisher
. I'm not sure how I could do that --patch-module
with Gradle though.
For RC1 see #417
@reactive-streams/contributors Current master is now updated to what I think will make for a good 1.0.2-RC1 (see #417). I have pushed a tag for v1.0.2-RC1 which can/will be used to make the release from.
So, who wants to do the honors of building the release? @rkuhn? @ktoso? :)
@reactive-streams/contributors No volunteers for the prestigious job of making an RS release? :)
Sorry, I currently don’t have my GPG key with me, so I’m blocked from releasing until Thursday evening when I get back home. (will fix that to prevent recurrance of this problem in the future)
Missed that, was offline for a few days. Sure, I can cut it when we want. AFAIR I did cut one some time ago so should work.
Awesome. If we can merge @akarnokd's latest PR then we just repoint the v1.0.2-RC1 tag and cut the release from there.
-- Cheers, √
On Dec 4, 2017 16:36, "ktoso" notifications@github.com wrote:
Missed that, was offline for a few days. Sure, I can cut it when we want. AFAIR I did cut one some time ago so should work.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-348998823, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd1V83kJTs1G4wAGN8DUOj-canvj5ks5s9BGMgaJpZM4QnaAt .
No worries, Roland! 😊
-- Cheers, √
On Dec 4, 2017 16:23, "Roland Kuhn" notifications@github.com wrote:
Sorry, I currently don’t have my GPG key with me, so I’m blocked from releasing until Thursday evening when I get back home. (will fix that to prevent recurrance of this problem in the future)
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-348994292, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd0diQfeTH6RXE-w8JBekO4ru59pDks5s9A5qgaJpZM4QnaAt .
Awaiting merge of https://github.com/reactive-streams/reactive-streams-jvm/pull/418#pullrequestreview-81060775 and can cut the release then
@ktoso Alright, I think we should be set for the 1.0.2-RC1 release. I have pushed the tag to the repo (git fetch --tags
to refresh) and it shoul be pointing to f403f4ef50b3d38f7200b9f76e916afc97247a39 . Would you mind staging the release, @ktoso? (I'll help you verify the bits)
EDIT: updated hash to signal the latest commit (updating RELEASE-NOTES.md)
RC1 is staged: https://oss.sonatype.org/content/repositories/orgreactivestreams-1033 Let's verify it.
MANIFEST:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Created-By: 9 (Oracle Corporation)
Tool: Bnd-3.4.0.201707252008
Bnd-LastModified: 1512465241000
Export-Package: org.reactivestreams.tck;version="1.0.2-RC1";uses:="org
.reactivestreams,org.reactivestreams.tck.flow.support,org.testng.anno
tations",org.reactivestreams.tck.flow.support;version="1.0.2-RC1";use
s:="org.reactivestreams.example.unicast"
Import-Package: org.reactivestreams;version="[1.0,2)",org.reactivestre
ams.example.unicast;version="[1.0,2)",org.reactivestreams.tck.flow.su
pport;version="[1.0,2)",org.testng;version="[5.14,6)",org.testng.anno
tations;version="[5.14,6)"
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Bundle-DocURL: http://reactive-streams.org
Bundle-Vendor: Reactive Streams SIG
Bundle-Description: Reactive Streams API
Bundle-Name: reactive-streams-tck
Bundle-Version: 1.0.2-RC1
Automatic-Module-Name: org.reactivestreams.tck
Bundle-SymbolicName: org.reactivestreams.reactive-streams-tck
Non JDK9 projects correctly on language level 50 (Java 6):
$ unzip reactive-streams-tck-1.0.2-RC1.jar > /dev/null
replace META-INF/MANIFEST.MF? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
ktoso @ 三日月~/.ivy2/cache/org.reactivestreams/reactive-streams-tck/jars
$ javap -v org/reactivestreams/tck/PublisherVerification.class | head -n10
Classfile /Users/ktoso/.ivy2/cache/org.reactivestreams/reactive-streams-tck/jars/org/reactivestreams/tck/PublisherVerification.class
Last modified Dec 5, 2017; size 19046 bytes
MD5 checksum da7179717833ab4ddb897fa5014cc054
Compiled from "PublisherVerification.java"
public abstract class org.reactivestreams.tck.PublisherVerification<T extends java.lang.Object> extends java.lang.Object implements org.reactivestreams.tck.flow.support.PublisherVerificationRules
minor version: 0
major version: 50
flags: ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
Constant pool:
#1 = Fieldref #5.#290 // org/reactivestreams/tck/PublisherVerification.publisherReferenceGCTimeoutMillis:J
Akka Streams TCK suite passed, seems no regressions.
Excellent, pushing the button then :) Since it's just an RC, assuming above sanity checks and 2 projects confirming is enough.
Excellent work everyone! :+1:
Tested with a native Java 9 Flow library:
:+1: Reactive4JavaFlow with Flow.Publisher
s offline
:+1: Reactive4JavaFlow with Flow.Publisher
s Travis CI (link)
However, the IdentityFlowProcessorVerification
is defined wrong:
IdentityProcessorVerification
: createFlowSubscriber
, createFlowHelperPublisher
, createFlowPublisher
.org.reactivestreams.X
in the abstract method signatures requiring manual adapters. The abstract methods implemented from IdentityProcessorVerification
just delegate without using the flow-adapter: @Override
public final Publisher<T> createFailedPublisher() {
return createFailedFlowPublisher();
}
Thanks for reporting, David!
Do you have time to propose a fix?
-- Cheers, √
On Dec 6, 2017 14:30, "David Karnok" notifications@github.com wrote:
Tested with a native Java 9 Flow library: 👍 Reactive4JavaFlow with Flow.Publishers offline 👍 Reactive4JavaFlow with Flow.Publishers Travis CI (link https://travis-ci.org/akarnokd/Reactive4JavaFlow/builds/312414966#L6620)
However, the IdentityFlowProcessorVerification is defined wrong:
- requires the implementor to specify abstract methods for support structures which are provided in IdentityProcessorVerification: createFlowSubscriber, createFlowHelperPublisher, createFlowPublisher.
- uses org.reactivestreams.X in the abstract method signatures requiring manual adapters. The abstract methods implemented from IdentityProcessorVerification just delegate without using the flow-adapter:
@Overridepublic final Publisher
createFailedPublisher() { return createFailedFlowPublisher(); } — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-349640154, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd-gh0BAXAC2onxTkZDpl0eU8EMWvks5s9pb-gaJpZM4QnaAt .
Yep, was on it right away: #419.
Awesome. I'll have a look soon (on my way to the airport)
-- Cheers, √
On Dec 6, 2017 14:44, "David Karnok" notifications@github.com wrote:
Yep, was on it right away: #419 https://github.com/reactive-streams/reactive-streams-jvm/pull/419.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-349643452, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd7jrYr0rxo6oY83IZsZ-TS0XZg7aks5s9ppKgaJpZM4QnaAt .
@reactive-streams/contributors Given https://github.com/reactive-streams/reactive-streams-jvm/pull/419 I think we should issue the RC2 ASAP. Anyone disagree?
Yeah, let's. Do you want to prep release notes?
@ktoso I can prepare a tag with bumped versions. Not sure about the release notes. I'll add a comment about fixing a few oversights in the verification fixture for Flow.Processor?
@ktoso I just updated master to https://github.com/reactive-streams/reactive-streams-jvm/commit/a894aacf6612323af504d91b482fecb5ccea680a and the tag v1.0.2-RC2
should point to that commit. Please sanity check my changes in that commit before staging the bits.
Looking good, releasing. Includes the fixes done by @akarnokd
Thanks!
When I see the artifacts on Maven Central, I'll issue a tweet announcing the RC2.
Still hoping for 1.0.2 before the holidays :)
On Mon, 11 Dec 2017 at 16:17, ktoso notifications@github.com wrote:
Looking good, releasing. Includes the fixes done by @akarnokd https://github.com/akarnokd
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-350753861, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd0T274MBaxyHbzIo-IAddqGAdbQHks5s_UdygaJpZM4QnaAt .
-- Cheers, √
@akarnokd Awesome!
Great, thanks!
@reactive-streams/contributors If no serious defects are reported within a week then we should be able to release 1.0.2-RC2 as 1.0.2. I have prepared the website.
@reactive-streams/contributors 1.0.2-RC2 has been out for a week without any issues, I propose we promote it to 1.0.2 and push the bits tomorrow or Wednesday. Is everyone on board with that?
Sounds good :+1:.
sounds like a plan! :) today?
On Dec 18, 2017 14:38, "David Karnok" notifications@github.com wrote:
Sounds good 👍.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/reactive-streams/reactive-streams-jvm/issues/413#issuecomment-352427636, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHYk0oqeSympgIaZFwnpDmnGD9Fzh0Vks5tBmrkgaJpZM4QnaAt .
@ktoso I'll prep the branch & tags today (will need sanity check since I have a fever).
@ktoso Ok, I've prepared the branch (https://github.com/reactive-streams/reactive-streams-jvm/tree/1.0.2) and there's a tag to cut the release from (https://github.com/reactive-streams/reactive-streams-jvm/tree/v1.0.2).
Please sanity check :)
LGTM
Please PR that branch so it ends up in master. LGTM. I can release from that now already though
Confirmed changes are good, not touching any sources so it's the exact same as 1.0.2-RC2 and artifacts are staged here: https://oss.sonatype.org/content/repositories/orgreactivestreams-1035 If someone wants to check, though it's just the same as RC2 :)
Giving a bit of time, later clicking the button, looking all good.
@ktoso Created this PR: https://github.com/reactive-streams/reactive-streams-jvm/pull/421
I'll dl the javadoc jars and host them on the website, then prep the 1.0.2 announce docs.
Artifacts have been released and are on their way to central: https://github.com/reactive-streams/reactive-streams-jvm/pull/421#issuecomment-352552629
@ktoso :+1: Preparing reactive-streams.org now
@ktoso Please sanity check the website updates: https://github.com/reactive-streams/reactive-streams.github.io/pull/30 :)
@reactive-streams/contributors Please verify the 1.0.2 artifacts in your builds as soon as you can (and they are available on Maven Central).
Some build failing because www.reactive-streams.org/reactive-streams-1.0.2-javadoc is not yet online
@smaldini Ok, merged the javadoc (website update), can you re-check?
@reactive-streams/contributors Getting late here and my flu is getting worse. Waiting with announcement until tomorrow (also gives more time for feedback/checks before announce)
Take care @viktorklang - Javadocs look different btw: http://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/ http://www.reactive-streams.org/reactive-streams-1.0.2-javadoc/ Not sure if its on purpose
Given the number of improvements which have been merged since 1.0.1 I'm thinking if we should consider releasing everything as a 1.0.2 rather than issuing the new jars (flow adapters, flow tck) against 1.0.1.
Thoughts?