aboutsummaryrefslogtreecommitdiff
path: root/src/steps/process.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/steps/process.xsl')
-rw-r--r--src/steps/process.xsl19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/steps/process.xsl b/src/steps/process.xsl
index 29599f4..67c7f24 100644
--- a/src/steps/process.xsl
+++ b/src/steps/process.xsl
@@ -28,6 +28,14 @@
)/self::command/@result"/>
</xsl:template>
+<xsl:template name="create_directory">
+ <xsl:param name="path"/>
+
+ <xsl:value-of select="InputXSLT:external-command(
+ concat('mkdir --parents ./', $path)
+ )/self::command/@result"/>
+</xsl:template>
+
<xsl:template name="clean">
<xsl:param name="path"/>
@@ -268,4 +276,15 @@
</xsl:copy>
</xsl:template>
+<xsl:template match="task[@type = 'directory']">
+ <xsl:copy>
+ <xsl:attribute name="result">
+ <xsl:call-template name="create_directory">
+ <xsl:with-param name="path" select="path"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:copy-of select="@* | node()"/>
+ </xsl:copy>
+</xsl:template>
+
</xsl:stylesheet>