When user library is imported in user application Hubitat appends comment with library name and line number to each imported library line. Unfortunately this also applies to each line of multiline string, which results in modified multiline string.
Following example user library and app should demonstrate this problem.
library
library(
author: 'bug reporter',
category: 'hubitat bugs',
description: 'demonstrates a bug',
name: 'LibMultilineStringBug',
namespace: 'hubitat.bugs.library.multilineString',
documentationLink: ''
)
import groovy.transform.Field
@Field String problemString = '''first
one
two
three
last''';
app
definition(
name: 'LibMultilineStringBug app',
namespace: 'hubitat.bugs.library.multilineString',
author: 'bug reporter',
category: 'hubitat bugs',
description: 'demonstrates a bug',
iconUrl: '',
iconX2Url: '',
)
preferences {
page(name: 'mainPage', title: 'bug demo', install: true, uninstall: true) {
section {
paragraph(problemString);
}
}
}
void installed() {
}
void updated() {
}
void uninstalled() {
}
#include hubitat.bugs.library.multilineString.LibMultilineStringBug
Download of complete app code contains following part
String problemString = '''first // library marker hubitat.bugs.library.multilineString.LibMultilineStringBug, line 12
one // library marker hubitat.bugs.library.multilineString.LibMultilineStringBug, line 13
two // library marker hubitat.bugs.library.multilineString.LibMultilineStringBug, line 14
three // library marker hubitat.bugs.library.multilineString.LibMultilineStringBug, line 15
last'''; // library marker hubitat.bugs.library.multilineString.LibMultilineStringBug, line 16