Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2566#discussion_r170358164
--- Diff: storm-client/src/jvm/org/apache/storm/utils/Utils.java ---
@@ -1505,35 +1508,36 @@ public static StormTopology
addVersions(StormTopology topology) {
Map<String, Object> defaultsConf = null;
Map<String, Object> stormConf = null;
for (String part: cp) {
- File f = new File(part);
- if (f.isDirectory()) {
- if (defaultsConf == null) {
- defaultsConf = readConfIgnoreNotFound(yaml, new
File(f, "defaults.yaml"));
- }
-
- if (stormConf == null) {
- stormConf = readConfIgnoreNotFound(yaml, new File(f,
"storm.yaml"));
+ String wildcardSuffix = File.separator + "*";
+ if (part.endsWith(wildcardSuffix)) {
+ // wildcard is given
+ // in java classpath, '*' is translated to '*.jar'
+ File dir = new File(part.substring(0, part.length() -
wildcardSuffix.length()));
+ File[] jarFiles = dir.listFiles((dir1, name) ->
name.endsWith(".jar"));
+
+ if (jarFiles != null) {
--- End diff --
Hmm... yes. Are we better to throw some exception when `dir.listFiles()`
returns null? Or do we just ignore weird case and get rid of null check?
---