Skip to content

Commit 34ee738

Browse files
authored
Merge pull request #67 from avaje/prisms-2
Prisms 2.0 Module Validation
2 parents b50c89d + 5bbc5f9 commit 34ee738

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

avaje-spi-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<tag>HEAD</tag>
1414
</scm>
1515
<properties>
16-
<avaje.prisms.version>1.43</avaje.prisms.version>
16+
<avaje.prisms.version>2.0-RC1</avaje.prisms.version>
1717
</properties>
1818

1919
<dependencies>

avaje-spi-core/src/main/java/io/avaje/spi/internal/ModuleReader.java

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@ final class ModuleReader {
1717
}
1818

1919
private void add(String k, Set<String> v) {
20-
missingServicesMap.put(replace$(k), v.stream().map(ModuleReader::replace$).collect(toSet()));
21-
}
22-
23-
private static String replace$(String k) {
24-
return k.replace('$', '.');
20+
missingServicesMap.put(k, v.stream().collect(toSet()));
2521
}
2622

2723
void read(ModuleInfoReader module) {
@@ -37,18 +33,23 @@ void read(ModuleInfoReader module) {
3733
break;
3834
}
3935
}
40-
module.provides().forEach(p -> {
41-
42-
final var contract = replace$(p.service());
43-
44-
if (!missingServicesMap.containsKey(contract)) {
45-
return;
46-
}
47-
var impls = p.implementations();
48-
var missing = missingServicesMap.get(contract);
49-
50-
impls.stream().map(ModuleReader::replace$).forEach(missing::remove);
51-
});
36+
module
37+
.provides()
38+
.forEach(
39+
p -> {
40+
final var contract = p.getService().getQualifiedName().toString();
41+
if (!missingServicesMap.containsKey(contract)) {
42+
return;
43+
}
44+
var impls = p.getImplementations();
45+
var missing = missingServicesMap.get(contract);
46+
impls.stream()
47+
.forEach(
48+
x -> {
49+
missing.remove(x.getQualifiedName().toString());
50+
missing.remove(APContext.elements().getBinaryName(x).toString());
51+
});
52+
});
5253
}
5354

5455
boolean staticWarning() {

avaje-spi-core/src/main/java/io/avaje/spi/internal/ServiceProcessor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,11 @@
4747
import javax.tools.StandardLocation;
4848

4949
import io.avaje.prism.GenerateAPContext;
50-
import io.avaje.prism.GenerateModuleInfoReader;
5150
import io.avaje.prism.GenerateUtils;
5251

5352
@GenerateUtils
5453
@GenerateAPContext
5554
@SuppressWarnings("exports")
56-
@GenerateModuleInfoReader
5755
@SupportedOptions("buildPlugin")
5856
@SupportedAnnotationTypes({
5957
ServiceProviderPrism.PRISM_TYPE,
@@ -88,7 +86,9 @@ public SourceVersion getSupportedSourceVersion() {
8886
"avaje-validator-generator",
8987
"io.avaje.validation.spi.ValidationExtension",
9088
"avaje-jsonb-generator",
91-
"io.avaje.jsonb.spi.JsonbExtension");
89+
"io.avaje.jsonb.spi.JsonbExtension",
90+
"avaje-http-client-generator",
91+
"io.avaje.http.client.HttpClient.GeneratedComponent");
9292

9393
private static final Map<String, String> VALID_AVAJE_SPI =
9494
Map.of(

0 commit comments

Comments
 (0)