Skip to content

Commit 957158d

Browse files
zhiyanliusriram-mv
authored andcommitted
fix: match correct java version when only major version provided (#104) (#105)
1 parent 8729f21 commit 957158d

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

aws_lambda_builders/workflows/java_maven/maven_validator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def validated_binary_path(self):
4343
def _get_major_version(self, maven_path):
4444
vs = self._get_jvm_string(maven_path)
4545
if vs:
46-
m = re.search(r'Java version:\s+(\d.*)', vs)
46+
m = re.search(r'Java version:\s+([\d\.]+)', vs)
4747
version = m.group(1).split('.')
4848
# For Java 8 or earlier, version strings begin with 1.{Major Version}
4949
if version[0] == '1':

tests/unit/workflows/java_maven/test_maven_validator.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ def test_accepts_any_jvm_mv(self, version):
3939
self.assertTrue(validator.validate(maven_path=self.maven_path))
4040
self.assertEqual(validator.validated_binary_path, self.maven_path)
4141

42+
@parameterized.expand([
43+
'12'
44+
])
45+
def test_accepts_major_version_only_jvm_mv(self, version):
46+
version_string = ('Java version: %s, vendor: Oracle Corporation' % version).encode()
47+
self.mock_os_utils.popen.side_effect = [FakePopen(stdout=version_string)]
48+
validator = MavenValidator(os_utils=self.mock_os_utils)
49+
self.assertTrue(validator.validate(maven_path=self.maven_path))
50+
self.assertEqual(validator.validated_binary_path, self.maven_path)
51+
4252
def test_emits_warning_when_jvm_mv_greater_than_8(self):
4353
version_string = 'Java version: 10.0.1, vendor: Oracle Corporation'.encode()
4454
self.mock_os_utils.popen.side_effect = [FakePopen(stdout=version_string)]

0 commit comments

Comments
 (0)