Hi Niketan,
I've actually dealt with the same problem before (using SystemML as a
dependency) and i think this would be a good time to bring up
modularization of the project again. Given that we plan to distribute
the linear algebra libraries as a separate jar, I think modularization
can help us achieve multiple goals here while making it easier to deal
with the project in general (especially now that we have a mix of
Python, Scala, Java, GPU-stuff, etc. in it).
With modules, we can distribute a systemml-core or systemml-linalg
dependency for projects that only want to use parts of SystemML and not
the GPU, DSL and other components as dependencies. It should also make
it easer to build the project (allow to only build submodules during
development --> quicker). I understand the decision to have everything
in one module was made previously because the need for multiple
submodules wasn't there but maybe it's time to think again.
For a possible structure we could look at other projects (such as spark)
for ideas of how to organize it.
- Felix
Am 06.01.2017 20:49 schrieb Niketan Pansare:
Hi all,
I recently got a request from one of our users to compile a fat
SystemML
jar that he can include in his Java project.
Here are possible options:
1. Compiling a fat jar using the following command and including it as
"system" dependency:
mvn clean package -P standalone-jar
2. If the project is using maven, it's probably good to use a
maven-centric
approach:
<dependency>
<groupId>org.apache.systemml</groupId>
<artifactId>systemml</artifactId>
<version>0.12.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.10</artifactId>
<version>1.4.1</version>
</dependency>
Since other users might have similar requirements, I thought of moving
the
discussion to the dev mailing list. Also, this thread might be a good
place
to explain other maven profiles :)
Thanks,
Niketan Pansare
IBM Almaden Research Center
E-mail: npansar At us.ibm.com
http://researcher.watson.ibm.com/researcher/view.php?person=us-npansar