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

test.xml 4.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <project name="embed-test" default="main" basedir=".">
  2. <property name="ant.src" location="../.."/>
  3. <description>Test for embed proposal</description>
  4. <import file="build.xml"/>
  5. <!-- This is a tricky problem: import will append tasks at the
  6. end of the task list. That's a bug, it should replace the
  7. <import> task with the content. When fixed, this should show
  8. the real value. -->
  9. <echo message="Base.path from build.xml ( in top level ): ${base.path}"/>
  10. <target name="init">
  11. <property name="junit.jar" location="${base.path}/junit3.7/junit.jar"/>
  12. <echo>Base.path from build.xml ( in init ) : ${base.path}</echo>
  13. <path id="myJars" >
  14. <pathelement path="${junit.jar}" />
  15. <pathelement path="${jxpath.jar}" />
  16. <pathelement path="${velocity-dep.jar}" />
  17. <pathelement path="${velocity.jar}" />
  18. <pathelement path="${jexl.jar}" />
  19. <pathelement path="${commons-discovery.jar}" />
  20. <pathelement path="${commons-logging.jar}" />
  21. <pathelement path="${ant.home}/lib/ant-sax2.jar" />
  22. <pathelement location="/usr/share/java/xalan-j_2_3_1/bin/xercesImpl.jar"/>
  23. <pathelement location="${ant.home}/lib/xercesImpl.jar"/>
  24. <pathelement location="${ant.home}/lib/xml-apis.jar"/>
  25. <pathelement location="${ant.home}/lib/ant.jar"/>
  26. <fileset dir="${ant.home}/lib" includes="optional-*.jar" />
  27. </path>
  28. <echo>Path: ${toString:myJars}</echo>
  29. <classloader classpathRef="myJars"/>
  30. </target>
  31. <target name="xmldom" depends="init">
  32. <taskdef classname="org.apache.tools.ant.taskdefs.optional.JXPath"
  33. name="jxpath" />
  34. <typedef classname="org.apache.tools.ant.taskdefs.XMLDOM"
  35. name="xmlDom" />
  36. <xmlDom id="module.xml" file="/ws/jakarta-gump/project/jakarta-ant.xml"/>
  37. <!-- Enable Jxpath support -->
  38. <jxpath/>
  39. <echo>Name: ${jxpath:/references/module.xml/root/module/project[1]/@name}</echo>
  40. </target>
  41. <target name="discovery" depends="init">
  42. <echo message="${commons-discovery.jar}"/>
  43. <systemPath pathRef="myJars"/>
  44. <taskdef classname="org.apache.tools.ant.taskdefs.ServiceDiscoveryTask"
  45. name="discovery" />
  46. <taskdef classname="org.apache.tools.ant.taskdefs.optional.JXPath"
  47. name="jxpath" />
  48. <jxpath/>
  49. <discovery debug="1" id="myDiscovery"
  50. serviceName="META-INF/services/javax.xml.parsers.SAXParserFactory" />
  51. <echo message="Found ${jxpath:/references[@name='myDiscovery']}" />
  52. </target>
  53. <target name="systemPathTest" depends="init">
  54. <junit id="replacedJunit" />
  55. <echo message="Found JUNIT: ${toString:replacedJunit}" />
  56. </target>
  57. <target name="dynamicProperties" depends="init">
  58. <!-- This is Taksdef2.java - it'll use the systemPath as parent loader
  59. -->
  60. <taskdef classname="org.apache.tools.ant.taskdefs.optional.JXPath"
  61. name="jxpath" />
  62. <taskdef classname="org.apache.tools.ant.taskdefs.optional.JXPathSet"
  63. name="jxpathSet" />
  64. <taskdef classname="org.apache.tools.ant.taskdefs.optional.VelocityProperties"
  65. name="velocityProperties" />
  66. <taskdef classname="org.apache.tools.ant.taskdefs.optional.JexlProperties"
  67. name="jexlProperties" />
  68. <!-- Init JxPath. '/' is the project -->
  69. <jxpath/>
  70. <velocityProperties/>
  71. <jexlProperties/>
  72. <echo id="foo" message="Starting dynamic props tests" />
  73. <echo message="Value: ${vm:$ant.references.jxpathTask.foo}" />
  74. <jxpathSet path="/references[@name='jxpathTask']/foo" value="Test"/>
  75. <echo message="Value: ${vm:$ant.references.jxpathTask.foo}" />
  76. <echo message="${jexl:ant.references.jxpathTask.foo=bar}" />
  77. <echo message="Value: ${vm:$ant.references.jxpathTask.foo}" />
  78. <echo message="jexl /references/myJars: ${jexl:ant.references.myJars}" />
  79. <echo message="jxPath /targets[1]: ${jxpath:/targets[1]}" />
  80. <echo message="jxPath /references: ${jxpath:/references}" />
  81. <echo message="jxPath /references[@name='myJars']: ${jxpath:/references[@name='myJars']}" />
  82. <echo message="jxPath /references/myJars: ${jxpath:/references/myJars}" />
  83. <!-- This is XMLDOM.java - a datatype that holds an xml DOM -->
  84. <typedef name="xmldom" classname="org.apache.tools.ant.taskdefs.XMLDOM"/>
  85. <!-- Init XMLDOM. The DOM of file test.xml will be referenced via the id-->
  86. <xmldom id="test.xml" file="test.xml"/>
  87. <echo message="XMLDOM: ${jxpath:/references/test.xml/root/project/@name}" />
  88. </target>
  89. <target name="main" depends="init,dynamicProperties,systemPathTest,test-import">
  90. </target>
  91. <target name="test-import" >
  92. <antcall target="embed.main" />
  93. </target>
  94. </project>