Skip to content

Commit 7faa2ca

Browse files
committed
Updates CONTRIBUTING.md with Gatekeeper SLAs =tck method names and fine-details in some specs improved =tck reactive-streams#128 TCK updated to reflect merged rules 2.13 and 2.14 Moves the examples out to its own sub-project and makes sure that they are compiled but not published. =tck reactive-streams#138 clarify docs on registerOnSubscribe Aims to clarify confusion about this method, as seen in reactive-streams#138 fix reactive-streams#96 fix reactive-streams#95 gradle build tool makes gradlew executable add inter dependency add ivy publish incubator plugin but using this url "${rootProject.buildDir}/repo" merge add example project
1 parent 290bd92 commit 7faa2ca

33 files changed

+502
-165
lines changed

.gitignore

+12
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,15 @@ target/
1313
.history
1414
.idea
1515
.idea_modules
16+
.gradle
17+
.settings
18+
bin
19+
build
20+
out
21+
*.iml
22+
*.ipr
23+
*.iws
24+
test-output
25+
test-results
26+
test-tmp
27+
*.class

CONTRIBUTING.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@ To ensure consistent development of Reactive Streams towards their goal, a group
1717
* Twitter Inc., currently represented by Marius Eriksen (@mariusaeriksen)
1818
* Typesafe Inc., currently represented by Viktor Klang (@viktorklang) and Roland Kuhn (@rkuhn)
1919

20-
The role of this group is detailed in the following, additions to this list are made by pull request as defined below, removals require the consent of the entity to be removed or unanimous consent of all other gatekeepers. Changing a representative of one of the gatekeeper entities can be done by a member of that entity without requiring consent from the other gatekeepers.
20+
The role of this group is detailed in the following, additions to this list are made by pull request as defined below, removals require the consent of the entity to be removed or unanimous consent of all other Gatekeepers. Changing a representative of one of the gatekeeper entities can be done by a member of that entity without requiring consent from the other Gatekeepers.
21+
22+
Gatekeepers commit to the following:
23+
24+
1. 1-week SLA on :+1: or :-1: Pull Requests
25+
* If a Gatekeeper will be unavailabile for a period of time, notify @reactive-streams/contributors and appoint who will vote in his/her place in the mean time
26+
2. tag @reactive-streams/contributors with a deadline when there needs to be a vote on an Issue,
27+
with at least 1 week of notice (see rule 1 above)
2128

2229
## General Workflow
2330

CopyrightWaivers.txt

+1
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@ viktorklang | Viktor Klang, [email protected], Typesafe Inc.
2424
smaldini | Stephane Maldini, [email protected], Pivotal Software Inc.
2525
savulchik | Stanislav Savulchik, [email protected]
2626
ktoso | Konrad Malawski, [email protected], Typesafe Inc.
27+
ouertani | Slim Ouertani, [email protected]

api/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
description = 'reactive-streams-api'

api/build.sbt

-11
This file was deleted.

api/src/main/java/org/reactivestreams/Processor.java

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
/**
44
* A Processor represents a processing stage—which is both a {@link Subscriber}
55
* and a {@link Publisher} and obeys the contracts of both.
6+
*
7+
* @param <T> the type of element signaled to the {@link Subscriber}
8+
* @param <R> the type of element signaled by the {@link Publisher}
69
*/
710
public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {
811
}

api/src/main/java/org/reactivestreams/Publisher.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
package org.reactivestreams;
22

3+
/**
4+
* A {@link Publisher} is a provider of a potentially unbounded number of sequenced elements, publishing them according to
5+
* the demand received from its {@link Subscriber}(s).
6+
* <p>
7+
* A {@link Publisher} can serve multiple {@link Subscriber}s subscribed {@link #subscribe(Subscriber)}dynamically
8+
* at various points in time.
9+
*
10+
* @param <T> the type of element signaled.
11+
*/
312
public interface Publisher<T> {
413

514
/**
@@ -11,9 +20,9 @@ public interface Publisher<T> {
1120
* <p>
1221
* A {@link Subscriber} should only subscribe once to a single {@link Publisher}.
1322
* <p>
14-
* If the {@link Publisher} rejects the subscription attempt or otherwise fails it will
23+
* If the {@link Publisher} rejects the subscription attempt or otherwise fails it will
1524
* signal the error via {@link Subscriber#onError}.
16-
*
25+
*
1726
* @param s the {@link Subscriber} that will consume signals from this {@link Publisher}
1827
*/
1928
public void subscribe(Subscriber<? super T> s);

api/src/main/java/org/reactivestreams/Subscriber.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* <p>
1414
* Demand can be signaled via {@link Subscription#request(long)} whenever the {@link Subscriber} instance is capable of handling more.
1515
*
16-
* @param <T> the Type of element signaled.
16+
* @param <T> the type of element signaled.
1717
*/
1818
public interface Subscriber<T> {
1919
/**

build.gradle

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
allprojects {
2+
apply plugin: 'java'
3+
apply plugin: 'maven'
4+
apply plugin: 'eclipse'
5+
apply plugin: 'idea'
6+
apply plugin: 'ivy-publish'
7+
8+
9+
group = 'org.reactivestreams'
10+
version = '0.4.0'
11+
12+
13+
gradle.projectsEvaluated {
14+
tasks.withType(JavaCompile) {
15+
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
16+
options.encoding = 'UTF-8'
17+
}
18+
19+
tasks.withType(Javadoc) {
20+
source = sourceSets.main.allJava
21+
22+
configure(options) {
23+
encoding 'UTF-8'
24+
docEncoding 'UTF-8'
25+
charSet 'UTF-8'
26+
linkSource true
27+
noTimestamp true
28+
}
29+
}
30+
}
31+
32+
uploadArchives {
33+
34+
repositories {
35+
36+
mavenDeployer {
37+
38+
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2")
39+
40+
pom.project {
41+
name 'org.reactivestreams'
42+
packaging 'jar'
43+
url 'http://www.reactive-streams.org/'
44+
inceptionYear '2014'
45+
46+
scm {
47+
url '[email protected]:reactive-streams/reactive-streams.git'
48+
connection 'scm:git:[email protected]:reactive-streams/reactive-streams.git'
49+
}
50+
51+
licenses {
52+
license {
53+
name 'CC0'
54+
url 'http://creativecommons.org/publicdomain/zero/1.0/'
55+
distribution 'repo'
56+
}
57+
}
58+
59+
developers {
60+
developer {
61+
id 'reactive-streams-sig'
62+
name 'Reactive Streams SIG'
63+
url 'http://www.reactive-streams.org/'
64+
}
65+
}
66+
}
67+
}
68+
69+
}
70+
}
71+
repositories {
72+
mavenLocal()
73+
mavenCentral()
74+
}
75+
76+
publishing {
77+
repositories {
78+
ivy {
79+
// change to point to your repo, e.g. http://my.org/repo
80+
url "${rootProject.buildDir}/repo"
81+
}
82+
}
83+
publications {
84+
ivy(IvyPublication) {
85+
from components.java
86+
descriptor.withXml {
87+
asNode().info[0].appendNode('description', description)
88+
}
89+
}
90+
}
91+
}
92+
}
93+
94+
subprojects {
95+
96+
sourceCompatibility = 1.6
97+
targetCompatibility = 1.6
98+
99+
compileJava.options.encoding = 'UTF-8'
100+
101+
javadoc {
102+
options.encoding = 'UTF-8'
103+
}
104+
}

build.sbt

-33
This file was deleted.

examples/build.gradle

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
description = 'reactive-streams-examples'
2+
dependencies {
3+
compile project(':reactive-streams-api')
4+
}

api/src/examples/java/org/reactivestreams/example/unicast/InfiniteIncrementNumberPublisher.java renamed to examples/src/main/java/org/reactivestreams/example/unicast/InfiniteIncrementNumberPublisher.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.reactivestreams.example.unicast;
22

33
import java.util.concurrent.atomic.AtomicLong;
4+
import java.util.concurrent.atomic.AtomicInteger;
45

56
import org.reactivestreams.Subscription;
67
import org.reactivestreams.Subscriber;

gradle/wrapper/gradle-wrapper.jar

49.4 KB
Binary file not shown.
+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Tue Aug 19 09:12:00 AST 2014
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip

0 commit comments

Comments
 (0)