[ 
https://issues.apache.org/jira/browse/SLING-6445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15805113#comment-15805113
 ] 

ASF GitHub Bot commented on SLING-6445:
---------------------------------------

GitHub user vladbailescu opened a pull request:

    https://github.com/apache/sling/pull/196

    SLING-6445 - HTL scripts do not compile on Windows if the compiler needs to 
generate any warnings

    * Improved error/warning line and column computation to take into account 
any possible line separator
    * Added test cases and files with different line separators
    * Added PowerMockito dependency to be able to mock System#lineSeparator 
static method

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vladbailescu/sling issue/SLING-6445

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/sling/pull/196.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #196
    
----

----


> HTL scripts do not compile on Windows if the compiler needs to generate any 
> warnings
> ------------------------------------------------------------------------------------
>
>                 Key: SLING-6445
>                 URL: https://issues.apache.org/jira/browse/SLING-6445
>             Project: Sling
>          Issue Type: Bug
>          Components: Scripting
>    Affects Versions: Scripting Sightly Engine 1.0.18
>            Reporter: Vlad Bailescu
>            Priority: Critical
>
> If an HTL script with potential warnings is compiled on Windows, the compiler 
> will fail with a NPE like:
> {code}
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>       at java.lang.String.substring(Unknown Source)
>       at 
> org.apache.sling.scripting.sightly.compiler.SightlyCompiler.getScriptError(SightlyCompiler.java:170)
>       at 
> org.apache.sling.scripting.sightly.compiler.SightlyCompiler.compile(SightlyCompiler.java:149)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.internalCompile(SightlyScriptEngine.java:135)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.compile(SightlyScriptEngine.java:80)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.extension.use.RenderUnitProvider.provide(RenderUnitProvider.java:126)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.extension.use.UseRuntimeExtension.call(UseRuntimeExtension.java:72)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl.call(RenderContextImpl.java:75)
> {code}
> The compiler assumes that system line separators are being used in the files, 
> which most of the times is not happening as the scripts might have been 
> edited on another system.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to