You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2022/05/02 11:11:43 UTC

[iotdb] branch issue-3078 created (now 92231dcdc5)

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

hxd pushed a change to branch issue-3078
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at 92231dcdc5 upgrade spotless and code format version. Add instruction for spotless and JDK17.

This branch includes the following new commits:

     new 92231dcdc5 upgrade spotless and code format version. Add instruction for spotless and JDK17.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 01/01: upgrade spotless and code format version. Add instruction for spotless and JDK17.

Posted by hx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch issue-3078
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 92231dcdc5b306fda6b526e0162284a42fee6bb7
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Mon May 2 19:11:25 2022 +0800

    upgrade spotless and code format version. Add instruction for spotless and JDK17.
---
 README.md                           | 14 ++++++++++++++
 README_ZH.md                        | 13 +++++++++++++
 docs/Development/ContributeGuide.md | 18 +++++++++++++++++-
 pom.xml                             |  4 ++--
 4 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 928c85950c..0ccc8d0dc8 100644
--- a/README.md
+++ b/README.md
@@ -175,6 +175,20 @@ and "`antlr/target/generated-sources/antlr4`" need to be added to sources roots
 **In IDEA, you just need to right click on the root project name and choose "`Maven->Reload Project`" after 
 you run `mvn package` successfully.**
 
+#### Spotless problem
+**NOTE**: IF you are using JDK16+, you have to create a file called `jvm.config`,
+put it under `.mvn/`, before you use `spotless:apply`. The file contains the following content:
+```
+--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+```
+
+This is [an issue of Spotless](https://github.com/diffplug/spotless/issues/834),
+Once the issue is fixed, we can remove this file.
+
 ### Configurations
 
 configuration files are under "conf" folder
diff --git a/README_ZH.md b/README_ZH.md
index 7831b88915..9b50c1d137 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -161,6 +161,19 @@ git checkout vx.x.x
 
 **IDEA的操作方法:在上述maven命令编译好后,右键项目名称,选择"`Maven->Reload project`",即可。**
 
+#### Spotless问题(JDK16+)
+**NOTE**: 如果你在使用 JDK16+, 并且要做`spotless:apply`或者`spotless:check`,
+那么需要在`.mvn/`文件夹下创建一个文件 `jvm.config`, 内容如下:
+```
+--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+```
+这是spotless依赖的googlecodeformat的 [问题](https://github.com/diffplug/spotless/issues/834),
+近期可能会被官方解决。
+
 ### 配置
 
 配置文件在"conf"文件夹下
diff --git a/docs/Development/ContributeGuide.md b/docs/Development/ContributeGuide.md
index 7fe9c54ded..1df694d9dd 100644
--- a/docs/Development/ContributeGuide.md
+++ b/docs/Development/ContributeGuide.md
@@ -102,7 +102,7 @@ We use the [Spotless
 plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven) together with [google-java-format](https://github.com/google/google-java-format) to format our Java code. You can configure your IDE to automatically apply formatting on saving with these steps(Take idea as an example):
 
 1. Download the [google-java-format
-   plugin v1.7.0.5](https://plugins.jetbrains.com/plugin/8527-google-java-format/versions/stable/83169), it can be installed in IDEA (Preferences -> plugins -> search google-java-format), [More detailed setup manual](https://github.com/google/google-java-format#intellij-android-studio-and-other-jetbrains-ides)
+   plugin v1.15.0.0](https://plugins.jetbrains.com/plugin/8527-google-java-format/versions/stable/161816), it can be installed in IDEA (Preferences -> plugins -> search google-java-format), [More detailed setup manual](https://github.com/google/google-java-format#intellij-android-studio-and-other-jetbrains-ides)
 2. Install the plugin from disk (Plugins -> little gear icon -> "Install plugin from disk" -> Navigate to downloaded zip file)
 3. In the plugin settings, enable the plugin and keep the default Google code style (2-space indents)
 4. Remember to never update this plugin to a later version,until Spotless was upgraded to version 1.8+.
@@ -119,6 +119,22 @@ plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven) together wi
    <blank line>
    import static all other imports
 ```
+8. Before you submit codes, you can use `mvn spotless:check` to check your codes manually,
+and use `mvn spotless:apply` to format your codes.
+
+**NOTICE (if you are using JDK16+)**: IF you are using JDK16+, you have to create a file called 
+`jvm.config`, put it under `.mvn/`, before you use `spotless:apply`. 
+The file contains the following content:
+```
+--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+```
+
+This is [an issue of Spotless](https://github.com/diffplug/spotless/issues/834),
+Once the issue is fixed, we can remove this file.
 
 ## Code Sytle
 We use the [maven-checkstyle-plugin](https://checkstyle.sourceforge.io/config_filefilters.html) to make Java codes obey a consistent ruleset defined in [checkstyle.xml](https://github.com/apache/iotdb/blob/master/checkstyle.xml) under the project root.
diff --git a/pom.xml b/pom.xml
index 2840b10274..8a7748328d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -171,7 +171,7 @@
         <client-cpp>false</client-cpp>
         <!-- disable enforcer by default-->
         <enforcer.skip>true</enforcer.skip>
-        <spotless.version>2.4.2</spotless.version>
+        <spotless.version>2.22.3</spotless.version>
         <httpclient.version>4.5.13</httpclient.version>
         <httpcore.version>4.4.15</httpcore.version>
         <!-- for REST service -->
@@ -714,7 +714,7 @@
                     <configuration>
                         <java>
                             <googleJavaFormat>
-                                <version>1.7</version>
+                                <version>1.15.0</version>
                                 <style>GOOGLE</style>
                             </googleJavaFormat>
                             <importOrder>