You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/04/15 16:46:00 UTC

[ignite-3] branch main updated: IGNITE-13751: Add maven javadoc plugin. (#93)

This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 0a10985  IGNITE-13751: Add maven javadoc plugin. (#93)
0a10985 is described below

commit 0a109855e0939dc98b08dc9b3f12fca3fd9e5518
Author: Andrew V. Mashenkov <AM...@users.noreply.github.com>
AuthorDate: Thu Apr 15 19:45:54 2021 +0300

    IGNITE-13751: Add maven javadoc plugin. (#93)
---
 .../org/apache/ignite/table/InvokeProcessor.java   |   2 +-
 .../java/org/apache/ignite/table/KeyValueView.java |   2 +-
 .../java/org/apache/ignite/table/RecordView.java   |   2 +-
 modules/bytecode/pom.xml                           |  15 +++
 .../java/org/apache/ignite/cli/IgnitePaths.java    |  45 +++----
 .../ignite/cli/builtins/module/ModuleRegistry.java |   2 +-
 .../org/apache/ignite/cli/spec/IgniteCliSpec.java  |   2 +-
 .../ignite/configuration/ConfigurationValue.java   |   2 +-
 .../ignite/configuration/annotation/Config.java    |   4 +-
 .../configuration/annotation/ConfigValue.java      |   4 +-
 .../configuration/annotation/NamedConfigValue.java |   4 +-
 .../ignite/configuration/annotation/Value.java     |   6 +-
 .../internal/util/AnyNodeConfigurationVisitor.java |   2 +-
 .../internal/util/ConfigurationUtil.java           |   5 +-
 .../ignite/configuration/tree/InnerNode.java       |  20 ++--
 .../internal/tostring/IgniteToStringInclude.java   |   2 +-
 .../apache/ignite/internal/util/GridUnsafe.java    |   4 +-
 .../apache/ignite/internal/util/IgniteUtils.java   |   2 +-
 .../apache/ignite/metastorage/common/Entry.java    |   4 +-
 .../raft/client/message/AddLearnersRequest.java    |   2 +-
 .../raft/client/message/GetLeaderResponse.java     |   2 +-
 .../client/service/impl/RaftGroupServiceImpl.java  |   1 -
 modules/rest/pom.xml                               |  11 ++
 modules/runner/pom.xml                             |  13 ++
 modules/schema/pom.xml                             |   6 -
 parent/pom.xml                                     | 132 ++++++++++++++++++++-
 pom.xml                                            |   2 +-
 27 files changed, 227 insertions(+), 71 deletions(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/table/InvokeProcessor.java b/modules/api/src/main/java/org/apache/ignite/table/InvokeProcessor.java
index 9959ade..689b3cf 100644
--- a/modules/api/src/main/java/org/apache/ignite/table/InvokeProcessor.java
+++ b/modules/api/src/main/java/org/apache/ignite/table/InvokeProcessor.java
@@ -24,7 +24,7 @@ import java.io.Serializable;
  * associated with provided key.
  * <p>
  * For non-binary projections row will be deserialized to user object(s) before the invocation
- * and serialized back if a new value was set via {@link InvocationContext#value(V)}.
+ * and serialized back if a new value was set via {@linkplain InvocationContext#value(Object)}.
  * <p>
  * Invoke operation arguments along with invoke operation result classes MUST be serializable
  * as they can be transferred over network.
diff --git a/modules/api/src/main/java/org/apache/ignite/table/KeyValueView.java b/modules/api/src/main/java/org/apache/ignite/table/KeyValueView.java
index 32d1883..f58fb65 100644
--- a/modules/api/src/main/java/org/apache/ignite/table/KeyValueView.java
+++ b/modules/api/src/main/java/org/apache/ignite/table/KeyValueView.java
@@ -29,7 +29,7 @@ import org.jetbrains.annotations.NotNull;
  *
  * @param <K> Mapped key type.
  * @param <V> Mapped value type.
- * @apiNote 'Key/value class field' &gt;-&lt 'table column' mapping laid down in implementation.
+ * @apiNote 'Key/value class field' &gt;-&lt; 'table column' mapping laid down in implementation.
  * @see Mappers
  */
 public interface KeyValueView<K, V> {
diff --git a/modules/api/src/main/java/org/apache/ignite/table/RecordView.java b/modules/api/src/main/java/org/apache/ignite/table/RecordView.java
index 959f8dc..102da62 100644
--- a/modules/api/src/main/java/org/apache/ignite/table/RecordView.java
+++ b/modules/api/src/main/java/org/apache/ignite/table/RecordView.java
@@ -25,7 +25,7 @@ import org.apache.ignite.table.mapper.Mappers;
  * <p>
  *
  * @param <R> Record type.
- * @apiNote 'Record class field' &gt;-&lt 'table column' mapping laid down in implementation.
+ * @apiNote 'Record class field' &gt;-&lt; 'table column' mapping laid down in implementation.
  * @apiNote Some methods require a record with the only key fields set. This is not mandatory requirement
  * and value fields will be just ignored.
  * @see Mappers
diff --git a/modules/bytecode/pom.xml b/modules/bytecode/pom.xml
index d475a49..7d4cacb 100644
--- a/modules/bytecode/pom.xml
+++ b/modules/bytecode/pom.xml
@@ -60,4 +60,19 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <!--
+               Disable javadoc validataion for forked foreign module.
+           -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
\ No newline at end of file
diff --git a/modules/cli/src/main/java/org/apache/ignite/cli/IgnitePaths.java b/modules/cli/src/main/java/org/apache/ignite/cli/IgnitePaths.java
index 4ef1862..bbc88fc 100644
--- a/modules/cli/src/main/java/org/apache/ignite/cli/IgnitePaths.java
+++ b/modules/cli/src/main/java/org/apache/ignite/cli/IgnitePaths.java
@@ -24,26 +24,31 @@ import java.nio.file.Path;
  * The main resolver of Ignite paths for the current installation (like bin, work and etc. dirs).
  * Current Ignite distributive has the following dirs structure:
  * <ul>
- *     <li>bin</li>
- *     <ul>
- *         <li>${version}</li>
- *         <ul>
- *             <li>cli</li>
- *             <li>libs</li>
- *         </ul>
- *     </ul>
- *     <li>work</li>
- *     <ul>
- *         <li>config</li>
- *         <ul>
- *             <li>default-config.xml</li>
- *         </ul>
- *         <li>cli</li>
- *         <ul>
- *             <li>pids</li>
- *         </ul>
- *         <li>modules.json</li>
- *     </ul>
+ *      <li>bin
+ *          <ul>
+ *              <li>${version}
+ *                  <ul>
+ *                      <li>cli</li>
+ *                      <li>libs</li>
+ *                  </ul>
+ *              </li>
+ *          </ul>
+ *     </li>
+ *     <li>work
+ *          <ul>
+ *              <li>config
+ *                  <ul>
+ *                      <li>default-config.xml</li>
+ *                  </ul>
+ *              </li>
+ *              <li>cli
+ *                  <ul>
+ *                      <li>pids</li>
+ *                  </ul>
+ *              </li>
+ *              <li>modules.json</li>
+ *          </ul>
+ *     </li>
  * </ul>
  */
 public class IgnitePaths {
diff --git a/modules/cli/src/main/java/org/apache/ignite/cli/builtins/module/ModuleRegistry.java b/modules/cli/src/main/java/org/apache/ignite/cli/builtins/module/ModuleRegistry.java
index b7bc791..e1602ac 100644
--- a/modules/cli/src/main/java/org/apache/ignite/cli/builtins/module/ModuleRegistry.java
+++ b/modules/cli/src/main/java/org/apache/ignite/cli/builtins/module/ModuleRegistry.java
@@ -35,7 +35,7 @@ import org.apache.ignite.internal.tostring.S;
 
 /**
  * The registry of installed CLI or Ignite server modules.
- * Module from the the registry's point of view is a pair of (name -> [artifacts, cliArtifacts]).
+ * Module from the the registry's point of view is a pair of (name -&gt; [artifacts, cliArtifacts]).
  * Where:
  * <ul>
  *     <li>artifacts - is a list of Ignite server node artifacts, which will be used in classpath of any server node.</li>
diff --git a/modules/cli/src/main/java/org/apache/ignite/cli/spec/IgniteCliSpec.java b/modules/cli/src/main/java/org/apache/ignite/cli/spec/IgniteCliSpec.java
index 9f67946..dc19416 100644
--- a/modules/cli/src/main/java/org/apache/ignite/cli/spec/IgniteCliSpec.java
+++ b/modules/cli/src/main/java/org/apache/ignite/cli/spec/IgniteCliSpec.java
@@ -71,7 +71,7 @@ public class IgniteCliSpec extends CommandSpec {
     }
 
     /**
-     * Init Ignite command line with needed look&feel options
+     * Init Ignite command line with needed look&amp;feel options
      * and loads external extensions if any exists.
      *
      * @param applicationCtx DI application context.
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/ConfigurationValue.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/ConfigurationValue.java
index a9e0eec..c44795c 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/ConfigurationValue.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/ConfigurationValue.java
@@ -30,7 +30,7 @@ public interface ConfigurationValue<VIEW> extends ConfigurationProperty<VIEW, VI
      * Update this configuration node value.
      *
      * @param change New value for the configuration. Must not be null.
-     * @returns Future that signifies end of the update operation. Can also be completed with
+     * @return Future that signifies end of the update operation. Can also be completed with
      *      {@link ConfigurationValidationException} and {@link ConfigurationChangeException}.
      */
     Future<Void> update(VIEW change) throws ConfigurationValidationException;
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
index 70669ca..e8ac8f9 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
@@ -37,7 +37,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
  *
  * <h1 class="header">Example</h1>
  * Here is how to create a root configuration schema:
- * <pre name="code" class="java">
+ * <pre><code>
  * {@literal @}Config(value = "local", root = true)
  * public class LocalConfigurationSchema {
  *
@@ -50,7 +50,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
  *      {@literal @}ConfigValue
  *      private SomeOtherConfiguration someOther;
  * }
- * </pre>
+ * </code></pre>
  */
 @Target({ TYPE })
 @Retention(SOURCE)
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/ConfigValue.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/ConfigValue.java
index e4fbc42..9ba0d80 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/ConfigValue.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/ConfigValue.java
@@ -26,7 +26,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
 
 /**
  * This annotation marks configuration schema field as a configuration tree node.
- * <pre name="code" class="java">
+ * <pre><code>
  * {@literal @}Config
  * public class FooConfigurationSchema {
  *
@@ -34,7 +34,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
  *      private SomeOtherConfiguration someOther;
  *
  * }
- * </pre>
+ * </code></pre>
  */
 @Target({ FIELD })
 @Retention(SOURCE)
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/NamedConfigValue.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/NamedConfigValue.java
index 5ecc62b..e8a5e86 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/NamedConfigValue.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/NamedConfigValue.java
@@ -32,7 +32,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
  * Every field annotated with this annotation will produce a {@link NamedListConfiguration} field in generated configuration class.
  *
  * <h1 class="header">Example</h1>
- * <pre name="code" class="java">
+ * <pre><code>
  * {@literal @}Config(value = "local", root = true)
  * public class LocalConfigurationSchema {
  *
@@ -40,7 +40,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
  *      private SomeOtherConfiguration someOther;
  *
  * }
- * </pre>
+ * </code></pre>
  */
 @Target({ FIELD })
 @Retention(SOURCE)
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Value.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Value.java
index a5efbb5..dcded94 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Value.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Value.java
@@ -27,8 +27,10 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
 
 /**
  * This annotation marks configuration schema field as a configuration tree leaf.
- * Every field annotated with this annotation will produce a {@link DynamicProperty} field in generated configuration class.
- * <br/> Type must be one of the following (or array of one of the following):
+ * Every field annotated with this annotation will produce a {@link DynamicProperty} field in generated configuration
+ * class.
+ * <p>
+ * Type must be one of the following (or array of one of the following):
  * <ul>
  *     <li>boolean</li>
  *     <li>int</li>
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/AnyNodeConfigurationVisitor.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/AnyNodeConfigurationVisitor.java
index c91fd03..9affee2 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/AnyNodeConfigurationVisitor.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/AnyNodeConfigurationVisitor.java
@@ -43,7 +43,7 @@ public abstract class AnyNodeConfigurationVisitor<T> implements ConfigurationVis
      * Visit tree node.
      *
      * @param key Name of the node.
-     * @param node {@link InnerNode}, {@link NamedListNode<?>} or {@link Serializable} leaf.
+     * @param node {@link InnerNode}, {@link NamedListNode} or {@link Serializable} leaf.
      */
     protected abstract T visitNode(String key, Object node);
 }
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/ConfigurationUtil.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/ConfigurationUtil.java
index c1708b7..770874e 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/ConfigurationUtil.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/internal/util/ConfigurationUtil.java
@@ -285,13 +285,12 @@ public class ConfigurationUtil {
     /**
      * Convert a traversable tree to a map of qualified keys to values.
      *
-     * @param rootKey Root configuration key.
      * @param curRoot Current root tree.
      * @param updates Tree with updates.
      * @return Map of changes.
      */
     public static Map<String, Serializable> nodeToFlatMap(
-        SuperRoot curRoots,
+        SuperRoot curRoot,
         SuperRoot updates
     ) {
         Map<String, Serializable> values = new HashMap<>();
@@ -352,7 +351,7 @@ public class ConfigurationUtil {
                     // This code can in fact be better optimized for deletion scenario,
                     // but there's no point in doing that, since the operation is so rare and it will
                     // complicate code even more.
-                    originalNamedElement = find(currentPath, curRoots);
+                    originalNamedElement = find(currentPath, curRoot);
                 }
                 catch (KeyNotFoundException ignore) {
                     // May happen, not a big deal. This means that element never existed in the first place.
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/tree/InnerNode.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/tree/InnerNode.java
index c898945..6631b1c 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/tree/InnerNode.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/tree/InnerNode.java
@@ -28,8 +28,8 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
 
     /**
      * Method with auto-generated implementation. Must look like this:
-     * <pre>{@code
-     * @Override public void traverseChildren(ConfigurationVisitor visitor) {
+     * <pre><code>
+     * {@literal @}Override public void traverseChildren(ConfigurationVisitor visitor) {
      *     visitor.visitInnerNode("pojoField1", this.pojoField1);
      *
      *     visitor.visitNamedListNode("pojoField2", this.pojoField2);
@@ -38,7 +38,7 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
      *
      *     visitor.visitLeafNode("primitiveField2", this.primitiveField2);
      * }
-     * }</pre>
+     * </code></pre>
      *
      * Order of fields must be the same as they are described in configuration schema.
      *
@@ -48,8 +48,8 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
 
     /**
      * Method with auto-generated implementation. Must look like this:
-     * <pre>{@code
-     * @Override public void traverseChild(String key, ConfigurationVisitor visitor) throws NoSuchElementException {
+     * <pre><code>
+     * {@literal @}Override public void traverseChild(String key, ConfigurationVisitor visitor) throws NoSuchElementException {
      *     switch (key) {
      *         case "pojoField1":
      *             visitor.visitInnerNode("pojoField1", this.pojoField1);
@@ -71,7 +71,7 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
      *             throw new NoSuchElementException(key);
      *     }
      * }
-     * }</pre>
+     * </code></pre>
      *
      * @param key Name of the child.
      * @param visitor Configuration visitor.
@@ -81,12 +81,12 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
 
     /**
      * Method with auto-generated implementation. Must look like this:
-     * <pre>{@code
-     * @Override public abstract void construct(String key, ConfigurationSource src) throws NoSuchElementException {
+     * <pre><code>
+     * {@literal @}Override public abstract void construct(String key, ConfigurationSource src) throws NoSuchElementException {
      *     switch (key) {
      *         case "namedList":
      *             if (src == null)
-     *                 namedList = new NamedListNode<>(Foo::new);
+     *                 namedList = new{@code NamedListNode<>}(Foo::new);
      *             else
      *                 src.descend(namedList = namedList.copy());
      *             break;
@@ -105,7 +105,7 @@ public abstract class InnerNode implements TraversableTreeNode, ConstructableTre
      *         default: throw new NoSuchElementException(key);
      *     }
      * }
-     * }</pre>
+     * </code></pre>
      * {@inheritDoc}
      */
     @Override public abstract void construct(String key, ConfigurationSource src) throws NoSuchElementException;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringInclude.java b/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringInclude.java
index 850ab69..abe1cbd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringInclude.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringInclude.java
@@ -34,7 +34,7 @@ import org.apache.ignite.lang.IgniteSystemProperties;
 @Target({ElementType.FIELD, ElementType.TYPE})
 public @interface IgniteToStringInclude {
     /**
-     * A flag indicating if sensitive information stored in the field or fields of the class.<br/>
+     * A flag indicating if sensitive information stored in the field or fields of the class.
      * Such information will be included to {@code toString()} output according to
      * {@link IgniteSystemProperties#IGNITE_SENSITIVE_DATA_LOGGING} policy.
      *
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
index c1fb8b0..1cb4f1f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
@@ -36,8 +36,7 @@ import static org.apache.ignite.internal.util.IgniteUtils.jdkVersion;
 import static org.apache.ignite.internal.util.IgniteUtils.majorJavaVersion;
 
 /**
- * <p>Wrapper for the {@link sun.misc.Unsafe} class.</p>
- *
+ * Wrapper for the {@link sun.misc.Unsafe} class.
  * <p>
  * All memory access operations have the following properties:
  * <ul>
@@ -51,7 +50,6 @@ import static org.apache.ignite.internal.util.IgniteUtils.majorJavaVersion;
  * while native byte order is big-endian. So it is client code responsibility to check native byte order before
  * invoking these methods.</li>
  * </ul>
- * </p>
  */
 public abstract class GridUnsafe {
     /** */
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 58b7e02..60d637b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -72,7 +72,7 @@ public class IgniteUtils {
 
     /**
      * Returns a capacity that is sufficient to keep the map from being resized as
-     * long as it grows no larger than expSize and the load factor is >= its
+     * long as it grows no larger than expSize and the load factor is &gt;= its
      * default (0.75).
      *
      * Copy pasted from guava. See com.google.common.collect.Maps#capacity(int)
diff --git a/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/Entry.java b/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/Entry.java
index 03263b7..e7391ba 100644
--- a/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/Entry.java
+++ b/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/Entry.java
@@ -24,8 +24,8 @@ import org.jetbrains.annotations.Nullable;
  * Represents a storage unit as entry with key, value and revision, where
  * <ul>
  *     <li>key - an unique entry's key. Keys are comparable in lexicographic manner.</li>
- *     <ul>value - a data which is associated with a key and represented as an array of bytes.</ul>
- *     <ul>revision - a number which denotes a version of whole meta storage. Each change increments the revision.</ul>
+ *     <li>value - a data which is associated with a key and represented as an array of bytes.</li>
+ *     <li>revision - a number which denotes a version of whole meta storage. Each change increments the revision.</li>
  * </ul>
  */
 public interface Entry {
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java
index 3e79531..cb4572e 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequest.java
@@ -48,7 +48,7 @@ public interface AddLearnersRequest extends NetworkMessage, Serializable {
          * @param learners Learners.
          * @return The builder.
          */
-        Builder learners(List<Peer> learner);
+        Builder learners(List<Peer> learners);
 
         /**
          * @return The complete message.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java
index c2a01ee..ee8865c 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponse.java
@@ -36,7 +36,7 @@ public interface GetLeaderResponse extends NetworkMessage, Serializable {
          * @param leader Leader
          * @return The builder.
          */
-        Builder leader(Peer leaderId);
+        Builder leader(Peer leader);
 
         /**
          * @return The complete message.
diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupServiceImpl.java
index d85ff3b..f62904b 100644
--- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupServiceImpl.java
+++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupServiceImpl.java
@@ -96,7 +96,6 @@ public class RaftGroupServiceImpl implements RaftGroupService {
      * @param peers Initial group configuration.
      * @param refreshLeader {@code True} to synchronously refresh leader on service creation.
      * @param retryDelay Retry delay.
-     * @param executor Request executor.
      */
     public RaftGroupServiceImpl(
         String groupId,
diff --git a/modules/rest/pom.xml b/modules/rest/pom.xml
index 3af59e5..45c6b5d 100644
--- a/modules/rest/pom.xml
+++ b/modules/rest/pom.xml
@@ -110,6 +110,17 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
             </plugin>
+
+            <!--
+                Include javadoc from generated sources
+            -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <sourcepath>src/main/java:target/generated-sources/annotations</sourcepath>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/modules/runner/pom.xml b/modules/runner/pom.xml
index 2a2af71..d8c680a 100644
--- a/modules/runner/pom.xml
+++ b/modules/runner/pom.xml
@@ -74,5 +74,18 @@
                 <filtering>true</filtering>
             </resource>
         </resources>
+
+        <plugins>
+            <!--
+                Include javadoc from generated sources
+            -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <sourcepath>src/main/java:target/generated-sources/annotations</sourcepath>
+                </configuration>
+            </plugin>
+        </plugins>
     </build>
 </project>
diff --git a/modules/schema/pom.xml b/modules/schema/pom.xml
index 390af15..669bd9a 100644
--- a/modules/schema/pom.xml
+++ b/modules/schema/pom.xml
@@ -52,12 +52,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
             <groupId>org.jetbrains</groupId>
             <artifactId>annotations</artifactId>
         </dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 4b84ee6..d0cd6ea 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -78,15 +78,16 @@
         <!-- Plugins versions -->
         <apache.rat.plugin.version>0.13</apache.rat.plugin.version>
         <checkstyle.puppycrawl.version>8.37</checkstyle.puppycrawl.version>
-        <launch.mave.plugin.version>1.7.25</launch.mave.plugin.version>
+        <launch.maven.plugin.version>1.7.25</launch.maven.plugin.version>
         <maven.antrun.plugin.version>3.0.0</maven.antrun.plugin.version>
         <maven.assembly.plugin.version>3.2.0</maven.assembly.plugin.version>
-        <maven.build-helper.plugin.version>3.1.0</maven.build-helper.plugin.version>
+        <maven.build-helper.plugin.version>3.2.0</maven.build-helper.plugin.version>
         <maven.checkstyle.plugin.version>3.1.1</maven.checkstyle.plugin.version>
         <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
         <maven.deploy.plugin.version>2.8.2</maven.deploy.plugin.version>
         <maven.failsafe.plugin.version>3.0.0-M5</maven.failsafe.plugin.version>
         <maven.flatten.plugin.version>1.2.2</maven.flatten.plugin.version>
+        <maven.javadoc.plugin.version>3.2.0</maven.javadoc.plugin.version>
         <maven.pmd.plugin.version>3.14.0</maven.pmd.plugin.version>
         <maven.source.plugin.version>3.2.1</maven.source.plugin.version>
         <maven.surefire.plugin.version>3.0.0-M5</maven.surefire.plugin.version>
@@ -308,10 +309,11 @@
         </dependencies>
     </dependencyManagement>
 
-    <!--
-        Profile to exclude running surefire (unit) tests but do not prevent running integration ones
-    -->
     <profiles>
+
+        <!--
+            Profile to exclude running surefire (unit) tests but do not prevent running integration ones
+        -->
         <profile>
             <activation>
                 <property>
@@ -330,6 +332,32 @@
                 </plugins>
             </build>
         </profile>
+
+        <!--
+            Profile to exclude internal packages from Javadoc release build
+        -->
+        <profile>
+            <id>javadoc</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-javadoc-plugin</artifactId>
+                        <configuration>
+                            <excludePackageNames>org.apache.ignite.internal.*:org.apache.ignite.configuration.internal:org.apache.ignite.configuration.internal.*:org.apache.ignite.configuration.processor.internal:org.apache.ignite.network.internal:org.apache.ignite.network.internal.*</excludePackageNames>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>    
+        </profile>
     </profiles>
 
     <build>
@@ -394,7 +422,7 @@
                 <plugin>
                     <groupId>com.akathist.maven.plugins.launch4j</groupId>
                     <artifactId>launch4j-maven-plugin</artifactId>
-                    <version>${launch.mave.plugin.version}</version>
+                    <version>${launch.maven.plugin.version}</version>
                 </plugin>
 
                 <plugin>
@@ -416,6 +444,12 @@
                 </plugin>
 
                 <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>${maven.javadoc.plugin.version}</version>
+                </plugin>
+
+                <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>flatten-maven-plugin</artifactId>
                     <version>${maven.flatten.plugin.version}</version>
@@ -617,6 +651,92 @@
                     </rulesets>
                 </configuration>
             </plugin>
+
+            <!--
+                Plugin to validate module javadoc
+            -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <doctitle>Ignite ${project.version}</doctitle>
+                    <windowtitle>Ignite ${project.version}</windowtitle>
+                    <breakiterator>true</breakiterator>
+                    <verbose>true</verbose>
+                    <show>package</show>
+                    <use>true</use>
+                    <author>false</author>
+                    <version>false</version>
+                    <additionalJOptions>${javadoc.opts}</additionalJOptions>
+                    <excludePackageNames>com.facebook.presto.*</excludePackageNames>
+                    <links>
+                        <link>https://ignite.apache.org/releases/latest/javadoc/</link>
+                    </links>
+                    <tags>
+                        <tag>
+                            <name>apiNote</name>
+                            <placement>a</placement>
+                            <head>API Note:</head>
+                        </tag>
+                        <tag>
+                            <name>implSpec</name>
+                            <placement>a</placement>
+                            <head>Implementation Requirements:</head>
+                        </tag>
+                        <tag>
+                            <name>implNote</name>
+                            <placement>a</placement>
+                            <head>Implementation Note:</head>
+                        </tag>
+                    </tags>
+                    <bottom>
+                        <![CDATA[
+                            <table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">
+                            <tr>
+                                <td>
+                                    <table style="padding-left: 0; margin: 0">
+                                        <tbody style="padding: 0; margin: 0">
+                                            <tr style="padding: 0; margin: 0">
+                                                <td>
+                                                    <a target=_blank href="https://ignite.apache.org"><nobr>${current.year} Copyright &#169; Apache Software Foundation</nobr></a>
+                                                </td>
+                                            </tr>
+                                        </tbody>
+                                    </table>
+                                </td>
+                                <td width="100%" align="right" valign="center">
+                                    <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td colspan="2" valign="top" align="left">
+                                    <table style="padding-left: 0; margin: 0">
+                                        <tbody style="padding: 0; margin: 0">
+                                            <tr style="padding: 0; margin: 0">
+                                                <td>
+                                                    <b>Ignite Database and Caching Platform</b>
+                                                </td>
+                                                <td>:&nbsp;&nbsp;
+                                                    ver. <strong>${project.version}</strong>
+                                                </td>
+                                            </tr>
+                                            <tr style="padding: 0; margin: 0">
+                                                <td>
+                                                    <b>Release Date</b>
+                                                </td>
+                                                <td>:&nbsp;&nbsp;
+                                                    ${maven.build.timestamp}
+                                                </td>
+                                            </tr>
+                                        </tbody>
+                                    </table>
+                                </td>
+                            </tr>
+                            </table>
+                        ]]>
+                    </bottom>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/pom.xml b/pom.xml
index 4e87920..9612a10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,4 +75,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
+</project>
\ No newline at end of file