You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by du...@apache.org on 2016/03/16 19:35:29 UTC

incubator-systemml git commit: [SYSTEMML-545] Document Scala build support in Eclipse.

Repository: incubator-systemml
Updated Branches:
  refs/heads/master 7ce19c809 -> 2e378cbe4


[SYSTEMML-545] Document Scala build support in Eclipse.

Closes #89.


Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/2e378cbe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/2e378cbe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/2e378cbe

Branch: refs/heads/master
Commit: 2e378cbe4909af754862cbb512d1c855dabd80ce
Parents: 7ce19c8
Author: Glenn Weidner <gw...@us.ibm.com>
Authored: Wed Mar 16 11:32:07 2016 -0700
Committer: Mike Dusenberry <mw...@us.ibm.com>
Committed: Wed Mar 16 11:32:07 2016 -0700

----------------------------------------------------------------------
 docs/_layouts/global.html                     |   1 +
 docs/developer-tools-systemml.md              |  75 +++++++++++++++++++++
 docs/img/developer-tools/about-eclipse.png    | Bin 0 -> 54340 bytes
 docs/img/developer-tools/eclipse-details.png  | Bin 0 -> 26749 bytes
 docs/img/developer-tools/eclipse-scala.png    | Bin 0 -> 51336 bytes
 docs/img/developer-tools/maven-connectors.png | Bin 0 -> 33853 bytes
 docs/img/developer-tools/maven-scala.png      | Bin 0 -> 24342 bytes
 docs/img/developer-tools/pom-scala-errors.png | Bin 0 -> 21605 bytes
 docs/img/developer-tools/pom-scala-ignore.png | Bin 0 -> 38244 bytes
 docs/img/developer-tools/scala-components.png | Bin 0 -> 27286 bytes
 docs/img/developer-tools/scala-nature.png     | Bin 0 -> 3772 bytes
 docs/index.md                                 |   1 +
 12 files changed, 77 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/_layouts/global.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/global.html b/docs/_layouts/global.html
index 4a59212..c359559 100644
--- a/docs/_layouts/global.html
+++ b/docs/_layouts/global.html
@@ -58,6 +58,7 @@
                                 <li class="divider"></li>
                                 <li><b>Tools:</b></li>
                                 <li><a href="debugger-guide.html">Debugger Guide</a></li>
+                                <li><a href="developer-tools-systemml.html">IDE Guide</a></li>
                                 <li class="divider"></li>
                                 <li><b>Other:</b></li>
                                 <li><a href="contributing-to-systemml.html">Contributing to SystemML</a></li>

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/developer-tools-systemml.md
----------------------------------------------------------------------
diff --git a/docs/developer-tools-systemml.md b/docs/developer-tools-systemml.md
new file mode 100644
index 0000000..d874393
--- /dev/null
+++ b/docs/developer-tools-systemml.md
@@ -0,0 +1,75 @@
+---
+layout: global
+displayTitle: SystemML Developer Tools
+title: SystemML Developer Tools
+description: SystemML Developer Tools
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+Useful Tools for Developing SystemML:
+
+* This will become a table of contents (this text will be scraped).
+{:toc}
+
+
+## Eclipse
+
+Eclipse [Luna SR2](https://eclipse.org/downloads/packages/release/luna/sr2) can be used for an integrated development development environment with SystemML code.  Maven integration is required which is included in the [Eclipse IDE for Java Developers](https://eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2) package.
+
+To get started in Eclipse, import SystemML's pom.xml file as an existing Maven project.  After import is completed, the resulting Eclipse installation should include two maven connectors.
+
+![About Eclipse](img/developer-tools/about-eclipse.png "About Eclipse")
+
+![Eclipse Details](img/developer-tools/eclipse-details.png "Eclipse Details")
+
+
+## Eclipse with Scala
+
+An additional Maven connector is required for working with Scala code in Eclipse.  The [Maven Integration for Scala IDE](http://scala-ide.org/docs/tutorials/m2eclipse/) plugin can be installed into Eclipse from [this](http://alchim31.free.fr/m2e-scala/update-site/) update site.  
+
+![Maven Scala Integration](img/developer-tools/maven-scala.png "Maven Scala Integration")
+
+![Installed Maven Connectors](img/developer-tools/maven-connectors.png "Installed Maven Connectors")
+<br></br>
+The [Scala IDE 4.0.0 plugin for Eclipse](http://scala-ide.org/download/prev-stable.html) is known to work for mixed Java and Scala development in [Eclipse IDE for Java Developers Luna SR2](https://eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2).  <b>Release 4.0.0</b> of the Scala IDE for Eclipse plugin can be downloaded [here](http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site_assembly-20150305-1905.zip) and then installed through Eclipse's 'Install New Software' menu item.  Only the Scala IDE and ScalaTest components are needed.
+
+![Scala IDE Components](img/developer-tools/scala-components.png "Scala IDE Components")
+
+![Eclipse Scala Details](img/developer-tools/eclipse-scala.png "Eclipse Scala Details")
+
+Note the corresponding Eclipse project needs to include the Scala nature.  Typically this occurs automatically during project import but also can be invoked directly by right clicking on the systemml project node in the Eclipse Package Explorer view.
+
+![Add Scala Nature](img/developer-tools/scala-nature.png "Add Scala Nature")
+
+
+## Eclipse Java Only (How to skip Scala)
+
+Since the core SystemML code is written in Java, developers may prefer not to use Eclipse in a mixed Java/Scala environment.  To configure Eclipse to skip the Scala code of SystemML and avoid installing any Scala-related components, Maven lifecycle mappings can be created.  The simplest way to create these mappings is to use Eclipse's quick fix option to resolve the following pom.xml errors which occur if Maven Integration for Scala is not present.
+
+![Scala pom errors](img/developer-tools/pom-scala-errors.png "Scala pom errors")
+
+![Scala pom ignore](img/developer-tools/pom-scala-ignore.png "Scala pom Quick Fix")
+
+The lifecycle mappings are stored in a workspace metadata file as specified in Eclipse's Maven Lifecycle Mappings Preferences page.  The pom.xml file itself is unchanged which allows the Scala portion to be built outside of Eclipse using mvn command line.
+
+
+## IntelliJ
+
+IntelliJ can also be used since it provides good support for mixed Java and Scala projects as described [here](https://cwiki.apache.org/confluence/display/SPARK/Useful+Developer+Tools#UsefulDeveloperTools-IntelliJ).

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/about-eclipse.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/about-eclipse.png b/docs/img/developer-tools/about-eclipse.png
new file mode 100644
index 0000000..a850c6c
Binary files /dev/null and b/docs/img/developer-tools/about-eclipse.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/eclipse-details.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/eclipse-details.png b/docs/img/developer-tools/eclipse-details.png
new file mode 100644
index 0000000..f33bc6c
Binary files /dev/null and b/docs/img/developer-tools/eclipse-details.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/eclipse-scala.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/eclipse-scala.png b/docs/img/developer-tools/eclipse-scala.png
new file mode 100644
index 0000000..319cacc
Binary files /dev/null and b/docs/img/developer-tools/eclipse-scala.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/maven-connectors.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/maven-connectors.png b/docs/img/developer-tools/maven-connectors.png
new file mode 100644
index 0000000..83a2e87
Binary files /dev/null and b/docs/img/developer-tools/maven-connectors.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/maven-scala.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/maven-scala.png b/docs/img/developer-tools/maven-scala.png
new file mode 100644
index 0000000..d2ca04c
Binary files /dev/null and b/docs/img/developer-tools/maven-scala.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/pom-scala-errors.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/pom-scala-errors.png b/docs/img/developer-tools/pom-scala-errors.png
new file mode 100644
index 0000000..3b9455e
Binary files /dev/null and b/docs/img/developer-tools/pom-scala-errors.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/pom-scala-ignore.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/pom-scala-ignore.png b/docs/img/developer-tools/pom-scala-ignore.png
new file mode 100644
index 0000000..a3b0e8b
Binary files /dev/null and b/docs/img/developer-tools/pom-scala-ignore.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/scala-components.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/scala-components.png b/docs/img/developer-tools/scala-components.png
new file mode 100644
index 0000000..773a5e3
Binary files /dev/null and b/docs/img/developer-tools/scala-components.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/img/developer-tools/scala-nature.png
----------------------------------------------------------------------
diff --git a/docs/img/developer-tools/scala-nature.png b/docs/img/developer-tools/scala-nature.png
new file mode 100644
index 0000000..1b2df19
Binary files /dev/null and b/docs/img/developer-tools/scala-nature.png differ

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/2e378cbe/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/index.md b/docs/index.md
index 341aaa2..b9e8511 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -79,4 +79,5 @@ machine learning algorithms included with SystemML in detail.
 
 * [Debugger Guide](debugger-guide.html) - SystemML supports DML script-level debugging through a
 command-line interface.
+* [IDE Guide](developer-tools-systemml.html) - Useful IDE Guide for Developing SystemML.