OSGi: move plugin localization to subdirectory

OSGi can have its plugin localization at an arbitrary place; there is
no need to have it in a top-level plugin.properties file. In non-OSGi
environments having the files at the root level may mean that these
files clash with each other, or, as in the referenced bug, with some
third-party plug-in's plugin.properties, which may not even have
anything to do with localization.

Move our OSGi localization to a subfolder OSGI-INF/l10n. For OSGi
environments, that's just as good, and for non-OSGi environments it
avoid clashes with other root level items on the classpath or in a fat
JAR.

For fragments, use neither plugin.properties (which would clash with the
host plug-in's plugin.properties) nor fragment.properties (which might
clash with other fragments for the same fragment host bundle). Instead
use names "relative" to the host bundle.

Bug: 582394
Change-Id: Ifbcd046d912e2cfe86c0f7259c5ca8de599d9aa1
Signed-off-by: Thomas Wolf <twolf@apache.org>
This commit is contained in:
Thomas Wolf 2023-09-11 20:58:15 +02:00
parent 82c6638c72
commit e3798df6e8
49 changed files with 51 additions and 37 deletions

View File

@ -7,7 +7,7 @@ Bundle-Version: 6.8.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.apache.tools.ant,
org.eclipse.jgit.storage.file;version="[6.8.0,6.9.0)"
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Export-Package: org.eclipse.jgit.ant;version="6.8.0",
org.eclipse.jgit.ant.tasks;version="6.8.0";

View File

@ -2,8 +2,8 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html
additional.bundles = org.apache.ant,\
org.eclipse.jgit,\

View File

@ -5,7 +5,7 @@ Automatic-Module-Name: org.eclipse.jgit.archive
Bundle-SymbolicName: org.eclipse.jgit.archive
Bundle-Version: 6.8.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.apache.commons.compress.archivers;version="[1.4,2.0)",
org.apache.commons.compress.archivers.tar;version="[1.4,2.0)",

View File

@ -1,6 +1,6 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
about.html,\
plugin.properties
about.html

View File

@ -5,7 +5,7 @@ Automatic-Module-Name: org.eclipse.jgit.gpg.bc
Bundle-SymbolicName: org.eclipse.jgit.gpg.bc;singleton:=true
Fragment-Host: org.eclipse.jgit;bundle-version="[6.8.0,6.9.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/gpg_bc
Bundle-Version: 6.8.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.bouncycastle.asn1;version="[1.69.0,2.0.0)",

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -5,7 +5,7 @@ Automatic-Module-Name: org.eclipse.jgit.http.apache
Bundle-SymbolicName: org.eclipse.jgit.http.apache
Bundle-Version: 6.8.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Import-Package: org.apache.http;version="[4.3.0,5.0.0)",

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.http.server
Bundle-SymbolicName: org.eclipse.jgit.http.server
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Export-Package: org.eclipse.jgit.http.server;version="6.8.0",
org.eclipse.jgit.http.server.glue;version="6.8.0";

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.junit.http
Bundle-SymbolicName: org.eclipse.jgit.junit.http
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

@ -1,5 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties
OSGI-INF/,\
.

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.junit.ssh
Bundle-SymbolicName: org.eclipse.jgit.junit.ssh
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

@ -2,5 +2,5 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties
OSGI-INF/,\
.

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.junit
Bundle-SymbolicName: org.eclipse.jgit.junit
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

@ -1,5 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties
OSGI-INF/,\
.

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.lfs.server
Bundle-SymbolicName: org.eclipse.jgit.lfs.server
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Export-Package: org.eclipse.jgit.lfs.server;version="6.8.0";
uses:="javax.servlet.http,

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.lfs
Bundle-SymbolicName: org.eclipse.jgit.lfs
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Export-Package: org.eclipse.jgit.lfs;version="6.8.0",
org.eclipse.jgit.lfs.errors;version="6.8.0",

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -5,7 +5,7 @@ Automatic-Module-Name: org.eclipse.jgit.pgm
Bundle-SymbolicName: org.eclipse.jgit.pgm
Bundle-Version: 6.8.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: javax.servlet;version="[3.1.0,5.0.0)",
org.apache.commons.logging;version="[1.2,2.0)",

View File

@ -3,7 +3,7 @@ source.. = src/,\
/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html,\
resources/simplelogger.properties

View File

@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent;singleton:=true
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/agent
Bundle-Vendor: %Bundle-Vendor
Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[6.8.0,6.9.0)"
Bundle-ActivationPolicy: lazy

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit.ssh.apache
Bundle-SymbolicName: org.eclipse.jgit.ssh.apache
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-ActivationPolicy: lazy
Bundle-Version: 6.8.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -5,7 +5,7 @@ Automatic-Module-Name: org.eclipse.jgit.ssh.jsch
Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch;singleton:=true
Fragment-Host: org.eclipse.jgit;bundle-version="[6.8.0,6.9.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/jsch
Bundle-ActivationPolicy: lazy
Bundle-Version: 6.8.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -1,4 +1,4 @@
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
plugin.properties,\
about.html

View File

@ -4,7 +4,7 @@ Bundle-Name: %Bundle-Name
Automatic-Module-Name: org.eclipse.jgit
Bundle-SymbolicName: org.eclipse.jgit
Bundle-Version: 6.8.0.qualifier
Bundle-Localization: plugin
Bundle-Localization: OSGI-INF/l10n/plugin
Bundle-Vendor: %Bundle-Vendor
Eclipse-ExtensibleAPI: true
Export-Package: org.eclipse.jgit.annotations;version="6.8.0",

View File

@ -2,6 +2,6 @@ source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
OSGI-INF/,\
.,\
about.html,\
plugin.properties
about.html

14
pom.xml
View File

@ -439,6 +439,20 @@
<goal>run</goal>
</goals>
</execution>
<execution>
<id>copy-osgi</id>
<phase>generate-resources</phase>
<configuration>
<target>
<copy todir="${project.build.outputDirectory}" >
<fileset dir="." includes="OSGI-INF/**"/>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>