pan3793 commented on code in PR #654: URL: https://github.com/apache/spark-website/pull/654#discussion_r2647408743
########## developer-tools.md: ########## @@ -352,17 +352,32 @@ By default, this script will format files that differ from git master. For more <h3>IDE setup</h3> +Make sure you have a clean start before setting up the IDE: A clean git clone of the Spark repo, install the latest +version of the IDE. If something goes wrong, clear the build outputs by `./build/sbt clean` and `./build/mvn clean`, +clear the m2 cache by `rm -rf ~/.m2/repository/*`, remove the IDE folder such as `.idea`, re-import the project into +the IDE and try again. + <h4>IntelliJ</h4> While many of the Spark developers use SBT or Maven on the command line, the most common IDE we use is IntelliJ IDEA. You can get the community edition for free (Apache committers can get free IntelliJ Ultimate Edition licenses) and install the JetBrains Scala plugin from `Preferences > Plugins`. +Due to the complexity of Spark build, please modify the following global settings of IntelliJ IDEA: + +- Go to `Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing`, make sure you +choose "Detect automatically" for `Generated source folders`, and choose "generate sources" for +`Phase to be used for folders update`. +- Go to `Settings -> Build, Execution, Deployment -> Compiler -> Scala Compiler -> Scala Compiler Server`, +pick a large enough number for `Maximum heap size, MB`, such as "16000". Review Comment: the default is 2g, which does not suffice for Spark, but 16g seems to be too aggressive, this might scare off many developers, I tested 4g also works -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
