Skip to content

Commit

Permalink
Upgrade dependencies and make it compatible with Micronaut 3 (microna…
Browse files Browse the repository at this point in the history
…ut-projects#158)

* Upgrade to Micronaut 2.5.8

* Upgrade Micronaut Test 2.3.6

* Upgrade Groovy and Spock

* Upgrade Gradle to 7.1.1

* Upgrade acme version to 2.12

* New major version targeting micronaut 3.0

* Use Micronaut nullability annotations

* Switch to Jakarta annotations

* Add support for GraalVM

Fixes micronaut-projects#154

* Initialize missing class at run-time for GraalVM support
  • Loading branch information
ilopmar authored Jul 13, 2021
1 parent 077a94b commit 0f479c6
Show file tree
Hide file tree
Showing 12 changed files with 92 additions and 79 deletions.
3 changes: 2 additions & 1 deletion acme/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ dependencies {
implementation("io.micronaut:micronaut-http-server")
implementation("io.micronaut:micronaut-http-server-netty")
implementation("io.micronaut:micronaut-inject")
implementation 'jakarta.inject:jakarta.inject-api:2.0.0'

implementation "org.shredzone.acme4j:acme4j-client:${acmeVersion}"
implementation "org.shredzone.acme4j:acme4j-utils:${acmeVersion}"

documentation "org.codehaus.groovy:groovy-templates:${groovyVersion}"
documentation "org.codehaus.groovy:groovy-dateutil:${groovyVersion}"

implementation group: 'io.netty', name: 'netty-tcnative-boringssl-static', version: '2.0.40.Final'
implementation "io.netty:netty-tcnative-boringssl-static:$tcnativeBoringsslStatic"

testImplementation "org.testcontainers:spock:1.15.3"
testImplementation("io.micronaut:micronaut-http-client")
Expand Down
24 changes: 12 additions & 12 deletions acme/src/main/java/io/micronaut/acme/AcmeConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
package io.micronaut.acme;

import io.micronaut.context.annotation.ConfigurationProperties;
import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.util.Toggleable;

import javax.annotation.Nonnull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
Expand Down Expand Up @@ -77,7 +77,7 @@ public void setEnabled(boolean enabled) {
*
* @return the domain(s) name configured
*/
@Nonnull
@NonNull
@NotEmpty
@NotNull
public List<String> getDomains() {
Expand Down Expand Up @@ -113,7 +113,7 @@ public void setTosAgree(boolean tosAgree) {
* Get the duration in which you would like to renew the certificate within. Default {@value #DEFAULT_RENEW_WITHIN}.
* @return the renew within duration
*/
@Nonnull
@NonNull
public Duration getRenewWitin() {
return renewWitin;
}
Expand All @@ -123,7 +123,7 @@ public Duration getRenewWitin() {
*
* @param renewWitin duration before rene process started
*/
public void setRenewWitin(@Nonnull Duration renewWitin) {
public void setRenewWitin(@NonNull Duration renewWitin) {
this.renewWitin = renewWitin;
}

Expand Down Expand Up @@ -163,7 +163,7 @@ public void setAuth(AuthConfiguration auth) {
* Account key used to authenticate with the ACME server.
* @return the account key string
*/
@Nonnull
@NonNull
@NotBlank
@NotNull
public String getAccountKey() {
Expand All @@ -174,15 +174,15 @@ public String getAccountKey() {
* Sets the account key used for authentication.
* @param accountKey account key string
*/
public void setAccountKey(@Nonnull String accountKey) {
public void setAccountKey(@NonNull String accountKey) {
this.accountKey = accountKey;
}

/**
* Key in which to be used to generate the CSR which will be used to order the certificate from the ACME server.
* @return domain key string value
*/
@Nonnull
@NonNull
@NotBlank
@NotNull
public String getDomainKey() {
Expand All @@ -193,7 +193,7 @@ public String getDomainKey() {
* Sets the key string in which to be used to generate the CSR which will be used to order the certificate from the ACME server.
* @param domainKey key string
*/
public void setDomainKey(@Nonnull String domainKey) {
public void setDomainKey(@NonNull String domainKey) {
this.domainKey = domainKey;
}

Expand All @@ -202,7 +202,7 @@ public void setDomainKey(@Nonnull String domainKey) {
*
* @return location to certificate
*/
@Nonnull
@NonNull
public File getCertLocation() {
return certLocation;
}
Expand All @@ -212,7 +212,7 @@ public File getCertLocation() {
*
* @param certLocation location to certificate
*/
public void setCertLocation(@Nonnull File certLocation) {
public void setCertLocation(@NonNull File certLocation) {
this.certLocation = certLocation;
}

Expand All @@ -221,7 +221,7 @@ public void setCertLocation(@Nonnull File certLocation) {
*
* @return url of the acme server
*/
@Nonnull
@NonNull
@NotBlank
@NotNull
public String getAcmeServer() {
Expand All @@ -233,7 +233,7 @@ public String getAcmeServer() {
*
* @param acmeServer url of acme server
*/
public void setAcmeServer(@Nonnull String acmeServer) {
public void setAcmeServer(@NonNull String acmeServer) {
this.acmeServer = acmeServer;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
import io.micronaut.runtime.event.annotation.EventListener;
import io.micronaut.runtime.exceptions.ApplicationStartupException;
import io.micronaut.scheduling.annotation.Scheduled;
import jakarta.inject.Singleton;
import org.shredzone.acme4j.exception.AcmeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Singleton;
import java.security.cert.X509Certificate;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
import io.micronaut.core.io.IOUtils;
import io.micronaut.core.io.ResourceResolver;
import io.micronaut.scheduling.TaskScheduler;
import jakarta.inject.Named;
import jakarta.inject.Singleton;
import org.shredzone.acme4j.*;
import org.shredzone.acme4j.challenge.Challenge;
import org.shredzone.acme4j.challenge.Dns01Challenge;
Expand All @@ -36,8 +38,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Named;
import javax.inject.Singleton;
import java.io.*;
import java.net.URL;
import java.nio.file.Files;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
import io.micronaut.http.ssl.ServerSslConfiguration;
import io.micronaut.runtime.event.annotation.EventListener;
import io.netty.handler.ssl.*;
import jakarta.inject.Singleton;
import org.shredzone.acme4j.challenge.TlsAlpn01Challenge;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Singleton;
import javax.net.ssl.SSLException;
import java.util.Optional;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#
# Copyright 2017-2021 original authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

Args = --initialize-at-run-time=io.netty.handler.ssl.OpenSsl,io.netty.handler.ssl.OpenSslPrivateKeyMethod,io.netty.internal.tcnative.CertificateVerifier,io.netty.internal.tcnative.SSL,io.netty.internal.tcnative.SSLPrivateKeyMethod,io.netty.internal.tcnative.AsyncSSLPrivateKeyMethod
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"resources": [
{ "pattern": "\\Qorg/shredzone/acme4j/version.properties\\E" }
]
}
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
buildscript {
repositories {
maven { url "https://repo.grails.org/grails/core" }
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath "io.micronaut.build.internal:micronaut-gradle-plugins:3.0.1"
classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0'
classpath "io.micronaut.build.internal:micronaut-gradle-plugins:4.0.0"
}
}

Expand All @@ -21,4 +21,4 @@ apply plugin: "io.micronaut.build.internal.dependency-updates"

task buildScriptDependencies(type: DependencyReportTask) {
configurations = project.buildscript.configurations
}
}
45 changes: 0 additions & 45 deletions examples/examples.gradle

This file was deleted.

39 changes: 38 additions & 1 deletion examples/hello-world-acme/build.gradle
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
apply from: "../examples.gradle"
plugins {
id("com.github.johnrengelman.shadow") version "7.0.0"
id("io.micronaut.application") version "1.5.3"
}

version = "0.1"
group = "io.micronaut.example"

repositories {
mavenCentral()
}

micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
annotations("com.example.*")
}
}

dependencies {
implementation("io.micronaut:micronaut-http-client")
implementation("io.micronaut:micronaut-runtime")
implementation("io.micronaut.acme:micronaut-acme")
implementation("javax.annotation:javax.annotation-api")
implementation("io.micronaut:micronaut-validation")
implementation(project(":acme"))
runtimeOnly("ch.qos.logback:logback-classic")
}

application {
mainClass.set("com.acme.example.Application")
}
java {
sourceCompatibility = JavaVersion.toVersion("8")
targetCompatibility = JavaVersion.toVersion("8")
}
20 changes: 9 additions & 11 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
projectVersion=2.1.1.BUILD-SNAPSHOT
micronautDocsVersion=1.0.24
micronautVersion=2.1.4
micronautTestVersion=2.2.1
micronautBuildVersion=1.1.5
projectVersion=3.0.0-SNAPSHOT
micronautDocsVersion=2.0.0.RC1
micronautVersion=2.5.8
micronautTestVersion=2.3.6

groovyVersion=3.0.5
spockVersion=2.0-M3-groovy-3.0
acmeVersion=2.10
groovyVersion=3.0.8
spockVersion=2.0-groovy-3.0
acmeVersion=2.12
objenesisVersion=3.1
htmlSanityCheckVersion=0.9.7
logbackClassicVersion=1.2.3
tcnativeBoringsslStatic=2.0.40.Final
cglibVersion=3.3.0

title=Micronaut Acme
Expand All @@ -18,6 +17,5 @@ projectUrl=http://micronaut.io
githubSlug=micronaut-projects/micronaut-acme
developers=Nathan Zender

githubBranch=master
githubCoreBranch=2.2.x
githubCoreBranch=3.0.x
bomProperty=micronautAcmeVersion
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

0 comments on commit 0f479c6

Please sign in to comment.