<dependencies>
<dependency>
<groupId>com.atlassian.annotations</groupId>
<artifactId>atlassian-annotations</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
import com.atlassian.annotations.PublicApi;
@PublicApi
public @interface MyCustomAnnotation {
}
public class MyClass {
@MyCustomAnnotation
private String myField;
@MyCustomAnnotation
public void myMethod(@MyCustomAnnotation String arg) {
}
}
<build>
<plugins>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.2.4</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<processors>
<processor>com.atlassian.annotations.processors.ApiRestrictionsProcessor</processor>
</processors>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.atlassian.annotations</groupId>
<artifactId>atlassian-annotations</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.yourcompany</groupId>
<artifactId>your-library</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>