ant.xsl 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:Types__x3A__ant="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd"
  5. xmlns:Types__x3A__POPC="https://biuro.biall-net.pl/wfs/default_db/Types/POPC.xsd"
  6. xmlns:Types__x3A__wfs="https://biuro.biall-net.pl/wfs/default_db/Types/wfs.xsd"
  7. exclude-result-prefixes="xs"
  8. version="2.0">
  9. <xsl:param name="wget" select="'/opt/local/bin/wget'"/>
  10. <xsl:param name="csv2xml" select="'/opt/local/bin/csv2xml'"/>
  11. <xsl:param name="curl" select="'/opt/local/bin/curl'"/>
  12. <xsl:param name="Types__x3A__wfs:username" required="yes" />
  13. <xsl:param name="Types__x3A__wfs:username-pass" required="yes" />
  14. <xsl:output indent="yes"/>
  15. <!-- template do tworzenia szybkich zorganizowanych skryptow do budowy czegos np sciagania danych wget -->
  16. <xsl:template match="project[@basedir and @name and @poprawione_xml_dir]" mode="Types__x3A__ant:project" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  17. <xsl:param name="default" select="'DEFAULT'"/>
  18. <xsl:variable name="basedir" select="@basedir"/>
  19. <xsl:variable name="name" select="@name"/>
  20. <!-- taski do przetworzenia w templates-->
  21. <project basedir="." name="{@name}" default="{$default}" >
  22. <mkdir dir="{$basedir}" />
  23. <xsl:if test="@poprawione_xml_dir"><mkdir dir="{@poprawione_xml_dir}" /></xsl:if>
  24. <xsl:for-each select="@mkdir">
  25. <mkdir dir="{.}"/>
  26. </xsl:for-each>
  27. <xsl:apply-templates mode="Types__x3A__ant:tasks">
  28. <xsl:with-param name="basedir" select="$basedir"/>
  29. <xsl:with-param name="poprawione_xml_dir" select="@poprawione_xml_dir"/>
  30. </xsl:apply-templates>
  31. <xsl:variable name="dependency"><xsl:apply-templates mode="Types__x3A__ant:tasks_dependencies"/></xsl:variable>
  32. <!--<debug><xsl:copy-of select="$dependency"></xsl:copy-of></debug>-->
  33. <xsl:element name="target">
  34. <xsl:attribute name="name" select="$default"/>
  35. <xsl:attribute name="depends">
  36. <xsl:for-each select="$dependency//text()">
  37. <xsl:value-of select="."/>
  38. <xsl:if test="position()!=last()">,</xsl:if>
  39. </xsl:for-each>
  40. </xsl:attribute>
  41. <echo message="Target complete"/>
  42. </xsl:element>
  43. </project>
  44. </xsl:template>
  45. <xsl:template match="project" mode="Types__x3A__ant:project" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  46. <xsl:message terminate="yes">ERROR not all requred attributes set! </xsl:message>
  47. </xsl:template>
  48. <xsl:template match="wget" mode="Types__x3A__ant:tasks" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  49. <xsl:param name="basedir" select="'.'"/>
  50. <target name="{@Target_file}_check">
  51. <echo message="Check for {@Target_file}"/>
  52. <condition property="{@Target_file}_install" value="AVIABLE" taskname="DEFAULT">
  53. <available type="file" file="{@Target_file}" filepath="{$basedir}"/>
  54. </condition>
  55. </target>
  56. <target name="{@Target_file}_install" unless="{@Target_file}_install">
  57. <exec executable="{$wget}" dir="{$basedir}">
  58. <arg value="{@Target}"/>
  59. <arg value="-O"/>
  60. <arg value="{@Target_file}"/>
  61. </exec>
  62. </target>
  63. </xsl:template>
  64. <xsl:template match="curl_post_wfst" mode="Types__x3A__ant:tasks" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  65. <xsl:param name="basedir" select="'.'"/>
  66. <xsl:param name="poprawione_xml_dir" required="yes"/>
  67. <target name="{@Target_file}_check">
  68. <echo message="Check for {@Target_file}"/>
  69. <condition property="{@Target_file}_install" value="AVIABLE" taskname="DEFAULT">
  70. <available type="file" file="{@Target_file}" filepath="{$poprawione_xml_dir}"/>
  71. </condition>
  72. </target>
  73. <target name="{@Target_file}_install" unless="{@Target_file}_install">
  74. <exec executable="{$curl}" dir="{$basedir}" failonerror="true">
  75. <arg value="-X"/>
  76. <arg value="POST"/>
  77. <arg value="--user"/>
  78. <arg><xsl:attribute name="value" select="concat($Types__x3A__wfs:username,':',$Types__x3A__wfs:username-pass)"/></arg>
  79. <arg value="-d"/>
  80. <arg value="@{@Target_file}"/>
  81. <arg value="{@Target}"/>
  82. <!--<arg value="-\-user {$Types__x3A__wfs:username}:{$Types__x3A__wfs:username-pass} "/>-->
  83. <arg value="-v"/>
  84. <arg value="--insecure"/>
  85. <!--<arg value="-O"/>
  86. <arg value="{@Target_file}"/>-->
  87. </exec>
  88. <touch file="{$poprawione_xml_dir}/{@Target_file}"/>
  89. </target>
  90. </xsl:template>
  91. <xsl:template match="csv2xml[@csvfile and @xmlfile ]" mode="Types__x3A__ant:tasks" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  92. <xsl:param name="basedir" select="'.'"/>
  93. <xsl:param name="poprawione_xml_dir" required="yes"/>
  94. <target name="{@xmlfile}_csv2xml_check">
  95. <echo message="Check for {@xmlfile}"/>
  96. <condition property="{@xmlfile}_csv2xml_install" value="AVIABLE" taskname="DEFAULT">
  97. <available type="file" file="{@xmlfile}" filepath="{$basedir}"/>
  98. </condition>
  99. </target>
  100. <target name="{@xmlfile}_csv2xml_install" unless="{@xmlfile}_csv2xml_install">
  101. <exec executable="{$csv2xml}" dir="{$basedir}" input="{$basedir}/{@csvfile}" output="{$basedir}/{@xmlfile}"/>
  102. <echo message=" Poprawiam plik XML aby mial znanczik xml oraz element root"/>
  103. <concat destfile="{$poprawione_xml_dir}/{@xmlfile}" append="false" encoding="UTF-8" >
  104. <string>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  105. &lt;root&gt;</string>
  106. <file file="{$basedir}/{@xmlfile}"/>
  107. <string>&lt;/root&gt;</string>
  108. </concat>
  109. </target>
  110. </xsl:template>
  111. <xsl:template match="csv2xml" mode="Types__x3A__ant:tasks" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  112. <xsl:message terminate="yes">Error not typed all [@csvfile and @xmlfile] attributes to <xsl:copy-of select="."/></xsl:message>
  113. </xsl:template>
  114. <xsl:template match="wget" mode="Types__x3A__ant:tasks_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  115. <xsl:apply-templates select="@*" mode="Types__x3A__ant:tasks_wget_dependencies"/>
  116. </xsl:template>
  117. <xsl:template match="csv2xml" mode="Types__x3A__ant:tasks_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  118. <xsl:apply-templates select="@*" mode="Types__x3A__ant:tasks_csv2xml_dependencies"/>
  119. </xsl:template>
  120. <xsl:template match="curl_post_wfst" mode="Types__x3A__ant:tasks_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  121. <xsl:apply-templates select="@*" mode="Types__x3A__ant:tasks_curl_post_wfst_dependencies"/>
  122. </xsl:template>
  123. <xsl:template match="*" mode="Types__x3A__ant:tasks_dependencies Types__x3A__ant:tasks_wget_dependencies Types__x3A__ant:tasks_csv2xml_dependencies Types__x3A__ant:tasks_curl_post_wfst_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd"/>
  124. <xsl:template match="@Target_file" mode="Types__x3A__ant:tasks_wget_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  125. <dependency><xsl:value-of select="concat(.,'_check')"/></dependency>
  126. <dependency><xsl:value-of select="concat(.,'_install')"/></dependency>
  127. </xsl:template>
  128. <xsl:template match="@Target_file" mode="Types__x3A__ant:tasks_curl_post_wfst_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  129. <dependency><xsl:value-of select="concat(.,'_check')"/></dependency>
  130. <dependency><xsl:value-of select="concat(.,'_install')"/></dependency>
  131. </xsl:template>
  132. <xsl:template match="@xmlfile" mode="Types__x3A__ant:tasks_csv2xml_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd">
  133. <dependency><xsl:value-of select="concat(.,'_csv2xml_check')"/></dependency>
  134. <dependency><xsl:value-of select="concat(.,'_csv2xml_install')"/></dependency>
  135. </xsl:template>
  136. <xsl:template match="@*" mode="Types__x3A__ant:tasks_dependencies Types__x3A__ant:tasks_wget_dependencies Types__x3A__ant:tasks_csv2xml_dependencies Types__x3A__ant:tasks_curl_post_wfst_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd"/>
  137. <xsl:template match="text()" mode="Types__x3A__ant:tasks_dependencies" xpath-default-namespace="https://biuro.biall-net.pl/wfs/default_db/Types/ant.xsd"/>
  138. <!--<xsl:template match="*">
  139. <xsl:element name="{name()}">
  140. <xsl:copy-of select="@*"/>
  141. </xsl:element>
  142. </xsl:template>-->
  143. </xsl:stylesheet>