Skip to content

Commit

Permalink
Merge pull request #204 from quarkiverse/dependabot/maven/quarkus.ver…
Browse files Browse the repository at this point in the history
…sion-3.13.0

Bump quarkus.version from 3.11.2 to 3.14.1
  • Loading branch information
ChMThiel authored Sep 2, 2024
2 parents ba3485a + 6fc4768 commit 9bdec50
Show file tree
Hide file tree
Showing 11 changed files with 110 additions and 96 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,7 @@ pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
release.properties
docs/modules/ROOT/pages/includes/quarkus-asyncapi-scanner.adoc
docs/modules/ROOT/pages/includes/quarkus-asyncapi-scanner_quarkus.asyncapi.adoc
docs/modules/ROOT/pages/includes/quarkus-asyncapi.adoc
docs/modules/ROOT/pages/includes/quarkus-asyncapi_quarkus.asyncapi-generator.adoc
16 changes: 8 additions & 8 deletions docs/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-doc-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<targetDirectory>${project.basedir}/modules/ROOT/pages/includes/</targetDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
Expand All @@ -54,14 +62,6 @@
<configuration>
<outputDirectory>${project.basedir}/modules/ROOT/pages/includes/</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/../target/asciidoc/generated/config/</directory>
<includes>
<include>reader.adoc</include>
<include>scanner.adoc</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${project.basedir}/templates/includes</directory>
<include>attributes.adoc</include>
Expand Down
7 changes: 6 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<maven.compiler.release>11</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus.version>3.11.2</quarkus.version>
<quarkus.version>3.14.1</quarkus.version>
<version.org.assertj>3.26.3</version.org.assertj>
<version.org.slf4j>2.0.16</version.org.slf4j>
<version.asyncapi.core>1.0.0-RC2</version.asyncapi.core>
Expand Down Expand Up @@ -84,6 +84,11 @@
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
</plugin>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-doc-maven-plugin</artifactId>
<version>${quarkus.version}</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${compiler-plugin.version}</version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ void scanAsyncAPIs(
AsyncApiConfigResolver configResolver = new AsyncApiConfigResolver(aConfig);
AsyncApiAnnotationScanner scanner = new AsyncApiAnnotationScanner(aIndex.getIndex(), configResolver);
AsyncAPI.AsyncAPIBuilder builder = AsyncAPI.builder()
.asyncapi(aConfig.version)
.asyncapi(aConfig.version())
.id(configResolver.getConfiguredKafkaBootstrapServer())
.info(configResolver.getInfo())
.defaultContentType(aConfig.defaultContentType);
.defaultContentType(aConfig.defaultContentType());
builder = scanner.setData(builder);
Map<String, Object> servers = configResolver.getServers();
if (servers != null) {
Expand All @@ -55,11 +55,11 @@ static class IsEnabled implements BooleanSupplier {
AsyncApiRuntimeConfig config;

public boolean getAsBoolean() {
if (!config.enabled) {
if (!config.enabled()) {
Logger.getLogger(AsyncAPIResourceGenerator.class.getName())
.warning("Async API disabled (see config asyncapi.annotation.scanner.enabled)");
}
return config.enabled;
return config.enabled();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ void resolveChannelAndOperation(AnnotationInstance aAnnotationInstance, ResolveT
.messages(Map.of(channelData.operationId, getMessage(channelData.messageType)));
io.quarkiverse.asyncapi.annotation.scanner.config.Channel channel = configResolver.getChannel(channelName);
if (channel != null) {
channel.description.ifPresent(channelBuilder::description);
channel.description().ifPresent(channelBuilder::description);
}
channels.put(channelName, channelBuilder.build());
Operation.OperationBuilder operationBuilder = Operation.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,21 @@ public AsyncApiConfigResolver(AsyncApiRuntimeConfig aConfig) {

public Info getInfo() {
Info.InfoBuilder infoBuilder = Info.builder() //TODO implement Annotation to define it (use OpenApi???)
.version(config.infoVersion);
config.infoTitle.ifPresent(infoBuilder::title);
config.infoDescription.ifPresent(infoBuilder::description);
.version(config.infoVersion());
config.infoTitle().ifPresent(infoBuilder::title);
config.infoDescription().ifPresent(infoBuilder::description);
License.LicenseBuilder licenseBuilder = License.builder();
if (config.infoLicensName.isPresent() || config.infoLicenseUrl.isPresent()) {
config.infoLicensName.ifPresent(licenseBuilder::name);
config.infoLicenseUrl.ifPresent(licenseBuilder::url);
if (config.infoLicensName().isPresent() || config.infoLicenseUrl().isPresent()) {
config.infoLicensName().ifPresent(licenseBuilder::name);
config.infoLicenseUrl().ifPresent(licenseBuilder::url);
infoBuilder.license(licenseBuilder.build());
}
if (config.infoContactEmail.isPresent() || config.infoContactEmail.isPresent() || config.infoContactUrl.isPresent()) {
if (config.infoContactEmail().isPresent() || config.infoContactEmail().isPresent()
|| config.infoContactUrl().isPresent()) {
Contact.ContactBuilder contactBuilder = Contact.builder();
config.infoContactName.ifPresent(contactBuilder::name);
config.infoContactEmail.ifPresent(contactBuilder::email);
config.infoContactUrl.ifPresent(contactBuilder::url);
config.infoContactName().ifPresent(contactBuilder::name);
config.infoContactEmail().ifPresent(contactBuilder::email);
config.infoContactUrl().ifPresent(contactBuilder::url);
infoBuilder.contact(contactBuilder.build());
}
return infoBuilder.build();
Expand Down Expand Up @@ -69,22 +70,22 @@ public Optional<String> getGroupId(boolean aIsEmitter, String aChannel) {
}

public Channel getChannel(String aChannel) {
return config.channels.get(aChannel);
return config.channels().get(aChannel);
}

public Map<String, Object> getServers() {
if (config.servers.isEmpty()) {
if (config.servers().isEmpty()) {
return null;
}
return config.servers.entrySet().stream()
return config.servers().entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, e -> toAsyncApiServer(e.getValue())));
}

Server toAsyncApiServer(io.quarkiverse.asyncapi.annotation.scanner.config.Server aConfigServer) {
Server.ServerBuilder builder = Server.builder()
.protocol(aConfigServer.protocol)
.host(aConfigServer.host);
aConfigServer.pathname.ifPresent(builder::pathname);
.protocol(aConfigServer.protocol())
.host(aConfigServer.host());
aConfigServer.pathname().ifPresent(builder::pathname);
return builder.build();
}
}
3 changes: 0 additions & 3 deletions quarkus-asyncapi-scanner/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,6 @@
<version>${quarkus.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ AsyncAPI filter(AsyncAPI aAsyncAPI, AsyncApiRuntimeConfig aConfig) {
}

AsyncApiFilter getFilter(AsyncApiRuntimeConfig aConfig) {
Optional<String> filterClassName = aConfig.filter;
Optional<String> filterClassName = aConfig.filter();
if (filterClassName.isPresent()) {
try {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,115 +4,126 @@
import java.util.Optional;

import io.quarkiverse.asyncapi.annotation.scanner.AsyncApiFilter;
import io.quarkus.runtime.annotations.ConfigDocMapKey;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.WithDefault;
import io.smallrye.config.WithName;

@ConfigRoot(name = "asyncapi.annotation.scanner", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
public class AsyncApiRuntimeConfig {
@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
@ConfigMapping(prefix = "quarkus.asyncapi.annotation.scanner")
public interface AsyncApiRuntimeConfig {

/**
* Enable AysncApi-Scanning
*/
@ConfigItem(defaultValue = "true")
public boolean enabled;
@WithDefault("true")
public boolean enabled();

/**
* Version of the WebComponent to be used in html-view to be found at [HOST]/asyncapi.html
*
* @see https://www.npmjs.com/package/@asyncapi/react-component
*/
@ConfigItem(defaultValue = "1.4.10")
public String webcomponentversion;
@WithDefault("1.4.10")
public String webcomponentversion();

/**
* Version of the ReasComponent to be used in html-view to be found at [HOST]/asyncapi.html
*
* @see https://www.npmjs.com/package/@asyncapi/react-component
*/
@ConfigItem(defaultValue = "2.0.0")
public String reactcomponentversion;
@WithDefault("2.0.0")
public String reactcomponentversion();

/**
* Version of the WebComponentJS to be used in html-view to be found at [HOST]/asyncapi.html
*
* @see https://www.npmjs.com/package/@webcomponents/webcomponentsjs
*/
@ConfigItem(defaultValue = "2.8.0")
public String webcomponentjsversion;
@WithDefault("2.8.0")
public String webcomponentjsversion();

/**
* Full qualified name of the implementing AsyncApiFilter
*
* @see AsyncApiFilter
*/
@ConfigItem
public Optional<String> filter = Optional.empty();
public Optional<String> filter();

/**
* AsyncApi specification version
*/
@ConfigItem(defaultValue = "3.0.0")
public String version;
@WithDefault("3.0.0")
public String version();

/**
* Default ContentType
*/
@ConfigItem(defaultValue = "application/json")
public String defaultContentType;
@WithDefault("application/json")
public String defaultContentType();

/**
* see https://www.asyncapi.com/docs/reference/specification/v3.6.0#serversObject
*/
@ConfigDocMapKey("server")
@ConfigItem(name = "server")
public Map<String, Server> servers;
@WithName("server")
public Map<String, Server> servers();

/**
* see https://www.asyncapi.com/docs/reference/specification/v3.6.0#channelItemObject
*/
@ConfigDocMapKey("channel")
@ConfigItem(name = "channel")
public Map<String, Channel> channels;
@WithName("channel")
public Map<String, Channel> channels();

/**
* Title
*/
@ConfigItem(name = "info.title", defaultValue = "AsyncApi")
public Optional<String> infoTitle = Optional.empty();
@WithName("info.title")
@WithDefault("AsyncApi")
public Optional<String> infoTitle();

/**
* Project-version
*/
@ConfigItem(name = "info.version", defaultValue = "1.0.0")
public String infoVersion;
@WithName("info.version")
@WithDefault("1.0.0")
public String infoVersion();

/**
* Project-description
*/
@ConfigItem(name = "info.description")
public Optional<String> infoDescription = Optional.empty();
@WithName("info.description")
public Optional<String> infoDescription();

/**
* Contact-Name
*/
@ConfigItem(name = "info.contact.name")
public Optional<String> infoContactName = Optional.empty();
@WithName("info.contact.name")
public Optional<String> infoContactName();

/**
* Contact-Email
*/
@ConfigItem(name = "info.contact.email", defaultValue = "you@mail.org")
public Optional<String> infoContactEmail = Optional.empty();
@WithName("info.contact.email")
@WithDefault("you@mail.org")
public Optional<String> infoContactEmail();

/**
* Contact-URL
*/
@ConfigItem(name = "info.contact.url")
public Optional<String> infoContactUrl = Optional.empty();
@WithName("info.contact.url")
public Optional<String> infoContactUrl();

/**
* License-Name
*/
@ConfigItem(name = "info.license.name", defaultValue = "Commercial")
public Optional<String> infoLicensName = Optional.empty();
@WithName("info.license.name")
@WithDefault("Commercial")
public Optional<String> infoLicensName();

/**
* License-URL
*/
@ConfigItem(name = "info.license.url")
public Optional<String> infoLicenseUrl = Optional.empty();
@WithName("info.license.url")
public Optional<String> infoLicenseUrl();
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,16 @@

import java.util.Optional;

import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConvertWith;
import io.quarkus.runtime.configuration.TrimmedStringConverter;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.WithConverter;

@ConfigGroup
public class Channel {
@ConfigMapping
public interface Channel {

/**
* Description
*/
@ConfigItem
@ConvertWith(TrimmedStringConverter.class)
public Optional<String> description;
@WithConverter(TrimmedStringConverter.class)
public Optional<String> description();
}
Loading

0 comments on commit 9bdec50

Please sign in to comment.