| <project name="BuildServer" default="dist" basedir="."> | |
| <!-- | |
| Comment out skip.scramble property to enable obfuscation | |
| Uncomment the property to disable obfuscation | |
| --> | |
| <!--<property name="skip.scramble" value="true"/>--> | |
| <property file="buildserver.properties"/> | |
| <property environment="env"/> | |
| <condition property="skip.scramble"> | |
| <and> | |
| <not><isset property="skip.scramble"/></not> | |
| <isset property="fast"/> | |
| </and> | |
| </condition> | |
| <!-- Define properties from environment if buildserver.properties is not available --> | |
| <property name="jdk.home.idea_jdk" value="${env.JAVA_HOME}"/> | |
| <property name="jdk13-args" value="-source 1.3 -target 1.1"/> | |
| <property name="compiler.args.runtime-util" value="${jdk13-args}"/> | |
| <property name="compiler.args.ant-runtime" value="${jdk13-args}"/> | |
| <property name="compiler.args.ant-server-logging" value="${jdk13-args}"/> | |
| <property name="compiler.args.common-runtime" value="${jdk13-args}"/> | |
| <property name="compiler.args.messages" value="${jdk13-args}"/> | |
| <property name="compiler.args.runtime-util" value="${jdk13-args}"/> | |
| <property name="compiler.args.xml-rpc-wrapper" value="${jdk13-args}"/> | |
| <property name="compiler.args.server-logging" value="${jdk13-args}"/> | |
| <property name="compiler.args.maven-runtime" value="-source 1.4 -target 1.4"/> | |
| <import file="buildserver.xml"/> | |
| <taskdef name="javac2" classname="com.intellij.ant.Javac2"> | |
| <classpath> | |
| <pathelement location="${module.build-server4idea_sources.basedir}/build-server4idea/lib/javac2.jar"/> | |
| <pathelement location="${module.build-server4idea_sources.basedir}/build-server4idea/lib/asm.jar"/> | |
| <pathelement location="${module.build-server4idea_sources.basedir}/build-server4idea/lib/asm-commons.jar"/> | |
| <pathelement location="${module.build-server4idea_sources.basedir}/build-server4idea/lib/jdom.jar"/> | |
| <pathelement location="${module.build-server4idea_sources.basedir}/build-server4idea/lib/jgoodies-forms.jar"/> | |
| </classpath> | |
| </taskdef> | |
| <path id="library.tomcat.classpath"> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/naming-factory-dbcp.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/jasper-compiler.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/servlet-api.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/commons-el.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/jasper-compiler-jdt.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/naming-factory.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/jasper-runtime.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/jsp-api.jar"/> | |
| <pathelement location="${basedir}/tools/tomcat/common/lib/naming-resources.jar"/> | |
| </path> | |
| <property name="next.successful.build.id" value="SNAPSHOT"/> | |
| <property name="successful.build.number" value="${next.successful.build.id}"/> | |
| <property name="version" value="${successful.build.number}"/> | |
| <property name="dist" value="${basedir}/dist"/> | |
| <property name="agentDist" value="${dist}/agent"/> | |
| <property name="agentDistLib" value="${agentDist}/lib"/> | |
| <property name="j2ee.path.jar" value="buildServer-${version}.war"/> | |
| <property name="test-reports" value="${basedir}/test-reports"/> | |
| <property name="html-reports" value="${test-reports}/html"/> | |
| <condition property="dotNet"> | |
| <and> | |
| <os family="windows"/> | |
| <isset property="DotNetFramework1.1" /> | |
| <isset property="DotNetFramework2.0" /> | |
| </and> | |
| </condition> | |
| <condition property="underWindows"> | |
| <os family="windows" /> | |
| </condition> | |
| <target name="init"> | |
| <delete dir="${dist}" quiet="true"/> | |
| <delete dir="${basedir}/temp" quiet="true"/> | |
| </target> | |
| <target name="sources"> | |
| <echo message="creating ${dist}/sources-${version}.jar"/> | |
| <jar destfile="${dist}/sources-${version}.jar"> | |
| <fileset dir="agentInstaller/src" /> | |
| <fileset dir="agentInstaller-UI/src" /> | |
| <fileset dir="agent/src" /> | |
| <fileset dir="ant-runner-server/src" /> | |
| <fileset dir="ant-runner/src" /> | |
| <fileset dir="ant-runtime/src" /> | |
| <fileset dir="ant-server-logging/src" /> | |
| <fileset dir="artefacts/src" /> | |
| <fileset dir="build-server4idea/src" /> | |
| <fileset dir="build/src" /> | |
| <fileset dir="common-runtime/src" /> | |
| <fileset dir="common/src" /> | |
| <fileset dir="coverage-agent/src" /> | |
| <fileset dir="coverage-server/src" /> | |
| <fileset dir="cvs-support/src" /> | |
| <fileset dir="DotNetCommon-runtime/src" /> | |
| <fileset dir="email-notificator/src" /> | |
| <fileset dir="idea-runner-server/src" /> | |
| <fileset dir="idea-runner/src" /> | |
| <fileset dir="inspections-runner/src" /> | |
| <fileset dir="inspections-util/src" /> | |
| <fileset dir="jabber-notificator/src" /> | |
| <fileset dir="launcher/src" /> | |
| <fileset dir="license-common/src" /> | |
| <fileset dir="license-keygen/src" /> | |
| <fileset dir="maven-runner-server/src" /> | |
| <fileset dir="maven-runner/src" /> | |
| <fileset dir="maven-runtime/src" /> | |
| <fileset dir="messages/src" /> | |
| <fileset dir="MSBuild-runner-server/src" /> | |
| <fileset dir="MSBuild-runner/src" /> | |
| <fileset dir="NAnt-runner-server/src" /> | |
| <fileset dir="NAnt-runner/src" /> | |
| <fileset dir="NAnt/src" /> | |
| <fileset dir="ntdomain-login/src" /> | |
| <fileset dir="patches-impl/src" /> | |
| <fileset dir="patches/src" /> | |
| <fileset dir="perforce/src" /> | |
| <fileset dir="remote-server-proxy/src" /> | |
| <fileset dir="runtime-util/src" /> | |
| <fileset dir="server-logging/src" /> | |
| <fileset dir="server-model/src" /> | |
| <fileset dir="server-openapi/src" /> | |
| <fileset dir="server-side-inspections/src" /> | |
| <fileset dir="server/src" /> | |
| <fileset dir="Solution2005-runner-server/src" /> | |
| <fileset dir="Solution2005-runner/src" /> | |
| <fileset dir="svn/src" /> | |
| <fileset dir="utils/src" /> | |
| <fileset dir="web-openapi/src" /> | |
| <fileset dir="web/src" /> | |
| <fileset dir="win32-notificator/src" /> | |
| <fileset dir="xml-rpc-wrapper/src" /> | |
| </jar> | |
| <echo message="creating ${dist}/openApi-${version}.jar"/> | |
| <jar destfile="${dist}/openApi-${version}.jar"> | |
| <fileset dir="ant-runtime/src" includes="**/AntTaskExtension.java"/> | |
| <fileset dir="common-runtime/src" /> | |
| <fileset dir="common/src" /> | |
| <fileset dir="messages/src" /> | |
| <fileset dir="runtime-util/src" /> | |
| <fileset dir="server-model/src" /> | |
| <fileset dir="server-openapi/src" /> | |
| <fileset dir="utils/src" /> | |
| <fileset dir="web-openapi/src" /> | |
| <fileset dir="xml-rpc-wrapper/src" /> | |
| </jar> | |
| </target> | |
| <target name="dist" depends="scramble,sources"> | |
| <delete dir="${agentDist}" quiet="true"/> | |
| <property name="ant_jar" value="ant165.jar"/> | |
| <jar file="${dist}/${ant_jar}" basedir="tools" includes="ant/**"/> | |
| <property name="maven_jar" value="maven-2.1.jar"/> | |
| <jar file="${dist}/${maven_jar}" basedir="tools" includes="maven-2.1/**"/> | |
| <property name="idea_jar" value="idea_dist.jar"/> | |
| <jar file="${dist}/${idea_jar}"> | |
| <fileset dir="${basedir}/tools"> | |
| <include name="idea/lib/**"/> | |
| <include name="idea/bin/**"/> | |
| <include name="idea/plugins/**"/> | |
| </fileset> | |
| </jar> | |
| <copy file="${basedir}/Win32Notify/Win32NotifyInstall/ReleaseMsi/Win32NotifyInstall.msi" tofile="${dist}/windowsTrayNotifier.msi"/> | |
| <jar update="true" destfile="${dist}/${j2ee.path.jar}"> | |
| <zipfileset file="${dist}/buildAgent.zip" prefix="update"/> | |
| <zipfileset file="${dist}/buildAgentInstaller.jar" prefix="update"/> | |
| <zipfileset file="${dist}/agentInstaller.jar" prefix="update"/> | |
| <zipfileset file="${dist}/antPlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/iprPlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/dotnetPlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/coveragePlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/mavenPlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/inspectionPlugin.zip" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/${ant_jar}" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/${maven_jar}" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/${idea_jar}" prefix="update/plugins"/> | |
| <zipfileset file="${dist}/agentInstaller.exe" prefix="update" /> | |
| <zipfileset file="${dist}/buildServerPlugin.zip" prefix="update" /> | |
| <zipfileset file="${dist}/windowsTrayNotifier.msi" prefix="update"/> | |
| </jar> | |
| <delete file="${dist}/buildAgentInstaller.jar"/> | |
| <delete file="${dist}/agentInstaller.jar"/> | |
| <delete file="${dist}/${ant_jar}"/> | |
| <delete file="${dist}/${maven_jar}"/> | |
| <delete file="${dist}/${idea_jar}"/> | |
| <delete dir="${dist}" includes="*Plugin.zip" excludes="buildServerPlugin.zip"/> | |
| <antcall target="tomcatDist"/> | |
| </target> | |
| <target name="tomcatDist" unless="fast"> | |
| <!-- Prepare Tomcat distribution --> | |
| <property name="tdir" value="${dist}/TeamCity"/> | |
| <mkdir dir="${tdir}"/> | |
| <copy todir="${tdir}"> | |
| <fileset dir="${basedir}/tools/tomcat"/> | |
| </copy> | |
| <copy todir="${tdir}"> | |
| <fileset dir="${dist}" includes="openApi*"/> | |
| </copy> | |
| <mkdir dir="${tdir}/webapps/ROOT"/> | |
| <unwar src="${dist}/${j2ee.path.jar}" dest="${tdir}/webapps/ROOT"/> | |
| <mkdir dir="${tdir}/buildAgent"/> | |
| <unzip src="${dist}/buildAgent.zip" dest="${tdir}/buildAgent"/> | |
| <copy tofile="${tdir}/buildAgent/bin/buildAgent.properties" | |
| file="${tdir}/buildAgent/bin/buildAgent.dist.properties"/> | |
| <copy todir="${tdir}/bin"> | |
| <fileset dir="${basedir}/bin"> | |
| <include name="runAll.sh"/> | |
| <include name="runAll.bat"/> | |
| <include name="team-server-log4j.xml"/> | |
| <include name="log4j.dtd"/> | |
| </fileset> | |
| </copy> | |
| <fixcrlf srcdir="${tdir}/bin" includes="*.sh" eol="lf" eof="remove"/> | |
| <fixcrlf srcdir="${tdir}/buildAgent/bin" includes="*.sh" eol="lf" eof="remove"/> | |
| <tar tarfile="${dist}/TeamCity.tar" longfile="gnu"> | |
| <tarfileset dir="${dist}" mode="755"> | |
| <include name="TeamCity/bin/*.sh"/> | |
| <include name="TeamCity/buildAgent/bin/*.sh"/> | |
| </tarfileset> | |
| <tarfileset dir="${dist}"> | |
| <include name="TeamCity/**"/> | |
| <exclude name="TeamCity/bin/*.sh"/> | |
| <exclude name="TeamCity/buildAgent/bin/*.sh"/> | |
| </tarfileset> | |
| </tar> | |
| <gzip zipfile="${dist}/TeamCity-${version}.tar.gz" src="${dist}/TeamCity.tar"/> | |
| <delete file="${dist}/TeamCity.tar"/> | |
| <delete dir="${tdir}"/> | |
| </target> | |
| <target name="buildServerDist" depends="init,all,generate-eap-license,j2ee.build.jar.web" | |
| description="Build distibution of Build Server"> | |
| <mkdir dir="${dist}"/> | |
| <move file="${j2ee.path.jar}" todir="${dist}"/> | |
| <antcall target="precompile-jsp"/> | |
| </target> | |
| <target name="generate-eap-license" depends="compile.module.license-keygen.production"> | |
| <property name="licenses_file" value="${web.output.dir}/license.keys"/> | |
| <java classname="jetbrains.buildServer.license.keygen.EAPLicenseFileGen"> | |
| <arg value="${licenses_file}"/> | |
| <classpath refid="license-keygen.module.classpath"/> | |
| <classpath> | |
| <pathelement path="${license-keygen.output.dir}"/> | |
| </classpath> | |
| </java> | |
| </target> | |
| <target name="buildPlugin" description="Build IDEA's plugin"> | |
| <property name="pluginDir" value="${dist}/pluginDist"/> | |
| <property name="pluginDist" value="${pluginDir}/buildServerPlugin"/> | |
| <property name="pluginDistLib" value="${pluginDist}/lib"/> | |
| <mkdir dir="${pluginDist}"/> | |
| <mkdir dir="${pluginDistLib}"/> | |
| <copy file="build-server4idea/META-INF/plugin.xml" todir="${build-server4idea_sources.output.dir}/META-INF"/> | |
| <jar file="${pluginDistLib}/buildServer4Idea.jar" basedir="${build-server4idea_sources.output.dir}"/> | |
| <jar file="${pluginDistLib}/patches.jar" basedir="patches/classes"/> | |
| <jar file="${pluginDistLib}/patches-impl.jar" basedir="patches-impl/classes"/> | |
| <copy file="${agentDistLib}/buildServerRemoteServerProxy.jar" todir="${pluginDistLib}"/> | |
| <copy file="${agentDistLib}/buildServerServerModel.jar" todir="${pluginDistLib}"/> | |
| <copy file="${agentDistLib}/buildServerXmlRpcWrapper.jar" todir="${pluginDistLib}"/> | |
| <copy file="${agentDistLib}/buildServerMessages.jar" todir="${pluginDistLib}"/> | |
| <copy file="${agentDistLib}/utils.jar" todir="${pluginDistLib}"/> | |
| <copy file="lib/xpp3_min-1.1.3.4.M.jar" todir="${pluginDistLib}"/> | |
| <copy file="lib/xstream-1.1.2.jar" todir="${pluginDistLib}"/> | |
| <copy file="lib/commons-beanutils-core.jar" todir="${pluginDistLib}"/> | |
| <copy file="build-server4idea/lib/commons-httpclient-3.0-rc4.jar" todir="${pluginDistLib}"/> | |
| <copy file="build-server4idea/lib/commons-logging.jar" todir="${pluginDistLib}"/> | |
| <zip file="${dist}/buildServerPlugin.zip" basedir="${pluginDir}"/> | |
| <delete dir="${pluginDir}" quiet="true"/> | |
| </target> | |
| <target name="agentNTServiceLauncher" if="agentNTServiceLauncher.exe4j.present"> | |
| <delete file="${dist}/bin/agentd.exe" /> | |
| <!--<property name="agentJRE" value="${agentDist}\jre"/> | |
| <delete dir="${agentJRE}"/> | |
| <mkdir dir="${agentJRE}"/> | |
| <copy todir="${agentJRE}"> | |
| <fileset dir="\\build-unit\buildserver.jre" /> | |
| </copy> | |
| --> | |
| <delete file="${basedir}/agent.service.exe4j"/> | |
| <copy file="${basedir}/agent.service.exe4j.template" tofile="${basedir}/agent.service.exe4j"/> | |
| <replace file="${basedir}/agent.service.exe4j" value="${dist}/agent"> | |
| <replacetoken><![CDATA[##DISTAGENT##]]></replacetoken> | |
| </replace> | |
| <taskdef name="exe4j" | |
| classname="com.exe4j.Exe4JTask" | |
| classpath="${exe4j.installation}\bin\exe4j.jar"/> | |
| <exe4j projectfile="${basedir}/agent.service.exe4j" | |
| release="1.0.${version}.0" | |
| /> | |
| </target> | |
| <target name="buildAgentDist" description="Build distibution of Build Server Agent"> | |
| <mkdir dir="${agentDistLib}"/> | |
| <copy todir="${agentDistLib}"> | |
| <fileset dir="lib"> | |
| <include name="*.jar"/> | |
| <exclude name="idea.jar"/> | |
| <exclude name="extensions.jar"/> | |
| <exclude name="h2.jar"/> | |
| <exclude name="hsqldb.jar"/> | |
| </fileset> | |
| <fileset dir="agent/lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| <fileset dir="tools/idea/lib"> | |
| <include name="annotations.jar"/> | |
| <include name="openapi.jar"/> | |
| <include name="resources*.jar"/> | |
| </fileset> | |
| </copy> | |
| <manifest file="manifest.mf"> | |
| <attribute name="Built-By" value="JetBrains BuildServer"/> | |
| <attribute name="Implementation-Version" value="${version}"/> | |
| </manifest> | |
| <jar file="${agentDistLib}/buildServerAgent.jar" basedir="agent/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerCommonRuntime.jar" basedir="common-runtime/classes" | |
| manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerCommon.jar" basedir="common/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerRuntimeUtil.jar" basedir="runtime-util/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerServerModel.jar" basedir="server-model/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerMessages.jar" basedir="messages/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerServerLogging.jar" basedir="server-logging/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerXmlRpcWrapper.jar" basedir="xml-rpc-wrapper/classes" | |
| manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/buildServerRemoteServerProxy.jar" basedir="remote-server-proxy/classes" | |
| manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/launcher.jar" basedir="launcher/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/patches-impl.jar" basedir="patches-impl/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/patches.jar" basedir="patches/classes" manifest="manifest.mf"/> | |
| <jar file="${agentDistLib}/utils.jar" basedir="utils/classes" manifest="manifest.mf"/> | |
| <mkdir dir="${agentDist}/bin"/> | |
| <copy todir="${agentDist}/bin"> | |
| <fileset dir="bin"> | |
| <include name="*"/> | |
| <exclude name="*.log"/> | |
| <exclude name="runAll.*"/> | |
| </fileset> | |
| </copy> | |
| <fixcrlf srcdir="${agentDist}/bin" includes="*.sh" eol="lf" eof="remove"/> | |
| <chmod file="${agentDist}/bin/agent.sh" perm="ugo+rx"/> | |
| <!-- --> | |
| <condition property="agentNTServiceLauncher.exe4j.present"> | |
| <and> | |
| <isset property="exe4j.installation" /> | |
| <os family="windows"/> | |
| </and> | |
| </condition> | |
| <antcall target="agentNTServiceLauncher"/> | |
| <zip file="${dist}/buildAgent.zip" basedir="${agentDist}"/> | |
| <antcall target="dotnetBuild" /> | |
| <antcall target="izPack"/> | |
| <antcall target="izPackToExe"/> | |
| <!-- | |
| Please do not uncomment this line. it causes build to fail | |
| <delete dir="${agentDist}"/> | |
| --> | |
| </target> | |
| <target name="izPack" unless="fast" if="underWindows"> | |
| <property name="iz" value="${dist}/iz" /> | |
| <delete dir="${iz}" /> | |
| <mkdir dir="${iz}" /> | |
| <jar file="${iz}/jdk-searcher.jar" basedir="jdk-searcher/classes"/> | |
| <jar file="${iz}/agentInstaller.jar"> | |
| <fileset dir="agentInstaller/classes"> | |
| <include name="jetbrains/**"/> | |
| </fileset> | |
| </jar> | |
| <jar file="${iz}/agentInstaller-UI.jar" basedir="agentInstaller-UI/classes"> | |
| <manifest> | |
| <attribute name="Class-Path" value="agentInstaller.jar jdk-searcher.jar jniwrap.jar winpack.jar"/> | |
| </manifest> | |
| </jar> | |
| <copy toDir="${iz}" file="${basedir}/lib/jniwrap.jar"/> | |
| <copy toDir="${iz}" file="${basedir}/lib/winpack.jar"/> | |
| <jar file="${iz}/AgentPropertiesPanel.jar" basedir="agentInstaller-izPack/classes" /> | |
| <copy file="${iz}/AgentPropertiesPanel.jar" toFile="${iz}/StartServicePanel.jar" /> | |
| <!-- | |
| This code adds custom panel to izPack. Not used. | |
| <delete file="${iz}/standalone-compiler.jar"/> | |
| <copy file="${basedir}/agentInstaller/lib/standalone-compiler.jar" toDir="${iz}"/> | |
| <jar update="true" destfile="${iz}/standalone-compiler.jar"> | |
| <zipfileset file="${iz}/AgentPropertiesPanel.jar" prefix="bin/panels" /> | |
| <zipfileset file="${iz}/StartServicePanel.jar" prefix="bin/panels" /> | |
| </jar> | |
| <taskdef name="izpack" classpath="${iz}/standalone-compiler.jar" | |
| classname="com.izforge.izpack.ant.IzPackTask"/>--> | |
| <taskdef name="izpack" classpath="${basedir}/agentInstaller/lib/standalone-compiler.jar" | |
| classname="com.izforge.izpack.ant.IzPackTask"/> | |
| <copy toDir="${iz}"> | |
| <fileset dir="${basedir}/agentInstaller/src/izPack"> | |
| <include name="*"/> | |
| </fileset> | |
| </copy> | |
| <copy todir="${basedir}/bin/native/3rdparty"> | |
| <fileset dir="${basedir}/bin"> | |
| <include name="**jniwrap**"/> | |
| </fileset> | |
| </copy> | |
| <copy toDir="${basedir}"> | |
| <fileset dir="${basedir}/agentInstaller/"> | |
| <include name="bin/native/**"/> | |
| </fileset> | |
| </copy> | |
| <echo message="Makes the installer using IzPack"/> | |
| <izpack input="${basedir}/agentInstaller/src/buildAgentInstaller.xml" | |
| output="${dist}/buildAgentInstaller.jar" | |
| installerType="standard" | |
| basedir="${iz}" | |
| compression="bzip2" | |
| compressionlevel="9" | |
| /> | |
| <copy file="${iz}/agentInstaller.jar" toDir="${dist}"/> | |
| <signjar alias="1" storetype="pkcs12" | |
| keystore="${basedir}/agent/crt.txt" storepass="izzygoos" maxmemory="128m"> | |
| <fileset dir="${dist}"> | |
| <include name="agentInstaller.jar"/> | |
| <include name="buildAgentInstaller.jar"/> | |
| </fileset> | |
| </signjar> | |
| <sleep milliseconds="200"/> | |
| <delete dir="${iz}" /> | |
| <delete dir="${basedir}/bin/native"/> | |
| </target> | |
| <target name="izPackToExe" unless="fast" if="underWindows"> | |
| <delete dir="${agentDist}/exe"/> | |
| <mkdir dir="${agentDist}/exe"/> | |
| <copy todir="${agentDist}/exe"> | |
| <fileset dir="${basedir}/tools/izPackLauncher"> | |
| <include name="**/*"/> | |
| </fileset> | |
| <fileset dir="${dist}"> | |
| <include name="agentInstaller.jar"/> | |
| <include name="agentInstaller-UI.jar"/> | |
| <include name="buildAgentInstaller.jar"/> | |
| </fileset> | |
| <fileset dir="${basedir}/agentInstaller/src"> | |
| <include name="launcher.ini"/> | |
| </fileset> | |
| </copy> | |
| <delete file="${agentDist}/installer.7z" /> | |
| <exec executable="${basedir}/tools/7zip/7z.exe" dir="${agentDist}/exe"> | |
| <arg line="a -t7z -mx=9 "..\installer.7z" **"/> | |
| </exec> | |
| <concat destfile="${dist}/agentInstaller.exe" binary="yes"> | |
| <fileset file="${basedir}/tools/7zip/7zS.sfx"/> | |
| <fileset file="${basedir}/agentInstaller/src/7zConfig.txt" /> | |
| <fileset file="${agentDist}/installer.7z" /> | |
| </concat> | |
| <delete dir="${agentDist}/exe" /> | |
| <delete file="${agentDist}/installer.7z" /> | |
| </target> | |
| <target name="dotnetBuild" if="dotnet"> | |
| <exec dir="${basedir}/Dotnet-listeners/" executable="${basedir}/tools/nant/bin/nant.exe"/> | |
| </target> | |
| <target name="buildAgentPlugins"> | |
| <!--ANT plugin--> | |
| <property name="antPluginLib" value="${dist}/antPlugin/lib"/> | |
| <property name="iprPluginLib" value="${dist}/iprPlugin/lib"/> | |
| <mkdir dir="${antPluginLib}"/> | |
| <mkdir dir="${iprPluginLib}"/> | |
| <jar file="${antPluginLib}/buildServerAntRunner.jar" basedir="ant-runner/classes" manifest="manifest.mf"/> | |
| <jar file="${iprPluginLib}/buildServerIprRunner.jar" manifest="manifest.mf"> | |
| <fileset dir="idea-runner/classes"/> | |
| </jar> | |
| <copy todir="${iprPluginLib}"> | |
| <fileset dir="idea-runner/lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| </copy> | |
| <jar file="${antPluginLib}/buildServerAntRunntime.jar" basedir="ant-runtime/classes" manifest="manifest.mf"/> | |
| <jar file="${antPluginLib}/buildServerAntServerLogging.jar" basedir="ant-server-logging/classes" | |
| manifest="manifest.mf"/> | |
| <zip basedir="${dist}" destfile="${dist}/antPlugin.zip"> | |
| <include name="antPlugin/**"/> | |
| </zip> | |
| <delete dir="${dist}/antPlugin"/> | |
| <zip basedir="${dist}" destfile="${dist}/iprPlugin.zip"> | |
| <include name="iprPlugin/**"/> | |
| </zip> | |
| <delete dir="${dist}/iprPlugin"/> | |
| <!-- DotNet plugins --> | |
| <property name="dotNetBase" value="${dist}/dotnetPlugin"/> | |
| <property name="dotNetLibs" value="${dotNetBase}/bin"/> | |
| <property name="classes" value="${dotNetBase}/lib"/> | |
| <mkdir dir="${dotNetLibs}"/> | |
| <mkdir dir="${classes}"/> | |
| <jar file="${classes}/dotNetCommonRuntime.jar" basedir="${basedir}/DotNetCommon-runtime/classes" manifest="manifest.mf"/> | |
| <jar file="${classes}/nantRunner.jar" basedir="${basedir}/NAnt-runner/classes" manifest="manifest.mf"/> | |
| <jar file="${classes}/msBuildRunner.jar" basedir="${basedir}/MSBuild-runner/classes" manifest="manifest.mf"/> | |
| <jar file="${classes}/solution2005Runner.jar" basedir="${basedir}/Solution2005-runner/classes" manifest="manifest.mf"/> | |
| <copy todir="${dotNetLibs}"> | |
| <fileset dir="${basedir}/DotNet-listeners/bin"> | |
| <include name="*.dll"/> | |
| <include name="*.pdb"/> | |
| </fileset> | |
| </copy> | |
| <zip basedir="${dist}" destfile="${dist}/dotnetPlugin.zip"> | |
| <include name="dotnetPlugin/**"/> | |
| </zip> | |
| <delete dir="${dotNetBase}"/> | |
| <!-- Coverage plugin --> | |
| <mkdir dir="${dist}/coveragePlugin/lib"/> | |
| <jar file="${dist}/coveragePlugin/lib/buildServerCoverageAgent.jar" basedir="coverage-agent/classes" manifest="manifest.mf"/> | |
| <copy todir="${dist}/coveragePlugin/lib" file="coverage-agent/lib/emma.jar"/> | |
| <zip basedir="${dist}" destfile="${dist}/coveragePlugin.zip"> | |
| <include name="coveragePlugin/**"/> | |
| </zip> | |
| <delete dir="${dist}/coveragePlugin"/> | |
| <!-- Maven2 plugin --> | |
| <mkdir dir="${dist}/mavenPlugin/lib"/> | |
| <jar file="${dist}/mavenPlugin/lib/buildServerMaven2Agent.jar" basedir="maven-runner/classes"/> | |
| <jar file="${dist}/mavenPlugin/lib/maven2AgentRuntime.jar" basedir="maven-runtime/classes"/> | |
| <zip basedir="${dist}" destfile="${dist}/mavenPlugin.zip"> | |
| <include name="mavenPlugin/**"/> | |
| </zip> | |
| <delete dir="${dist}/mavenPlugin"/> | |
| <!--inspections plugin--> | |
| <property name="inspectionPluginLib" value="${dist}/inspectionPlugin/lib"/> | |
| <mkdir dir="${inspectionPluginLib}"/> | |
| <jar file="${inspectionPluginLib}/buildServerInspectionRunner.jar" manifest="manifest.mf"> | |
| <fileset dir="inspections-runner/classes"/> | |
| <fileset dir="inspections-util/classes"/> | |
| </jar> | |
| <jar file="${inspectionPluginLib}/buildServerInspectionServerLogging.jar" basedir="server-side-inspections/classes" | |
| manifest="manifest.mf"/> | |
| <zip basedir="${dist}" destfile="${dist}/inspectionPlugin.zip"> | |
| <include name="inspectionPlugin/**"/> | |
| </zip> | |
| <delete dir="${dist}/inspectionPlugin"/> | |
| </target> | |
| <!-- =================================================================== --> | |
| <!-- Complete build --> | |
| <!-- =================================================================== --> | |
| <target name="masterbuild" depends="init,all,test,dist"/> | |
| <!-- =================================================================== --> | |
| <!-- Complete build --> | |
| <!-- =================================================================== --> | |
| <target name="testsbuild" depends="init,all,test"/> | |
| <!-- =================================================================== --> | |
| <!-- All tests --> | |
| <!-- =================================================================== --> | |
| <target name="test" description="Run all tests"> | |
| <!--<started activity="Preparing tests" type="TestInit"/>--> | |
| <!--<progress message="deleting test reports" />--> | |
| <delete dir="${test-reports}" quiet="true"/> | |
| <!--<progress message="Making dir ${test-reports}" />--> | |
| <mkdir dir="${test-reports}"/> | |
| <!--<finished activity="Preparing tests" type="TestInit"/>--> | |
| <property name="PKG" value=""/> | |
| <echo message="${PKG}" file="pkg.txt"/> | |
| <replace file="pkg.txt" token="." value="/"/> | |
| <loadfile property="PKG2" srcfile="pkg.txt"/> | |
| <condition property="PKG1" value="${PKG2}.java"> | |
| <contains string="${PKG2}" substring="Test"/> | |
| </condition> | |
| <condition property="PKG1" value="**/*Test.java"> | |
| <not> | |
| <isset property="PKG2"/> | |
| </not> | |
| </condition> | |
| <property name="PKG1" value="${PKG2}**/*Test.java"/> | |
| <delete file="pkg.txt"/> | |
| <echo message="======> Running tests from ${PKG1}"/> | |
| <property name="suspend" value="n"/> | |
| <property name="use.mysql.db" value=""/> | |
| <!--<progress message="Starting junit" />--> | |
| <junit printsummary="yes" | |
| haltonfailure="no" showoutput="no" | |
| failureProperty="failure_found" | |
| fork="yes" | |
| forkmode="once" reloading="no" includeantruntime="true"> | |
| <classpath> | |
| <fileset dir="${jdk.home.idea_jdk}/lib" > | |
| <include name="tools.jar"/> | |
| </fileset> | |
| <fileset dir="${basedir}/tools/tomcat/common/lib/"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| <fileset dir="."> | |
| <include name="**/lib/**/*.jar"/> | |
| <exclude name="web/exploded/**/lib/*.jar"/> | |
| <exclude name="**/testData/**/*.jar"/> | |
| <exclude name="**/work/**/*.jar"/> | |
| <exclude name="build-server4idea/lib/patches.jar"/> | |
| <exclude name="dist/**/*.jar"/> | |
| </fileset> | |
| <dirset dir="."> | |
| <include name="**/classes"/> | |
| <include name="**/classesTest"/> | |
| <exclude name="**/work/**/classes*"/> | |
| </dirset> | |
| <fileset dir="${ant.home}"> | |
| <include name="**/lib/*.jar"/> | |
| </fileset> | |
| </classpath> | |
| <jvmarg value="-ea"/> | |
| <jvmarg value="-Xmx512m"/> | |
| <jvmarg value="-DBUILDSERVER_ROOT=${basedir}"/> | |
| <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=${suspend},address=5555"/> | |
| <jvmarg line="-Xbootclasspath/p:${basedir}/tools/idea/lib/boot.jar -Didea.load.plugins=false -Didea.home.path=${basedir}/tools/idea"/> | |
| <sysproperty key="ant.home" value="${ant.home}"/> | |
| <sysproperty key="java.awt.headless" value="true"/> | |
| <sysproperty key="use.mysql.db" value="${use.mysql.db}"/> | |
| <sysproperty key="emma.rt.control" value="false"/> | |
| <sysproperty key="report.html.out.file" value="${report.html.out.file}"/> | |
| <sysproperty key="dotNet" value="${dotNet}"/> | |
| <sysproperty key="DotNetFramework2.0" value="${DotNetFramework2.0}"/> | |
| <sysproperty key="DotNetFramework1.1" value="${DotNetFramework1.1}"/> | |
| <formatter type="xml"/> | |
| <batchtest todir="${test-reports}"> | |
| <fileset dir="test/src"> | |
| <include name="${PKG1}"/> | |
| <!--<exclude name="**/AntRunnerTest.java"/>--> | |
| <!--<exclude name="**/LargeHistoryTest.java"/>--> | |
| <!--<exclude name="**/Inspection*Test.java"/>--> | |
| <exclude name="testData/*Test.java"/> | |
| </fileset> | |
| <fileset dir="common/testSource"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="web-test/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="patches-tests/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="perforce-test/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="svn-test/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="cvs-support-tests/testSrc"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="build-server4idea-tests/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| <fileset dir="inspection-tests/src"> | |
| <include name="${PKG1}"/> | |
| </fileset> | |
| </batchtest> | |
| </junit> | |
| <!-- | |
| <mkdir dir="${html-reports}"/> | |
| <junitreport todir="${test-reports}"> | |
| <fileset dir="${test-reports}"> | |
| <include name="TEST-*.xml"/> | |
| </fileset> | |
| <report format="frames" todir="${html-reports}"/> | |
| </junitreport> | |
| --> | |
| <antcall target="check_test"/> | |
| </target> | |
| <target name="check_test" if="failure_found"> | |
| <fail message="Failures found"/> | |
| </target> | |
| <target name="testq"> | |
| <java failonerror="true" classname="org.apache.tools.ant.Main" fork="true"> | |
| <classpath> | |
| <fileset dir="${ant.home}"> | |
| <include name="**/*.jar"/> | |
| </fileset> | |
| </classpath> | |
| <jvmarg | |
| line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5009"/> | |
| <arg value="-f"/> | |
| <arg value="build.xml"/> | |
| <arg value="check_test"/> | |
| </java> | |
| </target> | |
| <target name="scramble" unless="skip.scramble" depends="buildServerDist,buildAgentDist,buildAgentPlugins,buildPlugin"> | |
| <java | |
| classname="GenerateZkmScript" | |
| fork="true" | |
| failonerror="true"> | |
| <arg value="${basedir}"/> | |
| <arg value="${dist}"/> | |
| <arg value="${basedir}/build/script.zkm.stub"/> | |
| <classpath> | |
| <pathelement location="${basedir}/build/classes"/> | |
| </classpath> | |
| </java> | |
| <java | |
| classname="ZKM" | |
| fork="true" | |
| failonerror="true"> | |
| <jvmarg value="-mx700m"/> | |
| <arg value="-v"/> | |
| <arg value="${dist}/script.zkm"/> | |
| <classpath> | |
| <fileset dir="${basedir}"> | |
| <include name="**/lib/*.jar"/> | |
| <exclude name="dist/**/*.jar"/> | |
| <exclude name="web/**/*.jar"/> | |
| <exclude name="agentInstaller/**/*.jar"/> | |
| <exclude name="build/**/*.jar"/> | |
| <exclude name="**/test*/**/*.jar"/> | |
| <exclude name="**/tools/**/*.jar"/> | |
| </fileset> | |
| <fileset dir="${basedir}"> | |
| <include name="web/lib/*.jar"/> | |
| <include name="tools/ant/lib/*.jar"/> | |
| <include name="tools/maven*/**/*.jar"/> | |
| <include name="tools/surefire*/*.jar"/> | |
| <include name="tools/tomcat/**/lib/*.jar"/> | |
| <include name="tools/idea/lib/openapi.jar"/> | |
| <include name="tools/idea/lib/idea.jar"/> | |
| </fileset> | |
| <pathelement location="${basedir}/build/lib/ZKM.jar"/> | |
| </classpath> | |
| </java> | |
| <mkdir dir="${dist}/unscrambled" /> | |
| <copy todir="${dist}/unscrambled"> | |
| <fileset dir="${dist}"> | |
| <include name="*.zip"/> | |
| <include name="*.war"/> | |
| </fileset> | |
| </copy> | |
| <move todir="${dist}/unscrambled"> | |
| <fileset dir="${basedir}"> | |
| <include name="ChangeLog.txt"/> | |
| <include name="ZKM*.txt"/> | |
| </fileset> | |
| <fileset dir="${dist}"> | |
| <include name="script.zkm"/> | |
| </fileset> | |
| </move> | |
| <move todir="${dist}"> | |
| <fileset dir="${dist}/scrambled"> | |
| <include name="*.*"/> | |
| </fileset> | |
| </move> | |
| <delete dir="${dist}/scrambled"/> | |
| </target> | |
| <target name="precompile-jsp" unless="fast"> | |
| <property name="tmp.dir.web" value="${module.web.basedir}/temp"/> | |
| <mkdir dir="${tmp.dir.web}"/> | |
| <unwar src="${dist}/${j2ee.path.jar}" dest="${tmp.dir.web}"/> | |
| <property name="webapp.dir" location="${tmp.dir.web}"/> | |
| <property name="generated.web.xml" location="${webapp.dir}/WEB-INF/generated_web.xml"/> | |
| <path id="jspc.classpath"> | |
| <pathelement location="${webapp.dir}/WEB-INF/classes"/> | |
| <fileset dir="${webapp.dir}/WEB-INF/lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| <path refid="library.tomcat.classpath"/> | |
| <pathelement location="${webapp.dir}/lib/jstl.jar"/> | |
| <pathelement location="${webapp.dir}/lib/standard.jar"/> | |
| <fileset dir="${basedir}/tools/tomcat/bin"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| <fileset dir="${basedir}/tools/tomcat/server/lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| </path> | |
| <taskdef classname="org.apache.jasper.JspC" name="jasper2" > | |
| <classpath refid="jspc.classpath"/> | |
| </taskdef> | |
| <jasper2 validateXml="false" uriroot="${webapp.dir}" webXmlFragment="${generated.web.xml}" outputDir="${webapp.dir}/WEB-INF/src" compilerSourceVM="1.5"/> | |
| <javac classpathref="jspc.classpath" source="1.5" srcdir="${webapp.dir}/WEB-INF/src" destdir="${webapp.dir}/WEB-INF/classes"/> | |
| <loadfile property="jsp-servlets" srcfile="${generated.web.xml}"/> | |
| <replace file="${webapp.dir}/WEB-INF/web.xml" token="<!-- PRECOMPILED JSPS -->" value="${jsp-servlets}"/> | |
| <jar update="true" destfile="${dist}/${j2ee.path.jar}"> | |
| <zipfileset dir="${webapp.dir}/WEB-INF/classes" prefix="WEB-INF/classes"/> | |
| <zipfileset file="${webapp.dir}/WEB-INF/web.xml" prefix="WEB-INF"/> | |
| </jar> | |
| <delete dir="${tmp.dir.web}" failonerror="false"/> | |
| </target> | |
| </project> |