changeset 5:8e6ade135483

first version of build.xml
author Pavel.Sher
date Mon, 14 Jul 2008 20:09:42 +0400
parents dbf4236e7fb7
children c05869fe20af
files build.xml mercurial.ipr mercurial.properties mercurial.xml mercurial/mercurial.iml
diffstat 5 files changed, 333 insertions(+), 169 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build.xml	Mon Jul 14 20:09:42 2008 +0400
@@ -0,0 +1,8 @@
+<project name="Mercurial VCS Support" default="dist">
+  <property file="mercurial.properties"/>
+  <import file="mercurial.xml"/>
+
+  <target name="dist" depends="clean, init, compile.module.mercurial">
+
+  </target>
+</project>
\ No newline at end of file
--- a/mercurial.ipr	Mon Jul 14 19:48:00 2008 +0400
+++ b/mercurial.ipr	Mon Jul 14 20:09:42 2008 +0400
@@ -2,6 +2,14 @@
 <project relativePaths="false" version="4">
   <component name="AntConfiguration">
     <defaultAnt bundledAnt="true" />
+    <buildFile url="file://$PROJECT_DIR$/build.xml">
+      <additionalClassPath />
+      <antReference projectDefault="true" />
+      <customJdkName value="" />
+      <maximumHeapSize value="128" />
+      <maximumStackSize value="32" />
+      <properties />
+    </buildFile>
   </component>
   <component name="BuildJarProjectSettings">
     <option name="BUILD_JARS_ON_MAKE" value="false" />
@@ -297,6 +305,7 @@
   </component>
   <component name="ProjectModuleManager">
     <modules>
+      <module fileurl="file://$PROJECT_DIR$/main.iml" filepath="$PROJECT_DIR$/main.iml" />
       <module fileurl="file://$PROJECT_DIR$/mercurial/mercurial.iml" filepath="$PROJECT_DIR$/mercurial/mercurial.iml" />
       <module fileurl="file://$PROJECT_DIR$/mercurial-tests/mercurial-tests.iml" filepath="$PROJECT_DIR$/mercurial-tests/mercurial-tests.iml" />
     </modules>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial.properties	Mon Jul 14 20:09:42 2008 +0400
@@ -0,0 +1,2 @@
+path.variable.ant_home=C:/Tools/apache-ant-1.6.5
+path.variable.template=C:/Perforce/BuildServer
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial.xml	Mon Jul 14 20:09:42 2008 +0400
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="mercurial" default="all">
+  
+  
+  <property file="mercurial.properties"/>
+  <!-- Uncomment the following property if no tests compilation is needed -->
+  <!-- 
+  <property name="skip.tests" value="true"/>
+   -->
+  
+  <!-- Compiler options -->
+  
+  <property name="compiler.debug" value="on"/>
+  <property name="compiler.generate.no.warnings" value="off"/>
+  <property name="compiler.args" value=""/>
+  <property name="compiler.max.memory" value="128m"/>
+  <patternset id="ignored.files">
+    <exclude name="**/CVS/**"/>
+    <exclude name="**/SCCS/**"/>
+    <exclude name="**/RCS/**"/>
+    <exclude name="**/rcs/**"/>
+    <exclude name="**/.DS_Store/**"/>
+    <exclude name="**/.svn/**"/>
+    <exclude name="**/vssver.scc/**"/>
+    <exclude name="**/vssver2.scc/**"/>
+    <exclude name="**/.sbas/**"/>
+    <exclude name="**/.IJI.*/**"/>
+    <exclude name="**/.pyc/**"/>
+    <exclude name="**/.pyo/**"/>
+  </patternset>
+  <patternset id="compiler.resources">
+    <include name="**/?*.properties"/>
+    <include name="**/?*.xml"/>
+    <include name="**/?*.gif"/>
+    <include name="**/?*.png"/>
+    <include name="**/?*.jpeg"/>
+    <include name="**/?*.jpg"/>
+    <include name="**/?*.html"/>
+    <include name="**/?*.dtd"/>
+    <include name="**/?*.tld"/>
+  </patternset>
+  
+  
+  <!-- Project Libraries -->
+  
+  <path id="library.teamcity-openapi.classpath">
+    <pathelement location="${basedir}/mercurial/lib/server-openapi.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/web-openapi.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/server-model.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/common.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/utils.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/patches.jar"/>
+  </path>
+  
+  <path id="library.idea-openapi.classpath">
+    <pathelement location="${basedir}/mercurial/lib/annotations.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/openapi.jar"/>
+    <pathelement location="${basedir}/mercurial/lib/util.jar"/>
+  </path>
+  
+  <path id="library.teamcity-testssupport.classpath">
+    <pathelement location="${basedir}/mercurial-tests/lib/patches-tests.jar"/>
+    <pathelement location="${basedir}/mercurial-tests/lib/test.jar"/>
+  </path>
+  
+  <path id="library.junit.classpath">
+    <pathelement location="${basedir}/mercurial-tests/lib/junit-3.8.1.jar"/>
+  </path>
+  
+  <path id="library.testng.classpath">
+    <pathelement location="${basedir}/mercurial-tests/lib/testng-5.7-jdk15.jar"/>
+  </path>
+  
+  <path id="library.jmock.classpath">
+    <pathelement location="${basedir}/mercurial-tests/lib/jmock-SNAPSHOT.jar"/>
+  </path>
+  
+  <path id="library.teamcity-impl.classpath">
+    <pathelement location="${basedir}/mercurial/lib/patches-impl.jar"/>
+  </path>
+  
+  <path id="library.log4j.classpath">
+    <pathelement location="${basedir}/mercurial/lib/log4j-1.2.12.jar"/>
+  </path>
+  
+  <path id="library.gnu_trove.classpath">
+    <pathelement location="${basedir}/mercurial/lib/trove4j.jar"/>
+  </path>
+  
+  
+  <!-- Application Server Libraries -->
+  
+  <!-- Modules -->
+  
+  
+  <!-- Module main -->
+  
+  <dirname property="module.main.basedir" file="${ant.file}"/>
+  
+  
+  
+  <property name="compiler.args.main" value="${compiler.args}"/>
+  
+  <property name="main.output.dir" value="${module.main.basedir}/out/production/main"/>
+  <property name="main.testoutput.dir" value="${module.main.basedir}/out/test/main"/>
+  
+  <path id="main.module.bootclasspath">
+    <!-- Paths to be included in compilation bootclasspath -->
+  </path>
+  
+  <path id="main.module.classpath"/>
+  
+  <path id="main.runtime.module.classpath">
+    <pathelement location="${main.output.dir}"/>
+    <pathelement location="${main.testoutput.dir}"/>
+  </path>
+  
+  
+  <patternset id="excluded.from.module.main">
+    <patternset refid="ignored.files"/>
+  </patternset>
+  
+  <patternset id="excluded.from.compilation.main">
+    <patternset refid="excluded.from.module.main"/>
+  </patternset>
+  
+  
+  <target name="compile.module.main" depends="compile.module.main.production,compile.module.main.tests" description="Compile module main"/>
+  
+  <target name="compile.module.main.production" description="Compile module main; production classes"/>
+  
+  <target name="compile.module.main.tests" depends="compile.module.main.production" description="compile module main; test classes" unless="skip.tests"/>
+  
+  <target name="clean.module.main" description="cleanup module">
+    <delete dir="${main.output.dir}"/>
+    <delete dir="${main.testoutput.dir}"/>
+  </target>
+  
+  
+  <!-- Module mercurial -->
+  
+  <dirname property="module.mercurial.basedir" file="${ant.file}"/>
+  
+  
+  
+  <property name="compiler.args.mercurial" value="${compiler.args}"/>
+  
+  <property name="mercurial.output.dir" value="${module.mercurial.basedir}/mercurial/classes"/>
+  <property name="mercurial.testoutput.dir" value="${module.mercurial.basedir}/mercurial/classes"/>
+  
+  <path id="mercurial.module.bootclasspath">
+    <!-- Paths to be included in compilation bootclasspath -->
+  </path>
+  
+  <path id="mercurial.module.classpath">
+    <path refid="library.teamcity-openapi.classpath"/>
+    <path refid="library.idea-openapi.classpath"/>
+    <path refid="library.teamcity-impl.classpath"/>
+    <path refid="library.log4j.classpath"/>
+    <path refid="library.gnu_trove.classpath"/>
+  </path>
+  
+  <path id="mercurial.runtime.module.classpath">
+    <pathelement location="${mercurial.output.dir}"/>
+    <path refid="library.teamcity-openapi.classpath"/>
+    <path refid="library.idea-openapi.classpath"/>
+    <path refid="library.teamcity-impl.classpath"/>
+    <path refid="library.log4j.classpath"/>
+    <path refid="library.gnu_trove.classpath"/>
+  </path>
+  
+  
+  <patternset id="excluded.from.module.mercurial">
+    <patternset refid="ignored.files"/>
+  </patternset>
+  
+  <patternset id="excluded.from.compilation.mercurial">
+    <patternset refid="excluded.from.module.mercurial"/>
+  </patternset>
+  
+  <path id="mercurial.module.sourcepath">
+    <dirset dir="${module.mercurial.basedir}/mercurial">
+      <include name="resources/buildServerResources"/>
+      <include name="src"/>
+    </dirset>
+  </path>
+  
+  
+  <target name="compile.module.mercurial" depends="compile.module.mercurial.production,compile.module.mercurial.tests" description="Compile module mercurial"/>
+  
+  <target name="compile.module.mercurial.production" description="Compile module mercurial; production classes">
+    <mkdir dir="${mercurial.output.dir}"/>
+    <javac destdir="${mercurial.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true">
+      <compilerarg line="${compiler.args.mercurial}"/>
+      <bootclasspath refid="mercurial.module.bootclasspath"/>
+      <classpath refid="mercurial.module.classpath"/>
+      <src refid="mercurial.module.sourcepath"/>
+      <patternset refid="excluded.from.compilation.mercurial"/>
+    </javac>
+    
+    <copy todir="${mercurial.output.dir}">
+      <fileset dir="${module.mercurial.basedir}/mercurial/resources/buildServerResources">
+        <patternset refid="compiler.resources"/>
+        <type type="file"/>
+      </fileset>
+      <fileset dir="${module.mercurial.basedir}/mercurial/src">
+        <patternset refid="compiler.resources"/>
+        <type type="file"/>
+      </fileset>
+    </copy>
+  </target>
+  
+  <target name="compile.module.mercurial.tests" depends="compile.module.mercurial.production" description="compile module mercurial; test classes" unless="skip.tests"/>
+  
+  <target name="clean.module.mercurial" description="cleanup module">
+    <delete dir="${mercurial.output.dir}"/>
+    <delete dir="${mercurial.testoutput.dir}"/>
+  </target>
+  
+  
+  <!-- Module mercurial-tests -->
+  
+  <dirname property="module.mercurial-tests.basedir" file="${ant.file}"/>
+  
+  
+  
+  <property name="compiler.args.mercurial-tests" value="${compiler.args}"/>
+  
+  <property name="mercurial-tests.output.dir" value="${module.mercurial-tests.basedir}/mercurial-tests/classes"/>
+  <property name="mercurial-tests.testoutput.dir" value="${module.mercurial-tests.basedir}/mercurial-tests/classes"/>
+  
+  <path id="mercurial-tests.module.bootclasspath">
+    <!-- Paths to be included in compilation bootclasspath -->
+  </path>
+  
+  <path id="mercurial-tests.module.classpath">
+    <pathelement location="${mercurial.output.dir}"/>
+    <path refid="library.teamcity-openapi.classpath"/>
+    <path refid="library.idea-openapi.classpath"/>
+    <path refid="library.teamcity-impl.classpath"/>
+    <path refid="library.log4j.classpath"/>
+    <path refid="library.gnu_trove.classpath"/>
+    <path refid="library.teamcity-testssupport.classpath"/>
+    <path refid="library.junit.classpath"/>
+    <path refid="library.testng.classpath"/>
+    <path refid="library.jmock.classpath"/>
+  </path>
+  
+  <path id="mercurial-tests.runtime.module.classpath">
+    <pathelement location="${mercurial-tests.output.dir}"/>
+    <pathelement location="${mercurial.output.dir}"/>
+    <path refid="library.teamcity-openapi.classpath"/>
+    <path refid="library.idea-openapi.classpath"/>
+    <path refid="library.teamcity-impl.classpath"/>
+    <path refid="library.log4j.classpath"/>
+    <path refid="library.gnu_trove.classpath"/>
+    <path refid="library.teamcity-testssupport.classpath"/>
+    <path refid="library.junit.classpath"/>
+    <path refid="library.testng.classpath"/>
+    <path refid="library.jmock.classpath"/>
+  </path>
+  
+  
+  <patternset id="excluded.from.module.mercurial-tests">
+    <patternset refid="ignored.files"/>
+  </patternset>
+  
+  <patternset id="excluded.from.compilation.mercurial-tests">
+    <patternset refid="excluded.from.module.mercurial-tests"/>
+  </patternset>
+  
+  <path id="mercurial-tests.module.sourcepath">
+    <dirset dir="${module.mercurial-tests.basedir}/mercurial-tests">
+      <include name="src"/>
+    </dirset>
+  </path>
+  
+  
+  <target name="compile.module.mercurial-tests" depends="compile.module.mercurial-tests.production,compile.module.mercurial-tests.tests" description="Compile module mercurial-tests"/>
+  
+  <target name="compile.module.mercurial-tests.production" depends="compile.module.mercurial" description="Compile module mercurial-tests; production classes">
+    <mkdir dir="${mercurial-tests.output.dir}"/>
+    <javac destdir="${mercurial-tests.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true">
+      <compilerarg line="${compiler.args.mercurial-tests}"/>
+      <bootclasspath refid="mercurial-tests.module.bootclasspath"/>
+      <classpath refid="mercurial-tests.module.classpath"/>
+      <src refid="mercurial-tests.module.sourcepath"/>
+      <patternset refid="excluded.from.compilation.mercurial-tests"/>
+    </javac>
+    
+    <copy todir="${mercurial-tests.output.dir}">
+      <fileset dir="${module.mercurial-tests.basedir}/mercurial-tests/src">
+        <patternset refid="compiler.resources"/>
+        <type type="file"/>
+      </fileset>
+    </copy>
+  </target>
+  
+  <target name="compile.module.mercurial-tests.tests" depends="compile.module.mercurial-tests.production" description="compile module mercurial-tests; test classes" unless="skip.tests"/>
+  
+  <target name="clean.module.mercurial-tests" description="cleanup module">
+    <delete dir="${mercurial-tests.output.dir}"/>
+    <delete dir="${mercurial-tests.testoutput.dir}"/>
+  </target>
+  
+  <target name="init" description="Build initialization">
+    <!-- Perform any build initialization in this target -->
+  </target>
+  
+  <target name="clean" depends="clean.module.main, clean.module.mercurial, clean.module.mercurial-tests" description="cleanup all"/>
+  
+  <target name="all" depends="init, clean, compile.module.main, compile.module.mercurial, compile.module.mercurial-tests" description="build all"/>
+</project>
\ No newline at end of file
--- a/mercurial/mercurial.iml	Mon Jul 14 19:48:00 2008 +0400
+++ b/mercurial/mercurial.iml	Mon Jul 14 20:09:42 2008 +0400
@@ -1,175 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module relativePaths="true" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
-    <facet type="web" name="web">
-      <configuration>
-        <webroots>
-          <root url="file://$MODULE_DIR$/resources/buildServerResources" relative="/plugins/mercurial" />
-        </webroots>
-        <building>
-          <setting name="EXPLODED_URL" value="file://" />
-          <setting name="EXPLODED_ENABLED" value="false" />
-          <setting name="JAR_URL" value="file://" />
-          <setting name="JAR_ENABLED" value="false" />
-          <setting name="BUILD_MODULE_ON_FRAME_DEACTIVATION" value="false" />
-          <setting name="BUILD_EXTERNAL_DEPENDENCIES" value="false" />
-          <setting name="EXCLUDE_EXPLODED_DIRECTORY" value="true" />
-          <setting name="RUN_JASPER_VALIDATION" value="false" />
-          <setting name="BUILD_ONLY_WEB_RESOURCES" value="false" />
-        </building>
-        <packaging>
-          <containerElement type="module" name="mercurial">
-            <attribute name="method" value="5" />
-            <attribute name="URI" value="/WEB-INF/lib/mercurial.jar" />
-          </containerElement>
-          <containerElement type="library" name="GNU Trove" level="project">
-            <attribute name="method" value="1" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="IDEA-openapi" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="Log4j" level="project">
-            <attribute name="method" value="1" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="TeamCity-impl" level="project">
-            <attribute name="method" value="1" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="TeamCity-openapi" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="facet" facetId="web-openapi/web/web-openapi">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="&lt;N/A&gt;" />
-          </containerElement>
-          <containerElement type="module" name="common">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="common-runtime">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="messages">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="patches">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="runtime-util">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="server-model">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="server-openapi">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="utils">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="web-openapi">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="module" name="xml-rpc-wrapper">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/classes" />
-          </containerElement>
-          <containerElement type="library" name="Acegi" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="Ivy" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="JNIWrap" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="JodaTime" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="ServletApi" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="&lt;N/A&gt;" />
-          </containerElement>
-          <containerElement type="library" name="SpringWeb" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="commons-beanutils-core" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="commons-httpclient" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="jdom" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="log4j-1.2.12" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="packtag" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="xerces" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="xmlrpc-2.0" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" name="xstream" level="project">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-          </containerElement>
-          <containerElement type="library" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-            <url>jar://$MODULE_DIR$/../lib/annotations.jar!/</url>
-          </containerElement>
-          <containerElement type="library" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-            <url>jar://$MODULE_DIR$/../web/lib/colorer.jar!/</url>
-          </containerElement>
-          <containerElement type="library" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-            <url>jar://$MODULE_DIR$/../lib/commons-codec-1.3.jar!/</url>
-          </containerElement>
-          <containerElement type="library" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-            <url>jar://$MODULE_DIR$/../web/lib/jstl.jar!/</url>
-          </containerElement>
-          <containerElement type="library" level="module">
-            <attribute name="method" value="0" />
-            <attribute name="URI" value="/WEB-INF/lib" />
-            <url>jar://$MODULE_DIR$/../web/lib/standard.jar!/</url>
-          </containerElement>
-        </packaging>
-      </configuration>
-    </facet>
     <facet type="Spring" name="Spring">
       <configuration>
         <options>
@@ -184,6 +15,7 @@
     <output url="file://$MODULE_DIR$/classes" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/resources/buildServerResources" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
     </content>
     <orderEntry type="inheritedJdk" />