You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Benjamin Röhl (Jira)" <ji...@apache.org> on 2022/01/05 13:06:00 UTC

[jira] [Updated] (LOG4J2-3319) Add minimal support for log4j 1.2 API bundle usage in Eclipse IDE

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

Benjamin Röhl updated LOG4J2-3319:
----------------------------------
    Description: 
h2. Status Quo

The "log4j core" and "log4j 1.2 api" library (and others as well) are build as bundle.

The compatibility library is build as fragment.
h2. Problem

Using the log4j core and 1.2 api library in Eclipse-runtime (via [target platform|https://wiki.eclipse.org/PDE/Target_Definitions]) does not properly work out, since the _1.2 api_ fragment bundle is extending the _core_ bundle's api, by declaring extra _Export-Packages_ statements for log4j 1.2 api.

Unfortunately Eclipse is not capable of resolving those extra added API (via {_}Export-Packages{_}) from a fragement, even though at runtime it is supposed to work.
h2. Solution Proposal

Add the following bundle manifest header to _core_ bundle, to support the extra added API by the _1.2 api_ fragement bundle:
{code:java}
Eclipse-ExtensibleAPI: true{code}
Please see _The Eclipse-ExtensibleAPI Header_ section of Eclipse's [Platform Plugin-In Developer Guide|https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fbundle_manifest.html] documentation.

  was:
h2. Status Quo

The "log4j core" and "log4j 1.2 api" library (and others as well) are build as bundle.

The compatibility library is build as fragment.
h2. Problem

Using the log4j core and 1.2 api library in Eclipse-runtime (via [target platform|https://wiki.eclipse.org/PDE/Target_Definitions]) does not properly work out, since the _1.2 api_ fragment bundle is extending the _core_ bundle's api, by declaring extra _Export-Packages_ statements for log4j 1.2 api.

Unfortunately Eclipse is not capable of resolving those extra added API (via {_}Export-Packages{_}) from a fragement, even though at runtime it is supposed to work.
h2. Solution Proposal

Add the following bundle manifest header to _core_ bundle, to support the extra added API by the _1.2 api_ fragement bundle:
{code:java}
Eclipse-ExtensibleAPI: true{code}


> Add minimal support for log4j 1.2 API bundle usage in Eclipse IDE
> -----------------------------------------------------------------
>
>                 Key: LOG4J2-3319
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3319
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Core, log4j 1.2 emulation, OSGi
>    Affects Versions: 2.12.4
>            Reporter: Benjamin Röhl
>            Priority: Major
>
> h2. Status Quo
> The "log4j core" and "log4j 1.2 api" library (and others as well) are build as bundle.
> The compatibility library is build as fragment.
> h2. Problem
> Using the log4j core and 1.2 api library in Eclipse-runtime (via [target platform|https://wiki.eclipse.org/PDE/Target_Definitions]) does not properly work out, since the _1.2 api_ fragment bundle is extending the _core_ bundle's api, by declaring extra _Export-Packages_ statements for log4j 1.2 api.
> Unfortunately Eclipse is not capable of resolving those extra added API (via {_}Export-Packages{_}) from a fragement, even though at runtime it is supposed to work.
> h2. Solution Proposal
> Add the following bundle manifest header to _core_ bundle, to support the extra added API by the _1.2 api_ fragement bundle:
> {code:java}
> Eclipse-ExtensibleAPI: true{code}
> Please see _The Eclipse-ExtensibleAPI Header_ section of Eclipse's [Platform Plugin-In Developer Guide|https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fbundle_manifest.html] documentation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)