Skip to content

Commit 0077659

Browse files
authored
Merge pull request #1784 from smallrye/feat/switch-to-java17
Switch to Java 17
2 parents a134ce9 + f1f0a10 commit 0077659

File tree

12 files changed

+39
-161
lines changed

12 files changed

+39
-161
lines changed

.github/workflows/build-pull.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
strategy:
1616
matrix:
1717
java: [
18-
{ 'version': '11', 'opts': '' },
1918
{ 'version': '17', 'opts': '' },
2019
{ 'version': '21', 'opts': '' },
2120
{ 'version': '23', 'opts': '' }
@@ -51,7 +50,7 @@ jobs:
5150
- uses: actions/checkout@v4
5251
- uses: actions/setup-java@v4
5352
with:
54-
java-version: 11
53+
java-version: 17
5554
distribution: temurin
5655
cache: maven
5756
- name: Compatibility Check

.github/workflows/deploy-site.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ jobs:
2626
run: |
2727
git config --global user.name "SmallRye CI"
2828
git config --global user.email "smallrye@googlegroups.com"
29-
sudo snap install yq
3029
- name: Render docs and publish
3130
run: |
3231
export PROJECT_VERSION=$(cat .github/project.yml | yq eval '.release.current-version' -)

implementation/pom.xml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -134,34 +134,6 @@
134134
</build>
135135

136136
<profiles>
137-
<profile>
138-
<activation>
139-
<jdk>[11,)</jdk>
140-
</activation>
141-
<id>java-11+</id>
142-
<build>
143-
<plugins>
144-
<plugin>
145-
<groupId>org.apache.maven.plugins</groupId>
146-
<artifactId>maven-javadoc-plugin</artifactId>
147-
<executions>
148-
<execution>
149-
<id>attach-javadocs</id>
150-
<goals>
151-
<goal>jar</goal>
152-
</goals>
153-
</execution>
154-
</executions>
155-
<configuration>
156-
<!-- wonderful reliability of javadoc used with modules breaking on non exposed packages -->
157-
<source>11</source>
158-
<release>11</release>
159-
<detectJavaApiLink>false</detectJavaApiLink>
160-
</configuration>
161-
</plugin>
162-
</plugins>
163-
</build>
164-
</profile>
165137
<profile>
166138
<id>parallel-tests</id>
167139
<build>

implementation/revapi.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,28 @@
6464
"old": "method void io.smallrye.mutiny.operators.multi.MultiEmitOnOp<T>::<init>(io.smallrye.mutiny.Multi<? extends T>, java.util.concurrent.Executor)",
6565
"new": "method void io.smallrye.mutiny.operators.multi.MultiEmitOnOp<T>::<init>(io.smallrye.mutiny.Multi<? extends T>, java.util.concurrent.Executor, int)",
6666
"justification": "The emitOn() internal buffer size must be configurable"
67+
},
68+
{
69+
"ignore": true,
70+
"code": "java.class.nonFinalClassInheritsFromNewClass",
71+
"old": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
72+
"new": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
73+
"superClass": "java.lang.Record",
74+
"justification": "Migration to a Java 17 record type"
75+
},
76+
{
77+
"ignore": true,
78+
"code": "java.class.kindChanged",
79+
"old": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
80+
"new": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
81+
"justification": "Migration to a Java 17 record type"
82+
},
83+
{
84+
"ignore": true,
85+
"code": "java.class.nowFinal",
86+
"old": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
87+
"new": "class io.smallrye.mutiny.subscription.DemandPacer.Request",
88+
"justification": "Migration to a Java 17 record type"
6789
}
6890
]
6991
}

implementation/src/main/java/io/smallrye/mutiny/helpers/test/AssertSubscriber.java

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -820,46 +820,18 @@ private void unregisterListener(EventListener listener) {
820820
private interface EventListener extends Consumer<Event> {
821821
}
822822

823-
private static class Event {
824-
825-
private final Object item;
826-
private final Throwable failure;
827-
private final boolean completion;
828-
private final boolean cancellation;
829-
830-
private Event(Object item, Throwable failure, boolean completion, boolean cancellation) {
831-
this.item = item;
832-
this.failure = failure;
833-
this.completion = completion;
834-
this.cancellation = cancellation;
835-
}
823+
private record Event(Object item, Throwable failure, boolean completion, boolean cancellation) {
836824

837825
public boolean isItem() {
838826
return item != null;
839827
}
840828

841-
public boolean isCancellation() {
842-
return cancellation;
843-
}
844-
845829
public boolean isFailure() {
846830
return failure != null;
847831
}
848-
849-
public boolean isCompletion() {
850-
return completion;
851-
}
852832
}
853833

854-
private static class NextItemTask<T> {
855-
856-
private final int expected;
857-
private final AssertSubscriber<T> subscriber;
858-
859-
public NextItemTask(int expected, AssertSubscriber<T> subscriber) {
860-
this.expected = expected;
861-
this.subscriber = subscriber;
862-
}
834+
private record NextItemTask<T>(int expected, AssertSubscriber<T> subscriber) {
863835

864836
public CompletableFuture<Void> future() {
865837
CompletableFuture<Void> future = new CompletableFuture<>();
@@ -870,7 +842,7 @@ public CompletableFuture<Void> future() {
870842
if (count.decrementAndGet() == 0) {
871843
future.complete(null);
872844
}
873-
} else if (event.isCancellation() || event.isFailure() || event.isCompletion()) {
845+
} else if (event.cancellation() || event.isFailure() || event.completion()) {
874846
future.completeExceptionally(
875847
new NoSuchElementException("Received a terminal event while waiting for items"));
876848
}
@@ -882,17 +854,7 @@ public CompletableFuture<Void> future() {
882854
}
883855
}
884856

885-
private static class ItemTask<T> {
886-
887-
private final int expected;
888-
private final AssertSubscriber<T> subscriber;
889-
private final long duration;
890-
891-
public ItemTask(int expected, long duration, AssertSubscriber<T> subscriber) {
892-
this.expected = expected;
893-
this.subscriber = subscriber;
894-
this.duration = duration;
895-
}
857+
private record ItemTask<T>(int expected, long duration, AssertSubscriber<T> subscriber) {
896858

897859
public CompletableFuture<Void> future() {
898860
CompletableFuture<Void> future = new CompletableFuture<>();

implementation/src/main/java/io/smallrye/mutiny/helpers/test/AssertionHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ private static String getItemList(Object[] items) {
159159
private static String getMismatches(Map<Object, Object> mismatches) {
160160
StringBuilder builder = new StringBuilder();
161161
for (Map.Entry<Object, Object> entry : mismatches.entrySet()) {
162-
if (builder.length() != 0) {
162+
if (!builder.isEmpty()) {
163163
builder.append("\n");
164164
}
165165
if (entry.getValue() == null) {

implementation/src/main/java/io/smallrye/mutiny/operators/AbstractUni.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ public abstract class AbstractUni<T> implements Uni<T> {
3030
*/
3131
@SuppressWarnings("unchecked")
3232
public static <T> void subscribe(Uni<? extends T> upstream, UniSubscriber<? super T> subscriber) {
33-
if (upstream instanceof AbstractUni) {
34-
AbstractUni abstractUni = (AbstractUni) upstream;
33+
if (upstream instanceof AbstractUni abstractUni) {
3534
UniSubscriber actualSubscriber = Infrastructure.onUniSubscription(upstream, subscriber);
3635
abstractUni.subscribe(actualSubscriber);
3736
} else {

implementation/src/main/java/io/smallrye/mutiny/operators/multi/processors/SerializedProcessor.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -196,28 +196,13 @@ public void dispatch(List<Object> queue, Subscriber<I> subscriber) {
196196
}
197197
}
198198

199-
private static class SubscriptionEvent {
200-
private final Subscription subscription;
201-
202-
private SubscriptionEvent(Subscription subscription) {
203-
this.subscription = subscription;
204-
}
199+
private record SubscriptionEvent(Subscription subscription) {
205200
}
206201

207-
private static class ItemEvent<T> {
208-
private final T item;
209-
210-
private ItemEvent(T item) {
211-
this.item = item;
212-
}
202+
private record ItemEvent<T>(T item) {
213203
}
214204

215-
private static class FailureEvent {
216-
private final Throwable failure;
217-
218-
private FailureEvent(Throwable failure) {
219-
this.failure = failure;
220-
}
205+
private record FailureEvent(Throwable failure) {
221206
}
222207

223208
private static class CompletionEvent {

implementation/src/main/java/io/smallrye/mutiny/subscription/DemandPacer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ public interface DemandPacer {
2323
/**
2424
* A demand request.
2525
*/
26-
class Request {
27-
28-
private final long demand;
29-
private final Duration delay;
26+
record Request(long demand, Duration delay) {
3027

3128
/**
3229
* Constructs a new request.
@@ -47,6 +44,7 @@ public Request(long demand, Duration delay) {
4744
*
4845
* @return the demand
4946
*/
47+
@Override
5048
public long demand() {
5149
return demand;
5250
}
@@ -56,6 +54,7 @@ public long demand() {
5654
*
5755
* @return the delay
5856
*/
57+
@Override
5958
public Duration delay() {
6059
return delay;
6160
}

implementation/src/main/java/io/smallrye/mutiny/tuples/Tuple2.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,10 @@ public boolean equals(Object o) {
9393
if (this == o) {
9494
return true;
9595
}
96-
if (!(o instanceof Tuple2)) {
96+
if (!(o instanceof Tuple2<?, ?> pair)) {
9797
return false;
9898
}
9999

100-
Tuple2<?, ?> pair = (Tuple2<?, ?>) o;
101-
102100
if (!Objects.equals(item1, pair.item1)) {
103101
return false;
104102
}

0 commit comments

Comments
 (0)