diff --git a/ecs-logging-core/src/main/java/module-info.java b/ecs-logging-core/src/main/java/module-info.java
new file mode 100644
index 00000000..86fa6a97
--- /dev/null
+++ b/ecs-logging-core/src/main/java/module-info.java
@@ -0,0 +1,31 @@
+/*-
+ * #%L
+ * Java ECS logging
+ * %%
+ * Copyright (C) 2019 - 2020 Elastic and contributors
+ * %%
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you 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
+ *
+ * http://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.
+ * #L%
+ */
+module co.elastic.logging {
+
+ requires java.base;
+ exports co.elastic.logging;
+
+}
+
diff --git a/log4j2-ecs-layout/pom.xml b/log4j2-ecs-layout/pom.xml
index ea09d125..af1a1e60 100644
--- a/log4j2-ecs-layout/pom.xml
+++ b/log4j2-ecs-layout/pom.xml
@@ -27,6 +27,7 @@
process-classes
+ ${maven.compiler.target}onlyorg.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
diff --git a/logback-ecs-encoder/src/main/java/module-info.java b/logback-ecs-encoder/src/main/java/module-info.java
new file mode 100644
index 00000000..466fb7a5
--- /dev/null
+++ b/logback-ecs-encoder/src/main/java/module-info.java
@@ -0,0 +1,36 @@
+/*-
+ * #%L
+ * Java ECS logging
+ * %%
+ * Copyright (C) 2019 - 2020 Elastic and contributors
+ * %%
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you 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
+ *
+ * http://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.
+ * #L%
+ */
+module co.elastic.logging.logback {
+
+ requires java.base;
+ requires org.slf4j;
+ requires co.elastic.logging;
+ requires logback.core;
+ requires logback.classic;
+
+ exports co.elastic.logging.logback;
+
+}
+
diff --git a/pom.xml b/pom.xml
index f651fdf4..6d5b2288 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,6 +68,7 @@
UTF-8${project.basedir}false
+ false
@@ -179,6 +180,7 @@
org.codehaus.mojoanimal-sniffer-maven-plugin
+ 1.24signature-check
@@ -196,7 +198,6 @@
-
maven-surefire-plugin
@@ -206,13 +207,67 @@
maven-compiler-plugin
+ 3.14.0
- ${maven.compiler.target}
- ${maven.compiler.target}
- ${maven.compiler.testTarget}
- ${maven.compiler.testTarget}UTF-8
+
+
+ default-compile
+
+ ${maven.compiler.target}
+
+ module-info.java
+
+
+
+
+ default-testCompile
+
+ ${maven.compiler.testTarget}
+
+ module-info.java
+
+
+
+
+ compile-module-info
+ prepare-package
+
+ compile
+
+
+ 9
+
+ co/**/*.java
+
+
+
+
+
+
+
+ maven-clean-plugin
+
+
+ auto-clean
+ process-test-resources
+
+ clean
+
+
+ true
+
+
+ ${project.build.outputDirectory}
+
+ module-info.class
+
+
+
+
+
+ com.coderplus.maven.plugins