You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Will Glass-Husain (JIRA)" <ji...@apache.org> on 2007/10/07 01:59:50 UTC

[jira] Resolved: (TEXEN-13) Generator.parse fails, if the outputfile points to a directory, that does not exist.

     [ https://issues.apache.org/jira/browse/TEXEN-13?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Will Glass-Husain resolved TEXEN-13.
------------------------------------

    Resolution: Fixed

Hi,

I added your first suggestion -- move the creation of the generator into a protected method, allowing it to be overridden.

I'm not sure about the idea of creating directories.  For one thing, this only creates one level -- what if multiple parts of the path are invalid.

I'm going to resolve the issue.  If you want to reopen and discuss, that's fine.  It'd be useful if you could point to other libraries which do this (create parent directories or trees of directories) when trying to write a file.  Most ant tasks I've called don't.  (they give an error that the path doesn't exist).

> Generator.parse fails, if the outputfile points to a directory, that does not exist.
> ------------------------------------------------------------------------------------
>
>                 Key: TEXEN-13
>                 URL: https://issues.apache.org/jira/browse/TEXEN-13
>             Project: Texen
>          Issue Type: Bug
>            Reporter: Sebastian Zarnekow
>
> The Texentask generates the outputdirectory, if it does not exist, but the Generator-Implementation lacks this feature for control templates like the following:
> # control.vm
> $generator.parse("myTemplate.vm", "subdirectory/myTemplate.out")
> So either allow subclasses of TexenTask to use another Generator (1), or change the implementation of getWriter to allow the Generator to create absent directories(2).
> (1)
> line 486:
> Generator generator = createGenerator();
> protected Generator createGenerator() {
>   return Generator.getInstance();
> }
> (2)
> public Writer getWriter(final String path, final String encoding) throws Exception {
>   final File f = new File(path).getParentFile();
>   if (!f.exists()) {
>     f.mkdirs();
>   }
>   ..
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org