j143 commented on a change in pull request #922:
URL: https://github.com/apache/systemml/pull/922#discussion_r431107509



##########
File path: dev/docs/windows-source-installation.md
##########
@@ -0,0 +1,81 @@
+# Developing Apache SystemDS on Windows Platform
+
+These instructions will help you build Apache SystemDS from source code, which 
is the basis for engine and algorithms development.
+The following conventions will be used to refer to directories on your machine:
+
+* `<USER_HOME>` is your home directory.
+* `<MAVEN_HOME>` is the root directory for the Apache Maven source code.  
+* `<SYSTEMDS_HOME>` is the root directory for the SystemDS source code.
+* `<SPARK_HOME>` is the root directory for the Apache Spark source code.
+* `<SCALA_HOME>` is the root directory for the Scala.
+Ex. `C:\Program Files (x86)\scala`
+* `<SBT_HOME>` is the root directory for the Scala SBT.
+Ex. `C:\Program Files (x86\sbt`
+* `<JDK_18_HOME>` is the root directory for the 1.8 JDK.
+* `<CUDA_HOME>`,`<CUDA_PATH>` is the top directory for NVIDIA GPU Computing 
Toolkit.  
+Ex. `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0`
+Also, make sure that `libnvvp`, `bin` folders are accessible to command line.
+*  `<CUDNN_PATH>` is the path 
+Ex. `C:\Program Files\cudnn-9.0-windows10-x64-v7.2.1.38\cuda`
+
+## Getting Apache SystemDS Source Code
+
+SystemDS source code is available from 
[github.com/apache/systemml](https://github.com/apache/systemml) by either 
cloning or
+downloading a zip file (based on a branch) into `<SYSTEMDS_HOME>`. The default 
is the *master* branch.
+
+````
+git clone https://github.com/apache/systemml systemds
+```` 
+
+The master branch contains the source code which will be used to create the 
next major version of Apache SystemDS.
+
+_**Speed Tip:**_ If the complete repository history isn't needed then using a 
shallow clone (`git clone --depth 1`) will
+save significant time.
+
+[TODO 1]: Get the spark, mvn and java download installation
+Apache SystemDS requires dependencies from the other Apache projects. To 
download these sources,
+run one of the `getSparkMvnJdk` scripts located in the `<SYSTEMDS_HOME>` 
directory. These scripts clone their respective
+*master* branches.
+* `getSpark.bat` for Windows.
+
+## Building SystemDS source code
+
+IntelliJ IDEA is preferred for best developer experience.
+
+### Opening the IntelliJ Source Code for Build
+
+Using IntelliJ IDEA **File | Open**, select the `<SYSTEMDS_HOME>` directory. 
+* If IntelliJ IDEA displays an error about a missing or out of date required 
plugin (e.g. maven),
+  [enable, upgrade, or install that 
plugin](https://www.jetbrains.com/help/idea/managing-plugins.html) and restart 
IntelliJ IDEA.
+
+### IntelliJ Build Configuration
+
+JDK version 1.8 (u151 or newer) is required for building and developing for 
SystemDS developement.
+
+1. Using IntelliJ IDEA, 
[configure](https://www.jetbrains.com/help/idea/sdk.html) a JDK named 
"**1.8**", pointing to `<JDK_18_HOME>`.
+   * If not already present, add `<JDK_18_HOME>/lib/tools.jar` [to the 
Classpath](https://www.jetbrains.com/help/idea/sdk.html#manage_sdks) tab
+     for the **1.8** JDK.
+2. If the _Maven Integration_ plugin is disabled, [add the path 
variable](https://www.jetbrains.com/help/idea/working-with-projects.html#path-variables)
+   "**MAVEN_REPOSITORY**" pointing to `<USER_HOME>/.m2/repository` directory.
+3. _**Speed Tip:**_ If you have enough RAM on your computer,
+   [configure the compiler 
settings](https://www.jetbrains.com/help/idea/specifying-compilation-settings.html)
+   to enable the "Compile independent modules in parallel" option. Also set 
the "User-local build process VM options" to `-Xmx2G`.
+   These changes will greatly reduce the compile time.
+4. Now, selecting the IntelliJ IDEA **Build | Build module 'systemds'** option 
starts the maven build.
+5. _**Speed Tip:**_ If the development machine have enough RAM, [configure the 
compiler 
settings](https://www.jetbrains.com/help/idea/specifying-compilation-settings.html)
+   to enable the "Compile independent modules in parallel" option.
+ 
+### Building the Source Code
+To build SystemDS from source, choose **Build | Build Project** from the main 
menu.
+OR
+To maven build, run the `mvn` command in `<SYSTEMDS_HOME>` directory. See the 
`pom.xml` file for details.
+
+## Testing
+To run the SystemDS built from source, choose **Run | Run** from the main menu.
+
+To run tests on the build, apply these setting to the **Run | Edit 
Configurations... | Defaults | JUnit** configuration tab:
+  * Working dir: `<SYSTEMDS_HOME>`
+  * VM options:
+    * `-ea`
+    * `-junit4`
+    * `-Djava.system.class.loader=com.intellij.rt.execution.junit.JUnitStarter`

Review comment:
       Even I do have a doubt. Only the `-ea` option seems to be fine for me. I 
shall remove the two flags.




----------------------------------------------------------------
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:
us...@infra.apache.org


Reply via email to