Skip to content

Commit 1301bcb

Browse files
authored
Merge pull request #3345 from branfosj/20200524203105_new_pr_vFjjVRikcW
Do not try to set *minver when the dep does not have one - i.e. the Java wrapper
2 parents 870fdb6 + d93124d commit 1301bcb

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

easybuild/framework/easyconfig/templates.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,8 @@ def template_constant_dict(config, ignore=None, skip_lower=None, toolchain=None)
245245
template_values['%sver' % pref] = dep_version
246246
dep_version_parts = dep_version.split('.')
247247
template_values['%smajver' % pref] = dep_version_parts[0]
248-
template_values['%sminver' % pref] = dep_version_parts[1]
248+
if len(dep_version_parts) > 1:
249+
template_values['%sminver' % pref] = dep_version_parts[1]
249250
template_values['%sshortver' % pref] = '.'.join(dep_version_parts[:2])
250251
break
251252

test/framework/easyconfig.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,6 +1027,29 @@ def test_templating(self):
10271027
ec = EasyConfig(test_ec)
10281028
self.assertEqual(ec['sanity_check_commands'], ['mpiexec -np 1 -- toy'])
10291029

1030+
def test_java_wrapper_templating(self):
1031+
"""test templating when the Java wrapper is a dep"""
1032+
self.contents = '\n'.join([
1033+
'easyblock = "ConfigureMake"',
1034+
'name = "pi"',
1035+
'version = "3.14"',
1036+
'homepage = "https://example.com"',
1037+
'description = "test easyconfig"',
1038+
'toolchain = {"name":"GCC", "version": "4.6.3"}',
1039+
'dependencies = [("Java", "11", "", True)]',
1040+
'modloadmsg = "Java: %(javaver)s, %(javamajver)s, %(javashortver)s"',
1041+
])
1042+
self.prep()
1043+
eb = EasyConfig(self.eb_file)
1044+
1045+
# no %(javaminver)s because there is no minor version for Java
1046+
self.assertEqual(eb.template_values['javaver'], '11')
1047+
self.assertEqual(eb.template_values['javamajver'], '11')
1048+
self.assertEqual(eb.template_values['javashortver'], '11')
1049+
self.assertFalse('javaminver' in eb.template_values)
1050+
1051+
self.assertEqual(eb['modloadmsg'], "Java: 11, 11, 11")
1052+
10301053
def test_templating_doc(self):
10311054
"""test templating documentation"""
10321055
doc = avail_easyconfig_templates()

0 commit comments

Comments
 (0)