Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0054486 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
backport | [Openbravo ERP] A. Platform | minor | have not tried | 2024-01-24 13:37 | 2024-03-04 14:32 | |||
Reporter | shuehner | View Status | public | |||||
Assigned To | Triage Platform Base | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | PR24Q1.1 | |||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | PR24Q1.1 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | ||||||||
Web browser | ||||||||
Modules | Core | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0054486: Avoid compiler warning about implicit annotation processing by disabling it using -proc:none | |||||||
Description | Until Java<21 the java compiler implicitely looked for and ran any annotation processor found on the classpath. Since Java21 the following warning is shown to inform users about upcoming change. [javac] Note: Annotation processing is enabled because one or more processors were found [javac] on the class path. A future release of javac may disable annotation processing [javac] unless at least one processor is specified by name (-processor), or a search [javac] path is specified (--processor-path, --processor-module-path), or annotation [javac] processing is enabled explicitly (-proc:only, -proc:full). [javac] Use -Xlint:-options to suppress this message. [javac] Use -proc:none to disable annotation processing. Upstream intention/recommendation instead is to explicitely specify/configure annotation processing by the build tool. However a "compatibility option" -proc:full was added to keep using the "old default policy" | |||||||
Steps To Reproduce | Running compile with jdk-21 | |||||||
Proposed Solution | Not knowingly needing any annotation processing idea is to explicitely disable it using -proc:none If usage should show up later it is better to explicitely notice this (i.e. in CI) and then work on properly supporting that. | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||
|
Notes | |
(0160262) hgbot (developer) 2024-02-05 15:10 |
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1126 [^] |
(0161623) hgbot (developer) 2024-03-04 14:32 |
Directly closing issue as related merge request is already approved. Repository: https://gitlab.com/openbravo/product/openbravo [^] Changeset: c8e33b7bff73cd1e1fd251c899a62166afa03c4e Author: Stefan Huehner <stefan.huehner@openbravo.com> Date: 04-03-2024 13:31:24 URL: https://gitlab.com/openbravo/product/openbravo/-/commit/c8e33b7bff73cd1e1fd251c899a62166afa03c4e [^] Fixed ISSUE-54486: Disable annotation processing with -proc:none to avoid warnings Until Java<21 the java compiler implicitely looked for and ran any annotation processor found on the classpath. Since Java21 the following warning is shown to inform users about upcoming change of default for this policy. [javac] Note: Annotation processing is enabled because one or more processors were found [javac] on the class path. A future release of javac may disable annotation processing [javac] unless at least one processor is specified by name (-processor), or a search [javac] path is specified (--processor-path, --processor-module-path), or annotation [javac] processing is enabled explicitly (-proc:only, -proc:full). [javac] Use -Xlint:-options to suppress this message. [javac] Use -proc:none to disable annotation processing. - Add a new ant property javac.proc to specify value to be used via <compilerarg line> for all our various javac invocations - For the value use -proc:none to explicitely disable annotation processing during compilation <compilearg line> was chosne as <compiler arg> value run into some cornercase issues in case value was empty. - Reasoning: - Upstream recommends to explcitely specify and control annotation processors instead of them being 'found' implicitely https://github.com/openjdk/jdk/pull/14432#issuecomment-1714598354 [^] - Checking all jar libraries in mods/pmods (if they ship a META-INF/avax.annotation.processing.Processor) file found 1 single library shipping an annotation processor: log4j for its plugin system - However we do not use any shipped extra plugin - We have a few custom plugins ourself in src-test having @Plugin - Annotation processing was running before for those as shown on compile output [javac] Note: Processing Log4j annotations [javac] Note: Annotations processed - However not running it seems to have no impact on the functionality - Tested via existing DalTest which assert's on output of content of testLogAppender configured via those plugins --- M build.xml M src-core/build.xml M src-test/build.xml M src-trl/build.xml M src-util/buildvalidation/build.xml M src-util/modulescript/build.xml M src-wad/build.xml M src/build.xml --- |
(0161624) hgbot (developer) 2024-03-04 14:32 |
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1126 [^] |
Issue History | |||
Date Modified | Username | Field | Change |
2024-01-29 10:52 | shuehner | Type | feature request => backport |
2024-01-29 10:52 | shuehner | Target Version | => PR24Q1 |
2024-02-05 15:10 | hgbot | Note Added: 0160262 | |
2024-02-13 13:50 | AugustoMauch | Target Version | PR24Q1 => PR24Q1.1 |
2024-03-04 14:32 | hgbot | Resolution | open => fixed |
2024-03-04 14:32 | hgbot | Status | scheduled => closed |
2024-03-04 14:32 | hgbot | Fixed in Version | => PR24Q1.1 |
2024-03-04 14:32 | hgbot | Note Added: 0161623 | |
2024-03-04 14:32 | hgbot | Note Added: 0161624 |
Copyright © 2000 - 2009 MantisBT Group |