Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

build.xml 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc Plugins" default="default" basedir=".">
  3. <description>Builds, packages and tests DMDirc plugins.</description>
  4. <property name="plugins.src" location="src"/>
  5. <property name="plugins.build" location="build"/>
  6. <property name="plugins.build.classes" location="${plugins.build}/classes"/>
  7. <property name="plugins.build.metadata" location="${plugins.build}/metadata"/>
  8. <property name="plugins.dist" location="dist"/>
  9. <property name="plugins.lib" location="lib"/>
  10. <property name="plugins.source.level" value="1.7"/>
  11. <property name="plugins.target.level" value="1.7"/>
  12. <import file="build-ivy.xml" />
  13. <import file="build-tests.xml"/>
  14. <condition property="plugins.need.antlib">
  15. <not>
  16. <typefound name="foreach"/>
  17. </not>
  18. </condition>
  19. <target name="-init-taskdefs" depends="init-dependencies,-init-paths,-init-antlib,-init-git-describe">
  20. </target>
  21. <target name="-init-antlib" if="plugins.need.antlib">
  22. <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="plugins.classpath"/>
  23. </target>
  24. <target name="-init-git-describe">
  25. <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="plugins.classpath"/>
  26. </target>
  27. <target name="-init-paths">
  28. <path id="plugins.classpath">
  29. <pathelement path="${plugins.dmdirc.build.dir}"/>
  30. <fileset dir="${plugins.lib}" includes="**/*.jar"/>
  31. </path>
  32. <condition property="plugins.dmdirc.exists">
  33. <available classname="com.dmdirc.Main" classpathref="plugins.classpath"/>
  34. </condition>
  35. </target>
  36. <target name="-check-dmdirc-jar" unless="plugins.dmdirc.exists">
  37. <fail>DMDirc class files not found. Please put DMDirc on the classpath or specify the 'plugins.dmdirc.build.dir' property.</fail>
  38. </target>
  39. <target name="-init-compile" depends="init-dependencies,-init-paths,-check-dmdirc-jar">
  40. <mkdir dir="${plugins.build}"/>
  41. <mkdir dir="${plugins.build.classes}"/>
  42. <mkdir dir="${plugins.build.metadata}"/>
  43. </target>
  44. <target name="compile" depends="-init-compile">
  45. <javac srcdir="${plugins.src}" destdir="${plugins.build.classes}"
  46. classpathref="plugins.classpath" includeantruntime="false"
  47. debug="true" deprecation="true"
  48. source="${plugins.source.level}"
  49. target="${plugins.target.level}">
  50. <compilerarg value="-Xlint:all"/>
  51. <compilerarg value="-Xmaxwarns"/>
  52. <compilerarg value="1000"/>
  53. <compilerarg value="-Xmaxerrs"/>
  54. <compilerarg value="1000"/>
  55. </javac>
  56. <copy todir="${plugins.build.classes}">
  57. <fileset dir="${plugins.src}">
  58. <exclude name="**/*.java"/>
  59. <exclude name="**/plugin.config"/>
  60. </fileset>
  61. </copy>
  62. </target>
  63. <target name="jar" depends="-package,-add-libs"/>
  64. <target name="-package" depends="-init-taskdefs,compile">
  65. <for param="configfile">
  66. <fileset dir="${plugins.src}" includes="**/plugin.config"/>
  67. <sequential>
  68. <local name="plugin.src.dir"/>
  69. <local name="plugin.build.dir"/>
  70. <local name="plugin.name"/>
  71. <local name="plugin.jar"/>
  72. <local name="plugin.version"/>
  73. <dirname file="@{configfile}" property="plugin.src.dir"/>
  74. <basename file="${plugin.src.dir}" property="plugin.name"/>
  75. <property name="plugin.jar" value="${plugins.dist}/${plugin.name}.jar"/>
  76. <if>
  77. <not>
  78. <uptodate targetfile="${plugin.jar}">
  79. <srcfiles dir="${plugin.src.dir}" includes="*"/>
  80. </uptodate>
  81. </not>
  82. <then>
  83. <propertyregex property="plugin.build.dir" input="${plugin.src.dir}" regexp="\Q${plugins.src}\E/?(.*)" replace="\1"/>
  84. <copy todir="${plugins.build.metadata}/${plugin.name}/META-INF">
  85. <fileset file="@{configfile}"/>
  86. <fileset dir="${plugin.src.dir}" includes="identities/** licences/**"/>
  87. </copy>
  88. <git-describe dir=".git" property="plugin.version" subdir="${plugin.src.dir}" />
  89. <echo file="${plugins.build.metadata}/${plugin.name}/META-INF/plugin.config" append="true">
  90. version:
  91. number=${plugin.version}
  92. </echo>
  93. <jar destfile="${plugin.jar}">
  94. <fileset dir="${plugins.build.classes}" includes="${plugin.build.dir}/**"/>
  95. <fileset dir="${plugins.build.metadata}/${plugin.name}" includes="META-INF/**"/>
  96. </jar>
  97. <echo>Built ${plugin.name} plugin version ${plugin.version}</echo>
  98. </then>
  99. </if>
  100. </sequential>
  101. </for>
  102. </target>
  103. <target name="-add-libs">
  104. <jar destfile="${plugins.dist}/ui_swing.jar" update="true">
  105. <zipfileset src="${plugins.lib}/main/miglayout-swing.jar" includes="net/miginfocom/swing/**"/>
  106. <zipfileset src="${plugins.lib}/main/miglayout-core.jar" includes="net/miginfocom/layout/**"/>
  107. <zipfileset src="${plugins.lib}/main/menuscroller.jar" includes="darrylbu/util/**"/>
  108. <zipfileset src="${plugins.lib}/main/jxlayer.jar" includes="org/jdesktop/jxlayer/**"/>
  109. </jar>
  110. <jar destfile="${plugins.dist}/ui_web.jar" update="true">
  111. <zipfileset src="${plugins.lib}/main/commons-lang.jar" includes="org/apache/**" excludes="**/*.html"/>
  112. <zipfileset src="${plugins.lib}/main/jetty.jar" includes="org/mortbay/**"/>
  113. <zipfileset src="${plugins.lib}/main/jetty-util.jar" includes="org/mortbay/**"/>
  114. <zipfileset src="${plugins.lib}/main/servlet-api.jar" includes="javax/servlet/**"/>
  115. </jar>
  116. <jar destfile="${plugins.dist}/parser_irc.jar" update="true">
  117. <!-- TODO: this could also be a jar in the lib dir -->
  118. <fileset dir="${plugins.dmdirc.build.dir}">
  119. <include name="com/dmdirc/parser/irc/**/*.class"/>
  120. </fileset>
  121. </jar>
  122. <jar destfile="${plugins.dist}/parser_xmpp.jar" update="true">
  123. <zipfileset src="${plugins.lib}/main/smack.jar" includes="org/**"/>
  124. <zipfileset src="${plugins.lib}/main/smackx.jar" includes="org/** com/**"/>
  125. </jar>
  126. <jar destfile="${plugins.dist}/windowflashing.jar" update="true">
  127. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/**"/>
  128. <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/**"/>
  129. </jar>
  130. <jar destfile="${plugins.dist}/sessionlock.jar" update="true">
  131. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/*"/>
  132. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/ptr/*"/>
  133. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32/**"/>
  134. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-amd64/**"/>
  135. <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-x86/**"/>
  136. <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/sun/jna/platform/win32/**"/>
  137. <zipfileset src="${plugins.lib}/main/locksupport.jar" includes="com/greboid/**"/>
  138. </jar>
  139. </target>
  140. <target name="clean">
  141. <delete dir="${plugins.build}"/>
  142. <delete dir="${plugins.dist}"/>
  143. </target>
  144. </project>