Github user chinmaykolhatkar commented on a diff in the pull request:
https://github.com/apache/incubator-apex-core/pull/311#discussion_r60265869
--- Diff: api/src/main/java/com/datatorrent/api/StreamingApplication.java
---
@@ -47,6 +47,12 @@
String ENVIRONMENT = DT_PREFIX + "environment";
/**
+ * Use this config variable to to add any external library to classpath
for the DAG.
+ * Value of this variable is same as
StramAppLauncher.LIBJARS_CONF_KEY_NAME.
+ */
+ String LIBJARS_CONF_KEY_NAME = "tmplibjars";
--- End diff --
Hmmm.. got your point and agree with you.. I find attribute as a better
place than properties for such configuration.
Here is my suggestion about exposing this as an attribute:
1. Have a attribute in DAGContext:
Attribute<Map<String, Boolean>> APP_EXTERNAL_JARS = new Attribute<Map<,
>(new Map2String<String, Boolean>(",", "=", new String2String<>(), new
String2String<>()));
2. We pick up this attribute in following places:
a. For cluster mode: StramAppLauncher.launchApp
b. For local mode (apex cli) : StramAppLauncher.runLocal
c. For local mode (ApplicationTest): LocalModeImpl.getController
3. For individual approaches, jar becomes available from that point onwards.
Can you share though on above approach?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---