Commit 9a0a75d 1 parent 50a56ed commit 9a0a75d Copy full SHA for 9a0a75d
File tree 1 file changed +12
-5
lines changed
detectable/src/main/java/com/blackduck/integration/detectable/detectables/yarn
1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change 2
2
3
3
import com .blackduck .integration .bdio .graph .builder .LazyIdSource ;
4
4
import com .blackduck .integration .util .NameVersion ;
5
- import java .util .Comparator ;
6
- import java .util .List ;
7
- import java .util .Optional ;
5
+ import java .util .*;
6
+ import java .util .regex .*;
8
7
9
8
public class VersionUtility {
10
9
@@ -20,7 +19,15 @@ Version buildVersion(String version) {
20
19
sb .append (cleanVersion .charAt (i ));
21
20
}
22
21
}
23
- return new Version (sb .toString ().split ("\\ ." , 3 ));
22
+ Matcher matcher = Pattern .compile ("(\\ d+(?:\\ .\\ d+)+)(?!.*\\ d+\\ .\\ d+)" ).matcher (sb .toString ());
23
+ List <String > parts = new ArrayList <>();
24
+ if (matcher .find ()) {
25
+ Matcher versionMatcher = Pattern .compile ("(\\ d+)" ).matcher (matcher .group (1 ));
26
+ while (parts .size () < 3 && versionMatcher .find ()) {
27
+ parts .add (versionMatcher .group ());
28
+ }
29
+ }
30
+ return new Version (parts .toArray (new String [0 ]));
24
31
}
25
32
26
33
Optional <String > resolveYarnVersion (List <Version > versionList , String version ) {
@@ -167,4 +174,4 @@ Optional<NameVersion> getNameVersion(String dependencyIdString) {
167
174
}
168
175
return Optional .empty ();
169
176
}
170
- }
177
+ }
You can’t perform that action at this time.
0 commit comments