[ 
https://issues.apache.org/jira/browse/LOG4J2-2922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved LOG4J2-2922.
---------------------------------
    Fix Version/s: 3.0.0
       Resolution: Fixed

Resolving since Ralph addressed this in the Java 11 updates.

> Simplify Java compiler build requirements
> -----------------------------------------
>
>                 Key: LOG4J2-2922
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2922
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Matt Sicker
>            Assignee: Ralph Goers
>            Priority: Major
>             Fix For: 3.0.0
>
>
> The current toolchain setup requires either two or three versions of the JDK 
> plus a toolchains.xml Maven configuration. While this setup was sufficient to 
> introduce support for Java 9+ APIs, it has made development slower and more 
> difficult. Some problems include:
>  * Any module that depends on a java9 piece breaks incremental compilation; 
> Maven recompiles the entire module every time! This makes it tedious to use 
> {{mvn test}} on individual tests.
>  * IDEs have difficulty importing and executing toolchain-based Maven projects
>  * Contributors have a fairly esoteric hurdle to jump over now to contribute 
> to Log4j
>  * As Java continues its release cadence of two releases a year, this makes 
> it harder to test or develop Log4j on newer JDKs. This has become a more 
> obvious problem ever since IDEs like IntelliJ switched from Java 8 to Java 11 
> as the default JDK.
> To improve this situation, I propose the following build changes to simplify 
> the scenario:
>  * Require Java 11 to compile everything.
>  * Introduce the animal-sniffer and enforcer Maven plugins to ensure that 
> modules aren't unintentionally using or linking to Java APIs added in 
> versions 9+
>  * Fix log4j-jmx-gui to use the jdk.jconsole module instead of linking to 
> tools.jar from the JDK.
>  * Find a better multirelease pattern as documented here: 
> [https://maven.apache.org/plugins/maven-compiler-plugin/multirelease.html]
> This should result in a build that creates Java 8 compatible artifacts but 
> requires Java 11 and only Java 11 to build, therefore significantly 
> simplifying development environment setup for this project.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to