agura commented on a change in pull request #65:
URL: https://github.com/apache/ignite-3/pull/65#discussion_r591770012



##########
File path: DEVNOTES.md
##########
@@ -1,99 +1,119 @@
-# Setting up and building
+* [Prerequisites](#prerequisites)
+* [Building Ignite](#building-ignite)
+* [Running sanity checks](#running-sanity-checks)
+* [Running tests](#running-tests)
+* [Setting up IntelliJ Idea project](#setting-up-intellij-idea-project)
+* [Code structure](#code-structure)
+* [Release candidate verification](#release-candidate-verification)
+
+
 ## Prerequisites
  * Java 11 SDK
  * Maven 3.6.0+ (for building)
- 
-## Building Ignite
-Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following 
-command from the project root directory (you can disable the tests when 
building using `-DskipTests`):
-
-    mvn clean install [-DskipTests]
-
-Upon completion, you will find the CLI tool under `modules/cli/target` 
directory.
-Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows. 
-
-### Running tests
-To run unit tests only, use the following command:
-
-    mvn test
-
-Before running integration tests, make sure to build the project using the 
``package`` target.
-
-To run unit + integration tests, use the following command:
 
-    mvn integration-test
 
-To run integration tests only, use the following command:
-
-    mvn integration-test -Dskip.surefire.tests=true
-    
-### Sanity check targets
-Use the following commands to run generic sanity checks before submitting a PR.
-
-RAT license validation:
-    
-    mvn validate
-    
-Checkstyle code validation:
-
-    mvn checkstyle:checkstyle:aggregate
-
-PMD static code analysis
-
-    mvn compile pmd:check 
+## Building Ignite
+Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following command from the project root directory 
(you can disable the tests when building using `-DskipTests`):
+```
+mvn clean package [-DskipTests]
+```
+Upon build completion, CLI tool can be found be under `modules/cli/target` 
directory. Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows.
+
+
+## Running sanity checks
+### Code style
+Code style is checked with [Apache Maven Checkstyle 
Plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/).
+
+[Checkstyle rules](check-rules/checkstyle-rules.xml).
+
+[Checkstyle suppressions](check-rules/checkstyle-suppressions.xml).
+```
+mvn clean checkstyle:checkstyle-aggregate
+```
+Code style check result is generated at `target/site/checkstyle-aggregate.html`
+
+### License headers
+Project files license headers match with required template is checked with 
[Apache Rat Maven Plugin](https://creadur.apache.org/rat/apache-rat-plugin/).
+```
+mvn clean apache-rat:check -pl :apache-ignite
+```
+License headers check result is generated at `target/rat.txt`
+
+### PMD
+Static code analyzer is run with [Apache Maven PMD 
Plugin](https://maven.apache.org/plugins/maven-pmd-plugin/). Precompilation is 
required 'cause PMD shoud be run on compiled code.
+
+[PMD rules](check-rules/pmd-rules.xml).
+```
+mvn clean compile pmd:check

Review comment:
       Execute `mvn clean compile pmd:check` from the project root.
   
   Result FAILED:
   
   ```
    Failed to execute goal 
org.apache.maven.plugins:maven-pmd-plugin:3.14.0:check (default-cli) on project 
apache-ignite: You have 5 PMD violations. For more details see: 
C:\git\gridgain\ignite-3\target\pmd.xml -> [Help 1]
   ```
   
   `pmd.xml` snippet:
   
   ```
   
   <?xml version="1.0" encoding="UTF-8"?>
   <pmd xmlns="http://pmd.sourceforge.net/report/2.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://pmd.sourceforge.net/report/2.0.0 
http://pmd.sourceforge.net/report_2_0_0.xsd"; version="6.29.0" 
timestamp="2021-03-10T21:28:42.978">
   <file 
name="C:\git\gridgain\ignite-3\modules\rest\target\generated-sources\annotations\org\apache\ignite\rest\configuration\impl\RestNode.java">
   <violation beginline="16" endline="16" begincolumn="43" endcolumn="47" 
rule="UnusedPrivateField" ruleset="Best Practices" 
package="org.apache.ignite.rest.configuration.impl" class="RestNode" 
variable="_spec" 
externalInfoUrl="https://pmd.github.io/pmd-6.29.0/pmd_rules_java_bestpractices.html#unusedprivatefield";
 priority="3">
   Avoid unused private fields such as '_spec'.
   </violation>
   </file>
   <file 
name="C:\git\gridgain\ignite-3\modules\runner\target\generated-sources\annotations\org\apache\ignite\configuration\extended\impl\AutoAdjustNode.java">
   <violation beginline="17" endline="17" begincolumn="49" endcolumn="53" 
rule="UnusedPrivateField" ruleset="Best Practices" 
package="org.apache.ignite.configuration.extended.impl" class="AutoAdjustNode" 
variable="_spec" 
externalInfoUrl="https://pmd.github.io/pmd-6.29.0/pmd_rules_java_bestpractices.html#unusedprivatefield";
 priority="3">
   Avoid unused private fields such as '_spec'.
   </violation>
   </file>
   <file 
name="C:\git\gridgain\ignite-3\modules\runner\target\generated-sources\annotations\org\apache\ignite\configuration\extended\impl\BaselineNode.java">
   <violation beginline="18" endline="18" begincolumn="47" endcolumn="51" 
rule="UnusedPrivateField" ruleset="Best Practices" 
package="org.apache.ignite.configuration.extended.impl" class="BaselineNode" 
variable="_spec" 
externalInfoUrl="https://pmd.github.io/pmd-6.29.0/pmd_rules_java_bestpractices.html#unusedprivatefield";
 priority="3">
   Avoid unused private fields such as '_spec'.
   </violation>
   </file>
   <file 
name="C:\git\gridgain\ignite-3\modules\runner\target\generated-sources\annotations\org\apache\ignite\configuration\extended\impl\DataStorageNode.java">
   <violation beginline="16" endline="16" begincolumn="50" endcolumn="54" 
rule="UnusedPrivateField" ruleset="Best Practices" 
package="org.apache.ignite.configuration.extended.impl" class="DataStorageNode" 
variable="_spec" 
externalInfoUrl="https://pmd.github.io/pmd-6.29.0/pmd_rules_java_bestpractices.html#unusedprivatefield";
 priority="3">
   Avoid unused private fields such as '_spec'.
   </violation>
   </file>
   <file 
name="C:\git\gridgain\ignite-3\modules\runner\target\generated-sources\annotations\org\apache\ignite\configuration\extended\impl\LocalNode.java">
   <violation beginline="20" endline="20" begincolumn="44" endcolumn="48" 
rule="UnusedPrivateField" ruleset="Best Practices" 
package="org.apache.ignite.configuration.extended.impl" class="LocalNode" 
variable="_spec" 
externalInfoUrl="https://pmd.github.io/pmd-6.29.0/pmd_rules_java_bestpractices.html#unusedprivatefield";
 priority="3">
   Avoid unused private fields such as '_spec'.
   </violation>
   </file>
   </pmd>
   ```
   
   But on TC there are no any violations.

##########
File path: DEVNOTES.md
##########
@@ -1,99 +1,119 @@
-# Setting up and building
+* [Prerequisites](#prerequisites)
+* [Building Ignite](#building-ignite)
+* [Running sanity checks](#running-sanity-checks)
+* [Running tests](#running-tests)
+* [Setting up IntelliJ Idea project](#setting-up-intellij-idea-project)
+* [Code structure](#code-structure)
+* [Release candidate verification](#release-candidate-verification)
+
+
 ## Prerequisites
  * Java 11 SDK
  * Maven 3.6.0+ (for building)
- 
-## Building Ignite
-Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following 
-command from the project root directory (you can disable the tests when 
building using `-DskipTests`):
-
-    mvn clean install [-DskipTests]
-
-Upon completion, you will find the CLI tool under `modules/cli/target` 
directory.
-Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows. 
-
-### Running tests
-To run unit tests only, use the following command:
-
-    mvn test
-
-Before running integration tests, make sure to build the project using the 
``package`` target.
-
-To run unit + integration tests, use the following command:
 
-    mvn integration-test
 
-To run integration tests only, use the following command:
-
-    mvn integration-test -Dskip.surefire.tests=true
-    
-### Sanity check targets
-Use the following commands to run generic sanity checks before submitting a PR.
-
-RAT license validation:
-    
-    mvn validate
-    
-Checkstyle code validation:
-
-    mvn checkstyle:checkstyle:aggregate
-
-PMD static code analysis
-
-    mvn compile pmd:check 
+## Building Ignite
+Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following command from the project root directory 
(you can disable the tests when building using `-DskipTests`):
+```
+mvn clean package [-DskipTests]
+```
+Upon build completion, CLI tool can be found be under `modules/cli/target` 
directory. Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows.
+
+
+## Running sanity checks
+### Code style
+Code style is checked with [Apache Maven Checkstyle 
Plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/).
+
+[Checkstyle rules](check-rules/checkstyle-rules.xml).
+
+[Checkstyle suppressions](check-rules/checkstyle-suppressions.xml).
+```
+mvn clean checkstyle:checkstyle-aggregate
+```
+Code style check result is generated at `target/site/checkstyle-aggregate.html`
+
+### License headers
+Project files license headers match with required template is checked with 
[Apache Rat Maven Plugin](https://creadur.apache.org/rat/apache-rat-plugin/).
+```
+mvn clean apache-rat:check -pl :apache-ignite

Review comment:
       Execute `mvn clean apache-rat:check -pl :apache-ignite` from the project 
root.
   
   Result FAILED:
   
   ```
   [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check 
(default-cli) on project apache-ignite: Too many files with unapproved license: 
12 See RAT report in: C:\git\ignite-3\target\rat.txt -> [Help 1]
   ```
   
   `rat.txt` snippet:
   
   ```
   Files with unapproved licenses:
   
     modules/cli/ignite-cli.iml
     modules/cli-common/ignite-cli-common.iml
     modules/configuration/ignite-configuration.iml
     
modules/configuration-annotation-processor/ignite-configuration-annotation-processor.iml
     modules/metastorage-client/metastorage-client.iml
     modules/metastorage-common/metastorage-common.iml
     modules/network/ignite-network.iml
     modules/raft/ignite-jraft.iml
     modules/raft/raft.iml
     modules/raft-client/ignite-raft-client.iml
     modules/rest/ignite-rest.iml
     modules/runner/ignite-runner.iml
   ```
   
   So `*.iml` files should be excluded from target files.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to