You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build-configutils.xml 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project basedir=".">
  3. <macrodef name="readdomain">
  4. <attribute name="contents"/>
  5. <attribute name="domain"/>
  6. <attribute name="outputproperty"/>
  7. <sequential>
  8. <local name="extracted"/>
  9. <!-- Extract the entire domain contents -->
  10. <propertyregex property="extracted" override="true" input="@{contents}" select="\1" defaultvalue="">
  11. <regexp pattern="(?si)^.*[\r\n]+\Q@{domain}\E:[\r\n]+(.*?)([\r\n]+[^\r\n]+:[\r\n]+|$)"/>
  12. </propertyregex>
  13. <!-- Trim leading whitespace -->
  14. <propertyregex property="@{outputproperty}" override="true" input="${extracted}" replace="" global="true">
  15. <regexp pattern="(?m)^\s+"/>
  16. </propertyregex>
  17. </sequential>
  18. </macrodef>
  19. <macrodef name="readvalue">
  20. <attribute name="domaincontents"/>
  21. <attribute name="setting"/>
  22. <attribute name="outputproperty"/>
  23. <sequential>
  24. <local name="extracted"/>
  25. <!-- Extract the raw value -->
  26. <propertyregex property="extracted" override="true" input="@{domaincontents}" select="\1">
  27. <regexp pattern="(?mi)^\s*\Q@{setting}\E\s*=\s*(.*?)[\r\n]*?$"/>
  28. </propertyregex>
  29. <!-- Unescape \r, \n, \=, \#, \: and \\ -->
  30. <propertyregex property="extracted" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\n" replace="\n" global="true"/>
  31. <propertyregex property="extracted" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\r" replace="\r" global="true"/>
  32. <propertyregex property="extracted" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\=" replace="=" global="true"/>
  33. <propertyregex property="extracted" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\#" replace="#" global="true"/>
  34. <propertyregex property="extracted" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\:" replace=":" global="true"/>
  35. <propertyregex property="@{outputproperty}" override="true" input="${extracted}" defaultvalue="${extracted}" regexp="\\\\" replace="\" global="true"/>
  36. </sequential>
  37. </macrodef>
  38. </project>