Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
SystemML currently has a large number of required dependencies. For certain tasks such as running algorithms using JMLC, only a subset of these dependencies are actually needed. Therefore, it should be possible to selectively build a lightweight artifact that holds only the "required" classes.
Determination of the required classes can potentially be done by querying the classloader for the classes that have been loaded after executing the operations that should be supported by the lightweight artifact. In addition, other techniques such as looking at the imports of the project's java files can be used to determine additional required classes.
This information can be fed to a maven assembly to build a lightweight jar file.