[
https://issues.apache.org/jira/browse/AVRO-3371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
radai rosenblatt updated AVRO-3371:
-----------------------------------
Description:
when building master on windows, I get the following failure in the
avro-maven-plugin java module:
{code:java}
[INFO] Running org.apache.avro.mojo.TestIDLProtocolMojo
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.2 s
<<< FAILURE! - in org.apache.avro.mojo.TestIDLProtocolMojo
[ERROR]
org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools
Time elapsed: 0.06 s <<< ERROR!
java.lang.RuntimeException:
org.apache.velocity.exception.ResourceNotFoundException: Unable to find
resource
'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
at
org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:551)
at
org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:629)
at
org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:538)
at
org.apache.avro.mojo.IDLProtocolMojo.doCompile(IDLProtocolMojo.java:107)
at
org.apache.avro.mojo.AbstractAvroMojo.compileFiles(AbstractAvroMojo.java:281)
at
org.apache.avro.mojo.AbstractAvroMojo.execute(AbstractAvroMojo.java:231)
at
org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools(TestIDLProtocolMojo.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:177)
at junit.framework.TestCase.runBare(TestCase.java:142)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:130)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at
org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:405)
at
org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54)
at
org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:362)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at
org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder$PC$1.run(ParallelComputerBuilder.java:590)
at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:157)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428)
at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)
Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to
find resource
'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
at
org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:465)
at
org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:346)
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1677)
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1656)
at
org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:314)
at
org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:549)
... 50 more {code}
this fails 2 other tests in the same module as well:
{code:java}
[ERROR] Errors:
[ERROR] TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools:68 ▒
Runtime org.ap...
[ERROR] TestProtocolMojo.testSetCompilerVelocityAdditionalTools:59 ▒ Runtime
org.apach...
[ERROR] TestSchemaMojo.testSetCompilerVelocityAdditionalTools:59 ▒ Runtime
org.apache.... {code}
the root issue as far as i can tell seems to be this velocity configuration in
SpecificCompiler:
{code:java}
private void initializeVelocity() {
...
velocityEngine.addProperty("resource.loader.file.path", "/, .");
...
} {code}
which defines 2 "root paths": "/" and "."
however, under windows and given a path of the form "C:/<whatever>" this will
try looking for either "/C:/<whatever>" or "./C:/<whatever>" - both are "wrong"
for a windows absolute path.
relevant code is in
org.apache.velocity.runtime.resource.loader.FileResourceLoader.getFile():
{code:java}
private File getFile(String path, String template) {
File file = null;
if("".equals(path)) {
file = new File( template ); <---- NEVER TAKEN
} else {
if (template.startsWith("/")) {
template = template.substring(1);
}
file = new File ( path, template );
}
return file;
}{code}
quickest fix i can think of is add "" as a 3rd possible root to velocity config
in class SpecificCompiler
was:
when building master on windows, I get the following failure in the
avro-maven-plugin java module:
```
[INFO] Running org.apache.avro.mojo.TestIDLProtocolMojo
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.2 s
<<< FAILURE! - in org.apache.avro.mojo.TestIDLProtocolMojo
[ERROR]
org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools
Time elapsed: 0.06 s <<< ERROR!
java.lang.RuntimeException:
org.apache.velocity.exception.ResourceNotFoundException: Unable to find
resource
'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
at
org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:551)
at
org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:629)
at
org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:538)
at
org.apache.avro.mojo.IDLProtocolMojo.doCompile(IDLProtocolMojo.java:107)
at
org.apache.avro.mojo.AbstractAvroMojo.compileFiles(AbstractAvroMojo.java:281)
at
org.apache.avro.mojo.AbstractAvroMojo.execute(AbstractAvroMojo.java:231)
at
org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools(TestIDLProtocolMojo.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:177)
at junit.framework.TestCase.runBare(TestCase.java:142)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:130)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at
org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:405)
at
org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54)
at
org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:362)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at
org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder$PC$1.run(ParallelComputerBuilder.java:590)
at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:157)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428)
at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)
Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to
find resource
'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
at
org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:465)
at
org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:346)
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1677)
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1656)
at
org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:314)
at
org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:549)
... 50 more
```
this fails 2 other tests in the same module as well:
```
[ERROR] Errors:
[ERROR] TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools:68 ▒
Runtime org.ap...
[ERROR] TestProtocolMojo.testSetCompilerVelocityAdditionalTools:59 ▒ Runtime
org.apach...
[ERROR] TestSchemaMojo.testSetCompilerVelocityAdditionalTools:59 ▒ Runtime
org.apache....
```
the root issue as far as i can tell seems to be this velocity configuration in
SpecificCompiler:
```java
{color:#cc7832}private void {color}{color:#ffc66d}initializeVelocity{color}() {
{color:#cc7832}...{color}{color:#cc7832}
{color}{color:#cc7832}
{color}{color:#9876aa}velocityEngine{color}.addProperty({color:#6a8759}"resource.loader.file.path"{color}{color:#cc7832},
{color}{color:#6a8759}"/, ."{color}){color:#cc7832};
{color}...}
```
which defines 2 "root paths": "/" and "."
however, under windows and given a path of the form "C:/<whatever" this will
try looking for either "/C:/<whatever>" or "./C:/<whatever>" - both are "wrong"
for a windows absolute path.
relevant code is in
org.apache.velocity.runtime.resource.loader.FileResourceLoader.getFile():
```java
{color:#cc7832}private {color}File {color:#ffc66d}getFile{color}(String
path{color:#cc7832}, {color}String template) {
File file = {color:#cc7832}null;{color}{color:#cc7832}
{color}{color:#cc7832} if{color}({color:#6a8759}""{color}.equals(path)) {
file = {color:#cc7832}new {color}File( template ){color:#cc7832}; <----
NEVER TAKEN
{color}{color:#cc7832} {color}} {color:#cc7832}else{color} {
{color:#cc7832}if {color}(template.startsWith({color:#6a8759}"/"{color})) {
template = template.substring({color:#6897bb}1{color}){color:#cc7832};
{color}{color:#cc7832} {color}}
file = {color:#cc7832}new {color}File ( path{color:#cc7832}, {color}template
){color:#cc7832};
{color}{color:#cc7832} {color}}
{color:#cc7832}return {color}file{color:#cc7832};
{color}}
```
quickest fix i can think of is add "" as a 3rd possible root to velocity config
in class SpecificCompiler
> velocity fails to find file by absolute path on windows
> -------------------------------------------------------
>
> Key: AVRO-3371
> URL: https://issues.apache.org/jira/browse/AVRO-3371
> Project: Apache Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.11.0
> Reporter: radai rosenblatt
> Priority: Major
>
> when building master on windows, I get the following failure in the
> avro-maven-plugin java module:
> {code:java}
> [INFO] Running org.apache.avro.mojo.TestIDLProtocolMojo
> [ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.2 s
> <<< FAILURE! - in org.apache.avro.mojo.TestIDLProtocolMojo
> [ERROR]
> org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools
> Time elapsed: 0.06 s <<< ERROR!
> java.lang.RuntimeException:
> org.apache.velocity.exception.ResourceNotFoundException: Unable to find
> resource
> 'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
> at
> org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:551)
> at
> org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:629)
> at
> org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:538)
> at
> org.apache.avro.mojo.IDLProtocolMojo.doCompile(IDLProtocolMojo.java:107)
> at
> org.apache.avro.mojo.AbstractAvroMojo.compileFiles(AbstractAvroMojo.java:281)
> at
> org.apache.avro.mojo.AbstractAvroMojo.execute(AbstractAvroMojo.java:231)
> at
> org.apache.avro.mojo.TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools(TestIDLProtocolMojo.java:68)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at junit.framework.TestCase.runTest(TestCase.java:177)
> at junit.framework.TestCase.runBare(TestCase.java:142)
> at junit.framework.TestResult$1.protect(TestResult.java:122)
> at junit.framework.TestResult.runProtected(TestResult.java:142)
> at junit.framework.TestResult.run(TestResult.java:125)
> at junit.framework.TestCase.run(TestCase.java:130)
> at junit.framework.TestSuite.runTest(TestSuite.java:241)
> at junit.framework.TestSuite.run(TestSuite.java:236)
> at
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:27)
> at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:27)
> at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> at
> org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:405)
> at
> org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54)
> at
> org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:362)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> at
> org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder$PC$1.run(ParallelComputerBuilder.java:590)
> at
> org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:157)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428)
> at
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
> at
> org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)
> Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to
> find resource
> 'C:\Users\radai\work\avro\lang\java\maven-plugin/src/test/resources/templates/enum.vm'
> at
> org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:465)
> at
> org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:346)
> at
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1677)
> at
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1656)
> at
> org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:314)
> at
> org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:549)
> ... 50 more {code}
> this fails 2 other tests in the same module as well:
> {code:java}
> [ERROR] Errors:
> [ERROR] TestIDLProtocolMojo.testSetCompilerVelocityAdditionalTools:68 ▒
> Runtime org.ap...
> [ERROR] TestProtocolMojo.testSetCompilerVelocityAdditionalTools:59 ▒
> Runtime org.apach...
> [ERROR] TestSchemaMojo.testSetCompilerVelocityAdditionalTools:59 ▒ Runtime
> org.apache.... {code}
> the root issue as far as i can tell seems to be this velocity configuration
> in SpecificCompiler:
> {code:java}
> private void initializeVelocity() {
> ...
> velocityEngine.addProperty("resource.loader.file.path", "/, .");
> ...
> } {code}
> which defines 2 "root paths": "/" and "."
> however, under windows and given a path of the form "C:/<whatever>" this will
> try looking for either "/C:/<whatever>" or "./C:/<whatever>" - both are
> "wrong" for a windows absolute path.
>
> relevant code is in
> org.apache.velocity.runtime.resource.loader.FileResourceLoader.getFile():
> {code:java}
> private File getFile(String path, String template) {
> File file = null;
> if("".equals(path)) {
> file = new File( template ); <---- NEVER TAKEN
> } else {
> if (template.startsWith("/")) {
> template = template.substring(1);
> }
> file = new File ( path, template );
> }
> return file;
> }{code}
> quickest fix i can think of is add "" as a 3rd possible root to velocity
> config in class SpecificCompiler
--
This message was sent by Atlassian Jira
(v8.20.1#820001)