### _Why are the changes needed?_ - to consolidate styles in markdown files from manual written or auto-generated - apply markdown formatting rules with flexmark from [spotless-maven-plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven#markdown) to *.md files in `/docs` - use `flexmark` to format markdown generation in `TestUtils` of common module used by `AllKyuubiConfiguration` and `KyuubiDefinedFunctionSuite`, as the same way in `FlexmarkFormatterFunc ` of `spotless-maven-plugin` using with `COMMONMARK` as `FORMATTER_EMULATION_PROFILE` (https://github.com/diffplug/spotless/blob/maven/2.30.0/lib/src/flexmark/java/com/diffplug/spotless/glue/markdown/FlexmarkFormatterFunc.java) - using `flexmark` of` 0.62.2`, as the last version requiring Java 8+ (checked from pom file and bytecode version) ``` <markdown> <includes> <include>docs/**/*.md</include> </includes> <flexmark></flexmark> </markdown> ``` - Changes applied to markdown doc files, - no style change or breakings in built docs by `make html` - removal all the first blank in licences and comments to conform markdown style rules - tables regenerated by flexmark following as in [GitHub Flavored Markdown](https://help.github.com/articles/organizing-information-with-tables/) (https://github.com/vsch/flexmark-java/wiki/Extensions#tables) ### _How was this patch tested?_ - [x] regenerate docs using `make html` successfully and check all the markdown pages available - [x] regenerate `settings.md` and `functions.md` by `AllKyuubiConfiguration` and `KyuubiDefinedFunctionSuite`, and pass the checks by both themselves and spotless check via `dev/reformat` - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4200 from bowenliang123/markdown-formatting. Closes #4200 1eeafce4 [liangbowen] revert minor changes in AllKyuubiConfiguration 4f892857 [liangbowen] use flexmark in markdown doc generation 8c978abd [liangbowen] changes on markdown files a9190556 [liangbowen] apply markdown formatting rules with `spotless-maven-plugin` to markdown files with in `/docs` Authored-by: liangbowen <liangbowen@gf.com.cn> Signed-off-by: liangbowen <liangbowen@gf.com.cn>
96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
<!--
|
|
- Licensed to the Apache Software Foundation (ASF) under one or more
|
|
- contributor license agreements. See the NOTICE file distributed with
|
|
- this work for additional information regarding copyright ownership.
|
|
- The ASF licenses this file to You under the Apache License, Version 2.0
|
|
- (the "License"); you may not use this file except in compliance with
|
|
- the License. You may obtain a copy of the License at
|
|
-
|
|
- http://www.apache.org/licenses/LICENSE-2.0
|
|
-
|
|
- Unless required by applicable law or agreed to in writing, software
|
|
- distributed under the License is distributed on an "AS IS" BASIS,
|
|
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
- See the License for the specific language governing permissions and
|
|
- limitations under the License.
|
|
-->
|
|
|
|
# IntelliJ IDEA Setup Guide
|
|
|
|
## Copyright Profile
|
|
|
|
Every file needs to include the Apache license as a header. This can be automated in IntelliJ by adding a Copyright
|
|
profile:
|
|
|
|
1. Go to "Settings/Preferences" → "Editor" → "Copyright" → "Copyright Profiles".
|
|
2. Add a new profile and name it "Apache".
|
|
3. Add the following text as the copyright text:
|
|
|
|
```
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
```
|
|
4. Go to "Editor" → "Copyright" and choose the "Apache" profile as the default profile for this project.
|
|
5. Click "Apply".
|
|
|
|
## Required Plugins
|
|
|
|
Go to "Settings/Preferences" → "Plugins" and select the "Marketplace" tab. Search for the following plugins, install
|
|
them, and restart the IDE if prompted:
|
|
|
|
* [Scala](https://plugins.jetbrains.com/plugin/1347-scala)
|
|
|
|
You will also need to install the [google-java-format](https://github.com/google/google-java-format)
|
|
plugin. However, a specific version of this plugin is required. Download
|
|
[google-java-format v1.7.0.6](https://plugins.jetbrains.com/plugin/8527-google-java-format/versions/stable/115957)
|
|
and install it as follows. Make sure to NEVER update this plugin.
|
|
|
|
1. Go to "Settings/Preferences" → "Plugins".
|
|
2. Click the gear icon and select "Install Plugin from Disk".
|
|
3. Navigate to the downloaded ZIP file and select it.
|
|
|
|
## Formatter For Java
|
|
|
|
Kyuubi uses [Spotless](https://github.com/diffplug/spotless/tree/main/plugin-maven) together with
|
|
[google-java-format](https://github.com/google/google-java-format) to format the Java code.
|
|
|
|
It is recommended to automatically format your code by applying the following settings:
|
|
|
|
1. Go to "Settings/Preferences" → "Other Settings" → "google-java-format Settings".
|
|
2. Tick the checkbox to enable the plugin.
|
|
3. Change the code style to "Default Google Java style".
|
|
4. Go to "Settings/Preferences" → "Tools" → "Actions on Save".
|
|
5. Select "Reformat code".
|
|
|
|
If you use the IDEA version is 2021.1 and below, please replace the above steps 4 and 5 by using the
|
|
[Save Actions](https://plugins.jetbrains.com/plugin/7642-save-actions) plugin.
|
|
|
|
## Formatter For Scala
|
|
|
|
Enable [Scalafmt](https://scalameta.org/scalafmt/) as follows:
|
|
|
|
1. Go to "Settings/Preferences" → "Editor" → "Code Style" → "Scala"
|
|
2. Set "Formatter" to "Scalafmt"
|
|
3. Enable "Reformat on file save"
|
|
|
|
## Checkstyle For Scala
|
|
|
|
Enable [Scalastyle](http://www.scalastyle.org/) as follows:
|
|
|
|
1. Go to "Settings/Preferences" → "Editor" → "Inspections".
|
|
2. Search for "Scala style inspection" and enable it.
|
|
|