Skip to content

Commit

Permalink
feat: add org.reactivestreams (#9)
Browse files Browse the repository at this point in the history
- 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>
  • Loading branch information
sgammon committed Mar 13, 2024
1 parent e21ef7f commit 645ef02
Show file tree
Hide file tree
Showing 83 changed files with 675 additions and 6 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
[submodule "guava"]
path = com.google.guava
url = git@github.com:sgammon/guava.git
[submodule "reactive-streams"]
path = org.reactivestreams
url = git@github.com:sgammon/reactive-streams-jvm.git
20 changes: 19 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,18 @@ ifeq ($(SNAPSHOT),yes)
export CHECKER_FRAMEWORK_VERSION ?= 3.43.0-SNAPSHOT
export GUAVA_VERSION ?= 1.0-HEAD-jre-SNAPSHOT
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
export REACTIVE_STREAMS_VERSION ?= 1.0.5-SNAPSHOT
else
export CHECKER_FRAMEWORK_VERSION ?= 3.43.0-SNAPSHOT
export GUAVA_VERSION ?= 33.0.0-jre-jpms
export GUAVA_FAILUREACCESS_VERSION ?= 1.0.3-jpms
export REACTIVE_STREAMS_VERSION ?= 1.0.5-jpms
endif

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

DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework
DEPS ?= com.google.guava com.google.errorprone com.google.j2objc org.checkerframework org.reactivestreams
POSIX_FLAGS ?=

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

reactivestreams: org.reactivestreams ## Build Reactive Streams.
org.reactivestreams: org.reactivestreams/api/build/libs
org.reactivestreams/api/build/libs:
$(info Building Reactive Streams...)
$(RULE)cd org.reactivestreams \
&& $(GRADLE) \
-Pversion=$(REACTIVE_STREAMS_VERSION) \
-PreleaseVersion=$(REACTIVE_STREAMS_VERSION) \
$(GRADLE_GOAL) \
publishToMavenLocal \
publishAllPublicationsToMavenLocalRepository \
&& echo "Reactive Streams ready."

#
# Top-level commands
#
Expand Down Expand Up @@ -171,6 +186,7 @@ $(LIBS):
com.google.errorprone/annotations/target/*.jar \
com.google.j2objc/annotations/target/*.jar \
org.checkerframework/checker-qual/build/libs/*.jar \
org.reactivestreams/api/build/libs/*.jar \
com.google.guava/guava/target/*.jar \
$(LIBS)

Expand All @@ -192,6 +208,7 @@ git-add:
repository/com/google/j2objc \
repository/com/google/errorprone \
repository/org/checkerframework \
repository/org/reactivestreams \
repository/dev/javamodules
$(GIT) status -sb

Expand All @@ -205,6 +222,7 @@ clean: ## Clean all built targets.
com.google.guava/futures/failureaccess/target \
org.checkerframework/build \
org.checkerframework/*/build \
org.reactivestreams/*/build \
samples/gradle-platform/app/build \
samples/modular-guava/app/build \
samples/modular-guava-repo/app/build \
Expand Down
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Tracking issue [here][6] provides the best tracker. Once these PRs are merged an

- **[`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.

- **[`org.reactivestreams`][16]:** **Reactive Streams** is a universal JVM API for building reactive software in an implementation-agnostic manner.

### How do I use it?

Add this domain as a repository within any JVM build tool: [Maven][7], [Gradle][8], [Bazel][9], [sbt][10]. For example:
Expand Down Expand Up @@ -81,6 +83,19 @@ You should use a JPMS-enabled library version which has no conflict with Maven C
| `com.google.guava:guava` | `33.0.0-jre-jpms` | 🔄 |
| `com.google.j2objc:j2objc-annotations` | `3.0.0` ||
| `org.checkerframework:checker-qual` | `3.43.0-SNAPSHOT` | 🔄 |
| `org.reactivestreams:reactive-streams` | `1.0.5-jpms` ||

### Using the modules

Use the modules in your `module-info.java`:

| Coordinate | Module |
| ----------------------------------------------- | ----------------------------------- |
| `com.google.errorprone:error_prone_annotations` | `com.google.errorprone.annotations` |
| `com.google.guava:guava` | `com.google.common` |
| `com.google.j2objc:j2objc-annotations` | `com.google.j2objc.annotations` |
| `org.checkerframework:checker-qual` | `org.checkerframework.checker.qual` |
| `org.reactivestreams:reactive-streams` | `org.reactivestreams` |

### BOMs & Catalogs

Expand Down Expand Up @@ -171,3 +186,4 @@ This repo is open source, licensed under [Apache 2.0](./LICENSE.txt). The librar
[13]: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms
[14]: https://docs.gradle.org/current/userguide/platforms.html
[15]: https://docs.gradle.org/current/userguide/dependency_version_alignment.html
[16]: https://github.com/reactive-streams/reactive-streams-jvm
1 change: 1 addition & 0 deletions org.reactivestreams
Submodule org.reactivestreams added at a973c9
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<versioning>
<lastUpdated>20240313040850</lastUpdated>
<snapshot>
<localCopy>true</localCopy>
</snapshot>
<snapshotVersions>
<snapshotVersion>
<extension>jar</extension>
<value>1.0.5-SNAPSHOT</value>
<updated>20240313040850</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>1.0.5-SNAPSHOT</value>
<updated>20240313040850</updated>
</snapshotVersion>
<snapshotVersion>
<extension>module</extension>
<value>1.0.5-SNAPSHOT</value>
<updated>20240313040850</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
<version>1.0.5-SNAPSHOT</version>
</metadata>
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<versioning>
<lastUpdated>20240313040846</lastUpdated>
<snapshot>
<timestamp>20240313.040846</timestamp>
<buildNumber>3</buildNumber>
</snapshot>
<snapshotVersions>
<snapshotVersion>
<extension>jar</extension>
<value>1.0.5-20240313.040846-3</value>
<updated>20240313040846</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>1.0.5-20240313.040846-3</value>
<updated>20240313040846</updated>
</snapshotVersion>
<snapshotVersion>
<extension>module</extension>
<value>1.0.5-20240313.040846-3</value>
<updated>20240313040846</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
<version>1.0.5-SNAPSHOT</version>
</metadata>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2f02be4e952bf9088283830ddf9f5343
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a6ad042fb0c58ee74726856142a274c2795e418f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
80ac42244391ba2500bf9b834ea0a0f5e3772baff79cc62c0de26f99cb85b8f8
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a0599893bc9711329ac77c5aa07bbcb93b1740946028d1f5a87050371b4b63444839cbcff937f454f3906c48b8e40b2c3e191ce24e816546b71c615dd60717d0
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eb641960bd02ea4eda635f35dfcccae2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
68e379ba80b7063583c75723d1a3fb315ae00cad
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7c2270378b0379634a9573f143786fd60de59617e115e622d74191d18f468af7
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4f419014e00d00a4feb9495c2aa1048460f977be94fcc96dfaee88baea7152c2fbf710e1d90e49f641f667f0a8b01e5c2dc4df507f8218866d232bfb1cbb5a27
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"formatVersion": "1.1",
"component": {
"group": "org.reactivestreams",
"module": "reactive-streams",
"version": "1.0.5-SNAPSHOT",
"attributes": {
"org.gradle.status": "integration"
}
},
"createdBy": {
"gradle": {
"version": "8.6"
}
},
"variants": [
{
"name": "apiElements",
"attributes": {
"org.gradle.category": "library",
"org.gradle.dependency.bundling": "external",
"org.gradle.jvm.version": 6,
"org.gradle.libraryelements": "jar",
"org.gradle.usage": "java-api"
},
"files": [
{
"name": "reactive-streams-1.0.5-SNAPSHOT.jar",
"url": "reactive-streams-1.0.5-SNAPSHOT.jar",
"size": 13518,
"sha512": "4f419014e00d00a4feb9495c2aa1048460f977be94fcc96dfaee88baea7152c2fbf710e1d90e49f641f667f0a8b01e5c2dc4df507f8218866d232bfb1cbb5a27",
"sha256": "7c2270378b0379634a9573f143786fd60de59617e115e622d74191d18f468af7",
"sha1": "68e379ba80b7063583c75723d1a3fb315ae00cad",
"md5": "eb641960bd02ea4eda635f35dfcccae2"
}
]
},
{
"name": "runtimeElements",
"attributes": {
"org.gradle.category": "library",
"org.gradle.dependency.bundling": "external",
"org.gradle.jvm.version": 6,
"org.gradle.libraryelements": "jar",
"org.gradle.usage": "java-runtime"
},
"files": [
{
"name": "reactive-streams-1.0.5-SNAPSHOT.jar",
"url": "reactive-streams-1.0.5-SNAPSHOT.jar",
"size": 13518,
"sha512": "4f419014e00d00a4feb9495c2aa1048460f977be94fcc96dfaee88baea7152c2fbf710e1d90e49f641f667f0a8b01e5c2dc4df507f8218866d232bfb1cbb5a27",
"sha256": "7c2270378b0379634a9573f143786fd60de59617e115e622d74191d18f468af7",
"sha1": "68e379ba80b7063583c75723d1a3fb315ae00cad",
"md5": "eb641960bd02ea4eda635f35dfcccae2"
}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c5b29b6c917d527b3a5c80fee0e1847b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eb9894e730cf3d82eb7efe3b3d828ca50801e3ad
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cb8017fdfe8cfb7e9c4850f4b2c35fbb87e227cd929a77deb68136b3e3eb6eca
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
be265c9f29faef5e31f061da016b4684daba2e8eabf115c76dd77762422a574e5895437ec22669ad071eefb01a209d896e51e818820ff8dd5d37a9b3dce8ddc5
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- This module was also published with a richer model, Gradle metadata, -->
<!-- which should be used instead. Do not delete the following line which -->
<!-- is to indicate to Gradle or any Gradle module metadata file consumer -->
<!-- that they should prefer consuming it instead. -->
<!-- do_not_remove: published-with-gradle-metadata -->
<modelVersion>4.0.0</modelVersion>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>1.0.5-SNAPSHOT</version>
<name>reactive-streams</name>
<description>A Protocol for Asynchronous Non-Blocking Data Sequence</description>
<url>https://www.reactive-streams.org/</url>
<inceptionYear>2014</inceptionYear>
<licenses>
<license>
<name>MIT-0</name>
<url>https://spdx.org/licenses/MIT-0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>reactive-streams-sig</id>
<name>Reactive Streams SIG</name>
<url>https://www.reactive-streams.org/</url>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:reactive-streams/reactive-streams.git</connection>
<url>git@github.com:reactive-streams/reactive-streams.git</url>
</scm>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e1919c5284601c3f39526261641b539b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
701e1d713e8f6ff75410d7e921c77c9fa2ce5034
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2b1623f0786ae51c62135d57be49deab6ecaf0e69a9d8bf9f285abf4e7f429a1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b32a7b000fa60baa192f5f31e36564d69eca902f36f370a05509515d1c172cc88107d39311a52eebae21829258c0d30d42f8176a48eda4ff90e6d58cdd7dfea0
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
61eeae3776f8ea394267e1d071664f7d
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7e1a1f143e21e86e71d07c48790666fc4ca5bf42
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5c03527f2b2f58fb5a54b06a818ed47144c5e2461e41fca0725a38f85c9d1280
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ce46f0a596e6c5a944782ca3328e262b703f22ecc78c4258de96a7160ea894b9f09e31a46ee8c3d10101dbc42432c5f5989a3b75a83b8e2b2f27a8d0acc96091
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"formatVersion": "1.1",
"component": {
"group": "org.reactivestreams",
"module": "reactive-streams",
"version": "1.0.5-SNAPSHOT",
"attributes": {
"org.gradle.status": "integration"
}
},
"createdBy": {
"gradle": {
"version": "8.6"
}
},
"variants": [
{
"name": "apiElements",
"attributes": {
"org.gradle.category": "library",
"org.gradle.dependency.bundling": "external",
"org.gradle.jvm.version": 6,
"org.gradle.libraryelements": "jar",
"org.gradle.usage": "java-api"
},
"files": [
{
"name": "reactive-streams-1.0.5-SNAPSHOT.jar",
"url": "reactive-streams-1.0.5-SNAPSHOT.jar",
"size": 13517,
"sha512": "ce46f0a596e6c5a944782ca3328e262b703f22ecc78c4258de96a7160ea894b9f09e31a46ee8c3d10101dbc42432c5f5989a3b75a83b8e2b2f27a8d0acc96091",
"sha256": "5c03527f2b2f58fb5a54b06a818ed47144c5e2461e41fca0725a38f85c9d1280",
"sha1": "7e1a1f143e21e86e71d07c48790666fc4ca5bf42",
"md5": "61eeae3776f8ea394267e1d071664f7d"
}
]
},
{
"name": "runtimeElements",
"attributes": {
"org.gradle.category": "library",
"org.gradle.dependency.bundling": "external",
"org.gradle.jvm.version": 6,
"org.gradle.libraryelements": "jar",
"org.gradle.usage": "java-runtime"
},
"files": [
{
"name": "reactive-streams-1.0.5-SNAPSHOT.jar",
"url": "reactive-streams-1.0.5-SNAPSHOT.jar",
"size": 13517,
"sha512": "ce46f0a596e6c5a944782ca3328e262b703f22ecc78c4258de96a7160ea894b9f09e31a46ee8c3d10101dbc42432c5f5989a3b75a83b8e2b2f27a8d0acc96091",
"sha256": "5c03527f2b2f58fb5a54b06a818ed47144c5e2461e41fca0725a38f85c9d1280",
"sha1": "7e1a1f143e21e86e71d07c48790666fc4ca5bf42",
"md5": "61eeae3776f8ea394267e1d071664f7d"
}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e9bb0e3887e5945fad1c893557acfb13
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3079469316da49aee94d8d16f2a04add0200e434
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7430493901e1aeeaa976eac47d8f6460d5d848b2fc6d56dabf046e7a97a54481
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3737525bf1c17ffb71804b27d4c930cf6626c08ec4238a28aaf0bb0917992e313d75f07a909289c7cae344aa8aba31c60608c6207b9b305e161ba6a70b3d59b5

0 comments on commit 645ef02

Please sign in to comment.