From a9348d59b55fb2e56ad8a52bef03b4f7e5de9c3e Mon Sep 17 00:00:00 2001
From: Robert Munteanu <rombert@apache.org>
Date: Wed, 5 Apr 2017 09:50:41 +0200
Subject: [PATCH] OAK-6035 - Mark AbstractLoginModule and Authentication as
 provider types

These types are not intended to be implemented by clients, so mark them as such
and bump down the exported package version from 2.0.0 to 1.2.0 .
---
 .../oak/spi/security/authentication/AbstractLoginModule.java          | 3 +++
 .../jackrabbit/oak/spi/security/authentication/Authentication.java    | 3 +++
 .../jackrabbit/oak/spi/security/authentication/package-info.java      | 4 ++--
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
index d88941ef4b..e9ec86403d 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
@@ -55,6 +55,8 @@ import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * Abstract implementation of the {@link LoginModule} interface that can act
  * as base class for login modules that aim to authenticate subjects against
@@ -130,6 +132,7 @@ import org.slf4j.LoggerFactory;
  * on the provider exposed by {@link #getPrincipalProvider()}</li>
  * </ul>
  */
+@ProviderType
 public abstract class AbstractLoginModule implements LoginModule {
 
     /**
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java
index 2e1e58ef1c..abe45e7cce 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/Authentication.java
@@ -22,6 +22,8 @@ import javax.annotation.Nullable;
 import javax.jcr.Credentials;
 import javax.security.auth.login.LoginException;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * The {@code Authentication} interface defines methods to validate
  * {@link javax.jcr.Credentials Credentials} during the
@@ -38,6 +40,7 @@ import javax.security.auth.login.LoginException;
  * might be responsible for validating login token issued by the repository or
  * an external access token generation mechanism.
  */
+@ProviderType
 public interface Authentication {
 
     /**
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
index 005f432d7e..ae0b6a5af0 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("2.0.0")
+@Version("1.2.0")
 package org.apache.jackrabbit.oak.spi.security.authentication;
 
-import aQute.bnd.annotation.Version;
\ No newline at end of file
+import aQute.bnd.annotation.Version;
-- 
2.12.2

