Skip to content

Commit 645ef02

Browse files
authored
feat: add org.reactivestreams (#9)
- chore: add `org.reactivestreams` submodule - chore: pin to reactive-streams/reactive-streams-jvm#556 - chore: sync repository - chore: add to version catalog Relates-To: #1 Signed-off-by: Sam Gammon <sam@elide.ventures>
1 parent e21ef7f commit 645ef02

83 files changed

Lines changed: 675 additions & 6 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313
[submodule "guava"]
1414
path = com.google.guava
1515
url = git@github.com:sgammon/guava.git
16+
[submodule "reactive-streams"]
17+
path = org.reactivestreams
18+
url = git@github.com:sgammon/reactive-streams-jvm.git

Makefile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ ifeq ($(SNAPSHOT),yes)
1616
export CHECKER_FRAMEWORK_VERSION ?= 3.43.0-SNAPSHOT
1717
export GUAVA_VERSION ?= 1.0-HEAD-jre-SNAPSHOT
1818
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
19+
export REACTIVE_STREAMS_VERSION ?= 1.0.5-SNAPSHOT
1920
else
2021
export CHECKER_FRAMEWORK_VERSION ?= 3.43.0-SNAPSHOT
2122
export GUAVA_VERSION ?= 33.0.0-jre-jpms
2223
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
24+
export REACTIVE_STREAMS_VERSION ?= 1.0.5-jpms
2325
endif
2426

2527
export PROJECT ?= $(shell pwd)
2628
export LIBS ?= $(PROJECT)/libs
2729

28-
DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework
30+
DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework org.reactivestreams
2931
POSIX_FLAGS ?=
3032

3133
ifeq ($(VERBOSE),yes)
@@ -140,6 +142,19 @@ com.google.guava/guava/futures/failureaccess/target:
140142
&& $(GIT) checkout . \
141143
&& echo "Guava Failure Access ready."
142144

145+
reactivestreams: org.reactivestreams ## Build Reactive Streams.
146+
org.reactivestreams: org.reactivestreams/api/build/libs
147+
org.reactivestreams/api/build/libs:
148+
$(info Building Reactive Streams...)
149+
$(RULE)cd org.reactivestreams \
150+
&& $(GRADLE) \
151+
-Pversion=$(REACTIVE_STREAMS_VERSION) \
152+
-PreleaseVersion=$(REACTIVE_STREAMS_VERSION) \
153+
$(GRADLE_GOAL) \
154+
publishToMavenLocal \
155+
publishAllPublicationsToMavenLocalRepository \
156+
&& echo "Reactive Streams ready."
157+
143158
#
144159
# Top-level commands
145160
#
@@ -171,6 +186,7 @@ $(LIBS):
171186
com.google.errorprone/annotations/target/*.jar \
172187
com.google.j2objc/annotations/target/*.jar \
173188
org.checkerframework/checker-qual/build/libs/*.jar \
189+
org.reactivestreams/api/build/libs/*.jar \
174190
com.google.guava/guava/target/*.jar \
175191
$(LIBS)
176192

@@ -192,6 +208,7 @@ git-add:
192208
repository/com/google/j2objc \
193209
repository/com/google/errorprone \
194210
repository/org/checkerframework \
211+
repository/org/reactivestreams \
195212
repository/dev/javamodules
196213
$(GIT) status -sb
197214

@@ -205,6 +222,7 @@ clean: ## Clean all built targets.
205222
com.google.guava/futures/failureaccess/target \
206223
org.checkerframework/build \
207224
org.checkerframework/*/build \
225+
org.reactivestreams/*/build \
208226
samples/gradle-platform/app/build \
209227
samples/modular-guava/app/build \
210228
samples/modular-guava-repo/app/build \

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ Tracking issue [here][6] provides the best tracker. Once these PRs are merged an
2727

2828
- **[`org.checkerframework`][0]:** **Checker Framework** is a type-checking framework for Java. The `checker-qual` package is used by Guava, so it is included here transitively. Checker Framework added a JPMS module definition in a [recent PR][1], so this is sub-moduled at `master`. At the time of this writing no release has taken place.
2929

30+
- **[`org.reactivestreams`][16]:** **Reactive Streams** is a universal JVM API for building reactive software in an implementation-agnostic manner.
31+
3032
### How do I use it?
3133

3234
Add this domain as a repository within any JVM build tool: [Maven][7], [Gradle][8], [Bazel][9], [sbt][10]. For example:
@@ -81,6 +83,19 @@ You should use a JPMS-enabled library version which has no conflict with Maven C
8183
| `com.google.guava:guava` | `33.0.0-jre-jpms` | 🔄 |
8284
| `com.google.j2objc:j2objc-annotations` | `3.0.0` ||
8385
| `org.checkerframework:checker-qual` | `3.43.0-SNAPSHOT` | 🔄 |
86+
| `org.reactivestreams:reactive-streams` | `1.0.5-jpms` ||
87+
88+
### Using the modules
89+
90+
Use the modules in your `module-info.java`:
91+
92+
| Coordinate | Module |
93+
| ----------------------------------------------- | ----------------------------------- |
94+
| `com.google.errorprone:error_prone_annotations` | `com.google.errorprone.annotations` |
95+
| `com.google.guava:guava` | `com.google.common` |
96+
| `com.google.j2objc:j2objc-annotations` | `com.google.j2objc.annotations` |
97+
| `org.checkerframework:checker-qual` | `org.checkerframework.checker.qual` |
98+
| `org.reactivestreams:reactive-streams` | `org.reactivestreams` |
8499

85100
### BOMs & Catalogs
86101

@@ -171,3 +186,4 @@ This repo is open source, licensed under [Apache 2.0](./LICENSE.txt). The librar
171186
[13]: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms
172187
[14]: https://docs.gradle.org/current/userguide/platforms.html
173188
[15]: https://docs.gradle.org/current/userguide/dependency_version_alignment.html
189+
[16]: https://github.com/reactive-streams/reactive-streams-jvm

org.reactivestreams

Submodule org.reactivestreams added at a973c9e
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<metadata modelVersion="1.1.0">
3+
<groupId>org.reactivestreams</groupId>
4+
<artifactId>reactive-streams</artifactId>
5+
<versioning>
6+
<lastUpdated>20240313040850</lastUpdated>
7+
<snapshot>
8+
<localCopy>true</localCopy>
9+
</snapshot>
10+
<snapshotVersions>
11+
<snapshotVersion>
12+
<extension>jar</extension>
13+
<value>1.0.5-SNAPSHOT</value>
14+
<updated>20240313040850</updated>
15+
</snapshotVersion>
16+
<snapshotVersion>
17+
<extension>pom</extension>
18+
<value>1.0.5-SNAPSHOT</value>
19+
<updated>20240313040850</updated>
20+
</snapshotVersion>
21+
<snapshotVersion>
22+
<extension>module</extension>
23+
<value>1.0.5-SNAPSHOT</value>
24+
<updated>20240313040850</updated>
25+
</snapshotVersion>
26+
</snapshotVersions>
27+
</versioning>
28+
<version>1.0.5-SNAPSHOT</version>
29+
</metadata>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<metadata modelVersion="1.1.0">
3+
<groupId>org.reactivestreams</groupId>
4+
<artifactId>reactive-streams</artifactId>
5+
<versioning>
6+
<lastUpdated>20240313040846</lastUpdated>
7+
<snapshot>
8+
<timestamp>20240313.040846</timestamp>
9+
<buildNumber>3</buildNumber>
10+
</snapshot>
11+
<snapshotVersions>
12+
<snapshotVersion>
13+
<extension>jar</extension>
14+
<value>1.0.5-20240313.040846-3</value>
15+
<updated>20240313040846</updated>
16+
</snapshotVersion>
17+
<snapshotVersion>
18+
<extension>pom</extension>
19+
<value>1.0.5-20240313.040846-3</value>
20+
<updated>20240313040846</updated>
21+
</snapshotVersion>
22+
<snapshotVersion>
23+
<extension>module</extension>
24+
<value>1.0.5-20240313.040846-3</value>
25+
<updated>20240313040846</updated>
26+
</snapshotVersion>
27+
</snapshotVersions>
28+
</versioning>
29+
<version>1.0.5-SNAPSHOT</version>
30+
</metadata>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2f02be4e952bf9088283830ddf9f5343
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a6ad042fb0c58ee74726856142a274c2795e418f
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
80ac42244391ba2500bf9b834ea0a0f5e3772baff79cc62c0de26f99cb85b8f8
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a0599893bc9711329ac77c5aa07bbcb93b1740946028d1f5a87050371b4b63444839cbcff937f454f3906c48b8e40b2c3e191ce24e816546b71c615dd60717d0

0 commit comments

Comments
 (0)