Skip to content

Commit c53ae0a

Browse files
ctomctomazic89
authored andcommitted
make pom generation template paramterizable
1 parent 932bf2f commit c53ae0a

File tree

8 files changed

+28
-29
lines changed

8 files changed

+28
-29
lines changed

asyncapi/implementation/src/main/java/org/iris_events/asyncapi/runtime/io/AsyncApiSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
import java.io.IOException;
44

5-
import io.apicurio.datamodels.Library;
65
import org.iris_events.asyncapi.runtime.json.IrisObjectMapper;
76

87
import com.fasterxml.jackson.core.JsonProcessingException;
98
import com.fasterxml.jackson.databind.ObjectMapper;
109

10+
import io.apicurio.datamodels.Library;
1111
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26Document;
1212

1313
/**

asyncapi/implementation/src/main/java/org/iris_events/asyncapi/runtime/scanner/BaseAnnotationScanner.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.util.Objects;
88
import java.util.Optional;
99

10-
import io.apicurio.datamodels.models.asyncapi.AsyncApiOperation;
1110
import org.iris_events.annotations.IrisGenerated;
1211
import org.iris_events.annotations.Scope;
1312
import org.iris_events.asyncapi.api.AsyncApiConfig;
@@ -36,15 +35,11 @@
3635
import io.apicurio.datamodels.Library;
3736
import io.apicurio.datamodels.models.ModelType;
3837
import io.apicurio.datamodels.models.asyncapi.AsyncApiChannelItem;
38+
import io.apicurio.datamodels.models.asyncapi.AsyncApiOperation;
3939
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26BindingImpl;
4040
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26ChannelBindingsImpl;
41-
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26ChannelItemImpl;
42-
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26ChannelsImpl;
4341
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26ComponentsImpl;
4442
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26Document;
45-
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26Operation;
46-
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26OperationBindingsImpl;
47-
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26OperationImpl;
4843
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26Schema;
4944
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26SchemaImpl;
5045

@@ -99,7 +94,7 @@ protected boolean annotatedClasses(AnnotationInstance annotation) {
9994
protected void createChannels(List<ChannelInfo> channelInfos, Map<String, Scope> messageScopes,
10095
AsyncApi26Document document) {
10196

102-
final var channels = document.getChannels() == null? document.createChannels(): document.getChannels();
97+
final var channels = document.getChannels() == null ? document.createChannels() : document.getChannels();
10398
document.setChannels(channels);
10499

105100
channelInfos.forEach(channelInfo -> {
@@ -152,7 +147,6 @@ protected void createChannels(List<ChannelInfo> channelInfos, Map<String, Scope>
152147
channels.addItem(channelKey, channelItem);
153148
});
154149

155-
156150
}
157151

158152
private <T extends JsonNode> T getExchangeBindings(final String exchangeName, final ChannelInfo channelInfo) {

maven/asyncapi-generator-plugin/src/main/java/org/iris_events/plugin/asyncapi/generator/GenerateSchemaMojo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import java.util.Map;
1414
import java.util.Properties;
1515

16-
import com.fasterxml.jackson.databind.node.ObjectNode;
17-
import io.apicurio.datamodels.Library;
1816
import org.apache.maven.artifact.DependencyResolutionRequiredException;
1917
import org.apache.maven.plugin.AbstractMojo;
2018
import org.apache.maven.plugin.MojoExecutionException;
@@ -34,7 +32,9 @@
3432
import org.jboss.jandex.IndexView;
3533

3634
import com.fasterxml.jackson.databind.ObjectMapper;
35+
import com.fasterxml.jackson.databind.node.ObjectNode;
3736

37+
import io.apicurio.datamodels.Library;
3838
import io.apicurio.datamodels.models.asyncapi.v26.AsyncApi26Document;
3939
import io.apicurio.registry.rest.client.RegistryClientFactory;
4040

maven/model-generator-plugin/src/main/java/org/iris_events/plugin/model/generator/AmqpGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public class AmqpGenerator {
6060
private final Pattern REF_PATTERN = Pattern.compile(StringConstants.REF_REGEX);
6161
private final Map<String, ChannelDetails> channelDetails;
6262
private final Set<String> eventClassNames;
63+
private final String irisVersion;
6364
private final SchemaFileGenerator schemaFileGenerator;
6465
private final PathResolver pathResolver;
6566
private final ObjectMapper objectMapper;
@@ -79,10 +80,12 @@ public class AmqpGenerator {
7980
private final ExistingJavaTypeProcessor existingJavaTypeProcessor;
8081
private final CustomDependencies customDependencies;
8182

82-
public AmqpGenerator(SchemaFileGenerator schemaFileGenerator, ObjectMapper objectMapper, PathResolver pathResolver,
83+
public AmqpGenerator(String irisVersion, SchemaFileGenerator schemaFileGenerator, ObjectMapper objectMapper,
84+
PathResolver pathResolver,
8385
FileInteractor fileInteractor, Log log, String packageName, String modelVersion, String modelName,
8486
String asyncApiFilename, String asyncApiDirectory, String apicurioUrl,
8587
final CustomDependencies customDependencies) {
88+
this.irisVersion = irisVersion;
8689
this.schemaFileGenerator = schemaFileGenerator;
8790
this.log = log;
8891
this.packageName = packageName;
@@ -506,6 +509,7 @@ private String preparePomTemplate() {
506509

507510
return pomTemplate
508511
.replace("@@ARTIFACT_ID@@", AmqpStringUtils.getPomArtifactId(modelName))
512+
.replace("@@IRIS_VERSION@@", irisVersion)
509513
.replace("@@APPLICATION_VERSION@@", modelVersion)
510514
.replace("@@GROUP_ID@@", packageName)
511515
.replace("@@CUSTOM_DEPENDENCIES@@", customDependencies.getDependenciesValue());

maven/model-generator-plugin/src/main/java/org/iris_events/plugin/model/generator/AmqpGeneratorMojo.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import org.apache.maven.plugin.AbstractMojo;
44
import org.apache.maven.plugin.MojoExecutionException;
5-
import org.apache.maven.plugins.annotations.LifecyclePhase;
6-
import org.apache.maven.plugins.annotations.Mojo;
7-
import org.apache.maven.plugins.annotations.Parameter;
8-
import org.apache.maven.plugins.annotations.ResolutionScope;
5+
import org.apache.maven.plugin.descriptor.PluginDescriptor;
6+
import org.apache.maven.plugins.annotations.*;
97
import org.iris_events.plugin.model.generator.exception.AmqpGeneratorException;
108
import org.iris_events.plugin.model.generator.models.ArtifactSource;
119
import org.iris_events.plugin.model.generator.utils.CustomDependencies;
@@ -52,6 +50,9 @@ public class AmqpGeneratorMojo extends AbstractMojo {
5250
@Parameter(property = "customDependency", defaultValue = "")
5351
String customDependency;
5452

53+
@Component
54+
PluginDescriptor pluginDescriptor;
55+
5556
public void execute() throws MojoExecutionException {
5657
final var log = getLog();
5758

@@ -69,7 +70,8 @@ public void execute() throws MojoExecutionException {
6970
objectMapper);
7071
fileInteractor.cleanUpDirectories(pathResolver.getWorkingDirectory());
7172

72-
final var generator = new AmqpGenerator(schemaFileGenerator, objectMapper, pathResolver, fileInteractor, log,
73+
final var generator = new AmqpGenerator(pluginDescriptor.getVersion(), schemaFileGenerator, objectMapper, pathResolver,
74+
fileInteractor, log,
7375
packageName, modelVersion, modelName, asyncApiFilename, asyncApiDirectory, apicurioUrl, customDependencies);
7476

7577
try {

maven/model-generator-plugin/src/main/resources/pom-template.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
<modelVersion>4.0.0</modelVersion>
66

77
<properties>
8-
<version.iris-common>5.0.9</version.iris-common>
9-
<version.jandex-maven-plugin>3.1.5</version.jandex-maven-plugin>
10-
<version.jackson-annotations>2.14.2</version.jackson-annotations>
11-
<version.jackson-databind>2.15.3</version.jackson-databind>
8+
<version.iris-common>@@IRIS_VERSION@@</version.iris-common>
9+
<version.jandex-maven-plugin>3.1.6</version.jandex-maven-plugin>
10+
<version.jackson>2.16.1</version.jackson>
1211
<version.jakarta-validation-api>3.0.2</version.jakarta-validation-api>
1312
<version.jakarta-annotation-api>2.1.1</version.jakarta-annotation-api>
1413
<maven.compiler.target>17</maven.compiler.target>
@@ -24,12 +23,12 @@
2423
<dependency>
2524
<groupId>com.fasterxml.jackson.core</groupId>
2625
<artifactId>jackson-databind</artifactId>
27-
<version>${version.jackson-databind}</version>
26+
<version>${version.jackson}</version>
2827
</dependency>
2928
<dependency>
3029
<groupId>com.fasterxml.jackson.core</groupId>
3130
<artifactId>jackson-annotations</artifactId>
32-
<version>${version.jackson-annotations}</version>
31+
<version>${version.jackson}</version>
3332
</dependency>
3433
<dependency>
3534
<groupId>org.iris-events</groupId>

maven/model-generator-plugin/src/test/java/org/iris_events/plugin/model/generator/AmqpGeneratorTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ void setUp() throws IOException, AmqpGeneratorException {
9292
objectMapper);
9393

9494
AmqpGenerator generator = new AmqpGenerator(
95+
"6.0.4",
9596
schemaFileGenerator,
9697
objectMapper,
9798
pathResolver,

maven/model-generator-plugin/src/test/resources/pom-template.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
<modelVersion>4.0.0</modelVersion>
66

77
<properties>
8-
<version.iris-common>5.0.0</version.iris-common>
9-
<version.jandex-maven-plugin>3.1.1</version.jandex-maven-plugin>
10-
<version.jackson-annotations>2.14.2</version.jackson-annotations>
11-
<version.jackson-databind>2.14.2</version.jackson-databind>
8+
<version.iris-common>@@IRIS_VERSION@@</version.iris-common>
9+
<version.jandex-maven-plugin>3.1.6</version.jandex-maven-plugin>
10+
<version.jackson>2.16.1</version.jackson>
1211
<version.jakarta-validation-api>3.0.2</version.jakarta-validation-api>
1312
<version.jakarta-annotation-api>2.1.1</version.jakarta-annotation-api>
1413
<maven.compiler.target>17</maven.compiler.target>
@@ -24,12 +23,12 @@
2423
<dependency>
2524
<groupId>com.fasterxml.jackson.core</groupId>
2625
<artifactId>jackson-databind</artifactId>
27-
<version>${version.jackson-databind}</version>
26+
<version>${version.jackson}</version>
2827
</dependency>
2928
<dependency>
3029
<groupId>com.fasterxml.jackson.core</groupId>
3130
<artifactId>jackson-annotations</artifactId>
32-
<version>${version.jackson-annotations}</version>
31+
<version>${version.jackson}</version>
3332
</dependency>
3433
<dependency>
3534
<groupId>org.iris-events</groupId>

0 commit comments

Comments
 (0)