Make jgit annotations accessible to other plugins

Other plugins which want to use JGit nullness annotations in their code
cannot do this if the annotations aren't part of the published API.

Unfortunately it looks like although Eclipse JDT allows to use custom
nullness annotation types per project, it does not understand if those
annotations are used mixed with other nullness annotations in other
projects. E.g. EGit can either configure JGit annotations for NPE
analysis and so "understand" nullness from JGit API but so it loses the
ability to use any other nullness annotations to annotate its own code.

Change-Id: Ieeeb578c2fe35223a7561d668dce8e767dc89ef0
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
This commit is contained in:
Andrey Loskutov 2015-11-16 23:41:38 +01:00
parent 864d3899ad
commit 2f6959d9f3
3 changed files with 19 additions and 37 deletions

View File

@ -6,7 +6,8 @@ Bundle-Version: 4.2.0.qualifier
Bundle-Localization: plugin
Bundle-Vendor: %provider_name
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.jgit.api;version="4.2.0";
Export-Package: org.eclipse.jgit.annotations;version="4.2.0",
org.eclipse.jgit.api;version="4.2.0";
uses:="org.eclipse.jgit.revwalk,
org.eclipse.jgit.treewalk.filter,
org.eclipse.jgit.diff,
@ -20,9 +21,7 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.eclipse.jgit.submodule,
org.eclipse.jgit.transport,
org.eclipse.jgit.merge",
org.eclipse.jgit.api.errors;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.errors",
org.eclipse.jgit.api.errors;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.errors",
org.eclipse.jgit.attributes;version="4.2.0",
org.eclipse.jgit.blame;version="4.2.0";
uses:="org.eclipse.jgit.lib,
@ -47,8 +46,7 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.eclipse.jgit.internal.storage.pack,
org.eclipse.jgit.transport,
org.eclipse.jgit.dircache",
org.eclipse.jgit.events;version="4.2.0";
uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.events;version="4.2.0";uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.fnmatch;version="4.2.0",
org.eclipse.jgit.gitrepo;version="4.2.0";
uses:="org.eclipse.jgit.api,
@ -57,14 +55,11 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.xml.sax.helpers,
org.xml.sax",
org.eclipse.jgit.gitrepo.internal;version="4.2.0";x-internal:=true,
org.eclipse.jgit.hooks;version="4.2.0";
uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.hooks;version="4.2.0";uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.ignore;version="4.2.0",
org.eclipse.jgit.ignore.internal;version="4.2.0";x-friends:="org.eclipse.jgit.test",
org.eclipse.jgit.internal;version="4.2.0";x-friends:="org.eclipse.jgit.test,org.eclipse.jgit.http.test",
org.eclipse.jgit.internal.storage.dfs;version="4.2.0";
x-friends:="org.eclipse.jgit.test,
org.eclipse.jgit.http.server",
org.eclipse.jgit.internal.storage.dfs;version="4.2.0";x-friends:="org.eclipse.jgit.test,org.eclipse.jgit.http.server",
org.eclipse.jgit.internal.storage.file;version="4.2.0";
x-friends:="org.eclipse.jgit.test,
org.eclipse.jgit.junit,
@ -96,31 +91,18 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.eclipse.jgit.treewalk,
org.eclipse.jgit.revwalk,
org.eclipse.jgit.merge",
org.eclipse.jgit.patch;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.diff",
org.eclipse.jgit.revplot;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.revwalk",
org.eclipse.jgit.patch;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.diff",
org.eclipse.jgit.revplot;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.revwalk",
org.eclipse.jgit.revwalk;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.treewalk,
org.eclipse.jgit.treewalk.filter,
org.eclipse.jgit.diff,
org.eclipse.jgit.revwalk.filter",
org.eclipse.jgit.revwalk.filter;version="4.2.0";
uses:="org.eclipse.jgit.revwalk,
org.eclipse.jgit.lib,
org.eclipse.jgit.util",
org.eclipse.jgit.storage.file;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.util",
org.eclipse.jgit.storage.pack;version="4.2.0";
uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.submodule;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.treewalk.filter,
org.eclipse.jgit.treewalk",
org.eclipse.jgit.revwalk.filter;version="4.2.0";uses:="org.eclipse.jgit.revwalk,org.eclipse.jgit.lib,org.eclipse.jgit.util",
org.eclipse.jgit.storage.file;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.util",
org.eclipse.jgit.storage.pack;version="4.2.0";uses:="org.eclipse.jgit.lib",
org.eclipse.jgit.submodule;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.treewalk.filter,org.eclipse.jgit.treewalk",
org.eclipse.jgit.transport;version="4.2.0";
uses:="org.eclipse.jgit.transport.resolver,
org.eclipse.jgit.revwalk,
@ -133,11 +115,8 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.eclipse.jgit.transport.http,
org.eclipse.jgit.errors,
org.eclipse.jgit.storage.pack",
org.eclipse.jgit.transport.http;version="4.2.0";
uses:="javax.net.ssl",
org.eclipse.jgit.transport.resolver;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.transport",
org.eclipse.jgit.transport.http;version="4.2.0";uses:="javax.net.ssl",
org.eclipse.jgit.transport.resolver;version="4.2.0";uses:="org.eclipse.jgit.lib,org.eclipse.jgit.transport",
org.eclipse.jgit.treewalk;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.revwalk,
@ -145,8 +124,7 @@ Export-Package: org.eclipse.jgit.api;version="4.2.0";
org.eclipse.jgit.treewalk.filter,
org.eclipse.jgit.util,
org.eclipse.jgit.dircache",
org.eclipse.jgit.treewalk.filter;version="4.2.0";
uses:="org.eclipse.jgit.treewalk",
org.eclipse.jgit.treewalk.filter;version="4.2.0";uses:="org.eclipse.jgit.treewalk",
org.eclipse.jgit.util;version="4.2.0";
uses:="org.eclipse.jgit.lib,
org.eclipse.jgit.transport.http,

View File

@ -58,6 +58,8 @@
* <p>
* Denotes that a local variable, parameter, field, method return value expected
* to be non {@code null}.
*
* @since 4.2
*/
@Documented
@Retention(RetentionPolicy.CLASS)

View File

@ -58,6 +58,8 @@
* <p>
* Denotes that a local variable, parameter, field, method return value can be
* {@code null}.
*
* @since 4.2
*/
@Documented
@Retention(RetentionPolicy.CLASS)