Skip to content

Commit bef32a2

Browse files
retaharshavamsi
authored andcommitted
Added missed API visibility annotations for public APIs and enable the check at the build time (opensearch-project#12872)
* Added missed API visibility annotations for public APIs and enable the check at the build time Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Address code review comments Signed-off-by: Andriy Redko <andriy.redko@aiven.io> --------- Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
1 parent 4d0c500 commit bef32a2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+203
-57
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
106106
### Dependencies
107107

108108
### Changed
109+
- [BWC and API enforcement] Enforcing the presence of API annotations at build time ([#12872](https://github.com/opensearch-project/OpenSearch/pull/12872))
109110

110111
### Deprecated
111112

server/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ tasks.withType(JavaCompile).configureEach {
141141

142142
compileJava {
143143
options.compilerArgs += ['-processor', ['org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor',
144-
'org.opensearch.common.annotation.processor.ApiAnnotationProcessor'].join(','), '-AcontinueOnFailingChecks']
144+
'org.opensearch.common.annotation.processor.ApiAnnotationProcessor'].join(',')]
145145
}
146146

147147
tasks.named("internalClusterTest").configure {

server/src/main/java/org/opensearch/action/ActionModule.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@
294294
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
295295
import org.opensearch.cluster.node.DiscoveryNodes;
296296
import org.opensearch.common.NamedRegistry;
297+
import org.opensearch.common.annotation.PublicApi;
297298
import org.opensearch.common.inject.AbstractModule;
298299
import org.opensearch.common.inject.TypeLiteral;
299300
import org.opensearch.common.inject.multibindings.MapBinder;
@@ -1052,8 +1053,9 @@ public RestController getRestController() {
10521053
* <p>
10531054
* This class is modeled after {@link NamedRegistry} but provides both register and unregister capabilities.
10541055
*
1055-
* @opensearch.internal
1056+
* @opensearch.api
10561057
*/
1058+
@PublicApi(since = "2.7.0")
10571059
public static class DynamicActionRegistry {
10581060
// This is the unmodifiable actions map created during node bootstrap, which
10591061
// will continue to link ActionType and TransportAction pairs from core and plugin

server/src/main/java/org/opensearch/action/ActionRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
package org.opensearch.action;
3434

35+
import org.opensearch.common.annotation.PublicApi;
3536
import org.opensearch.core.common.io.stream.StreamInput;
3637
import org.opensearch.core.common.io.stream.StreamOutput;
3738
import org.opensearch.transport.TransportRequest;
@@ -43,6 +44,7 @@
4344
*
4445
* @opensearch.api
4546
*/
47+
@PublicApi(since = "1.0.0")
4648
public abstract class ActionRequest extends TransportRequest {
4749

4850
public ActionRequest() {

server/src/main/java/org/opensearch/action/ActionType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
package org.opensearch.action;
3434

35+
import org.opensearch.common.annotation.PublicApi;
3536
import org.opensearch.common.settings.Settings;
3637
import org.opensearch.core.action.ActionResponse;
3738
import org.opensearch.core.common.io.stream.StreamInput;
@@ -43,6 +44,7 @@
4344
*
4445
* @opensearch.api
4546
*/
47+
@PublicApi(since = "1.0.0")
4648
public class ActionType<Response extends ActionResponse> {
4749

4850
private final String name;

server/src/main/java/org/opensearch/action/support/TransportAction.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.logging.log4j.Logger;
3737
import org.opensearch.action.ActionRequest;
3838
import org.opensearch.action.ActionRequestValidationException;
39+
import org.opensearch.common.annotation.PublicApi;
3940
import org.opensearch.common.lease.Releasable;
4041
import org.opensearch.common.lease.Releasables;
4142
import org.opensearch.common.util.concurrent.ThreadContext;
@@ -52,8 +53,9 @@
5253
/**
5354
* Base class for a transport action
5455
*
55-
* @opensearch.internal
56+
* @opensearch.api
5657
*/
58+
@PublicApi(since = "1.0.0")
5759
public abstract class TransportAction<Request extends ActionRequest, Response extends ActionResponse> {
5860

5961
public final String actionName;

server/src/main/java/org/opensearch/client/node/NodeClient.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.opensearch.client.Client;
4040
import org.opensearch.client.support.AbstractClient;
4141
import org.opensearch.cluster.node.DiscoveryNode;
42+
import org.opensearch.common.annotation.PublicApi;
4243
import org.opensearch.common.settings.Settings;
4344
import org.opensearch.core.action.ActionListener;
4445
import org.opensearch.core.action.ActionResponse;
@@ -53,8 +54,9 @@
5354
/**
5455
* Client that executes actions on the local node.
5556
*
56-
* @opensearch.internal
57+
* @opensearch.api
5758
*/
59+
@PublicApi(since = "1.0.0")
5860
public class NodeClient extends AbstractClient {
5961

6062
private DynamicActionRegistry actionRegistry;

server/src/main/java/org/opensearch/common/inject/Binder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
package org.opensearch.common.inject;
3131

32+
import org.opensearch.common.annotation.PublicApi;
3233
import org.opensearch.common.inject.binder.AnnotatedBindingBuilder;
3334
import org.opensearch.common.inject.binder.AnnotatedConstantBindingBuilder;
3435
import org.opensearch.common.inject.binder.LinkedBindingBuilder;
@@ -198,8 +199,9 @@
198199
* @author jessewilson@google.com (Jesse Wilson)
199200
* @author kevinb@google.com (Kevin Bourrillion)
200201
*
201-
* @opensearch.internal
202+
* @opensearch.api
202203
*/
204+
@PublicApi(since = "1.0.0")
203205
public interface Binder {
204206

205207
/**

server/src/main/java/org/opensearch/common/inject/Binding.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
package org.opensearch.common.inject;
3131

32+
import org.opensearch.common.annotation.PublicApi;
3233
import org.opensearch.common.inject.spi.BindingScopingVisitor;
3334
import org.opensearch.common.inject.spi.BindingTargetVisitor;
3435
import org.opensearch.common.inject.spi.Element;
@@ -69,8 +70,9 @@
6970
* @author crazybob@google.com (Bob Lee)
7071
* @author jessewilson@google.com (Jesse Wilson)
7172
*
72-
* @opensearch.internal
73+
* @opensearch.api
7374
*/
75+
@PublicApi(since = "1.0.0")
7476
public interface Binding<T> extends Element {
7577

7678
/**

server/src/main/java/org/opensearch/common/inject/ConfigurationException.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
package org.opensearch.common.inject;
3131

32+
import org.opensearch.common.annotation.PublicApi;
3233
import org.opensearch.common.inject.internal.Errors;
3334
import org.opensearch.common.inject.spi.Message;
3435

@@ -46,8 +47,9 @@
4647
* @author jessewilson@google.com (Jesse Wilson)
4748
* @since 2.0
4849
*
49-
* @opensearch.internal
50+
* @opensearch.api
5051
*/
52+
@PublicApi(since = "1.0.0")
5153
public final class ConfigurationException extends RuntimeException {
5254
private final Set<Message> messages;
5355
private Object partialValue = null;

0 commit comments

Comments
 (0)