blob: 6761bb3aa7329b906e8bcd0c564c867595d1bf1f [file] [log] [blame]
<?xml version="1.0"?>
<project name="CXF JProfile" default="compile">
<property name="jprofile.home" location="/opt/jprofiler5"/>
<property name="cxf.dist" location="../../distribution/target/apache-cxf-2.1-SNAPSHOT.dir/apache-cxf-2.1-SNAPSHOT"/>
<target name="setNativeLibDir" depends="setPlatform">
<property name="nativelib.dir" location="${jprofile.home}/bin/${platform}"/>
</target>
<target name="setPlatform" unless="platform">
<condition property="platform" value="windows">
<os family="windows" arch="x86"/>
</condition>
<condition property="platform" value="windows-x64">
<os family="windows" arch="amd64"/>
</condition>
<condition property="platform" value="macos">
<os family="mac"/>
</condition>
<condition property="platform" value="linux-x86">
<os name="linux" arch="x86"/>
</condition>
<condition property="platform" value="linux-x64">
<os name="linux" arch="amd64"/>
</condition>
<condition property="platform" value="solaris-sparc">
<os name="sunos" arch="sparc"/>
</condition>
<condition property="platform" value="solaris-sparcv9">
<os name="sunos" arch="sparcv9"/>
</condition>
<condition property="platform" value="solaris-x86">
<os name="sunos" arch="x86"/>
</condition>
<condition property="platform" value="solaris-x64">
<os name="sunos" arch="x64"/>
</condition>
<condition property="platform" value="hpux-parisc">
<os name="hp-ux" arch="pa_risc2.0"/>
</condition>
<condition property="platform" value="hpux-parisc64">
<os name="hp-ux" arch="pa_risc2.0w"/>
</condition>
<condition property="platform" value="aix-ppc64">
<os name="aix" arch="ppc64"/>
</condition>
<condition property="platform" value="aix-ppc">
<os name="aix" arch="ppc"/>
</condition>
<fail unless="platform">Could not determine native library directory. Please pass the -Dplatform=... property manually to this ant script.</fail>
</target>
<target name="setNativeLibEnvVar">
<property environment="env"/>
<condition property="nativelib.envvar" value="Path">
<and>
<os family="windows"/>
<isset property="env.Path"/>
</and>
</condition>
<condition property="nativelib.envvar" value="PATH">
<and>
<os family="windows"/>
<not>
<isset property="nativelib.envvar"/>
</not>
</and>
</condition>
<condition property="nativelib.envvar" value="DYLD_LIBRARY_PATH">
<os family="mac"/>
</condition>
<condition property="nativelib.envvar" value="SHLIB_PATH">
<os name="hp-ux"/>
</condition>
<condition property="nativelib.envvar" value="LIBPATH">
<os name="aix"/>
</condition>
<condition property="nativelib.envvar" value="LD_LIBRARY_PATH">
<not>
<isset property="nativelib.envvar"/>
</not>
</condition>
<setEnvvarValue varname="${nativelib.envvar}"/>
</target>
<macrodef name="setEnvvarValue">
<attribute name="varname"/>
<sequential>
<property environment="env"/>
<property name="nativelib.envvarValue" value="${env.@{varname}}"/>
</sequential>
</macrodef>
<target name="prepare">
<mkdir dir="bin"/>
</target>
<path id="compile-classpath">
<pathelement location="${jprofile.home}/bin/agent.jar"/>
<pathelement location="../../systests/target/classes"/>
<pathelement location="../../systests/target/test-classes"/>
<pathelement location="../../testutils/target/classes"/>
<fileset dir="${cxf.dist}/lib">
<include name="*.jar"/>
</fileset>
</path>
<path id="run-classpath">
<pathelement location="bin"/>
<pathelement location="../../systests/target/classes"/>
<pathelement location="../../systests/target/test-classes"/>
<pathelement location="../../testutils/target/classes"/>
<fileset dir="${cxf.dist}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="compile" depends="prepare" description="Compile the offline profiling sample">
<!-- The controller API classes are contained in agent.jar -->
<javac srcdir="src/main/java" destdir="bin">
<classpath refid="compile-classpath"/>
</javac>
</target>
<target name="clean" description="Delete all compiled classes and saved snapshot files">
<delete>
<fileset dir="bin">
<include name="src/**/*.class"/>
<include name="*.jps"/>
</fileset>
</delete>
</target>
<target name="run-client-endpoint" depends="compile,setNativeLibDir" description="Run the offline profiling sample">
<java classname="org.apache.cxf.profile.ClientEndpointCreationLoop" fork="true">
<arg value="100"/>
<arg value="client_endpoint.jps"/>
<jvmarg value="-agentlib:jprofilerti=offline,id=146,config=jprofileConfig.xml"/>
<jvmarg value="-Xbootclasspath/a:${jprofile.home}/bin/agent.jar"/>
<env key="LD_LIBRARY_PATH" path="${nativelib.dir}:${nativelib.envvarValue}"/>
<classpath refid="run-classpath"/>
</java>
</target>
<target name="run-bus-init" depends="compile,setNativeLibDir" description="Run the offline profiling sample">
<java classname="org.apache.cxf.profile.DefaultBusInitialization" fork="true">
<arg value="100"/>
<arg value="bus_initialization.jps"/>
<!--
<jvmarg value="-Dorg.apache.cxf.nofastinfoset=true"/>
-->
<jvmarg value="-Dcxf.config.file=bloop.xml"/>
<jvmarg value="-agentlib:jprofilerti=offline,id=146,config=jprofileConfig.xml"/>
<jvmarg value="-Xbootclasspath/a:${jprofile.home}/bin/agent.jar"/>
<env key="LD_LIBRARY_PATH" path="${nativelib.dir}:${nativelib.envvarValue}"/>
<classpath refid="run-classpath"/>
</java>
</target>
<target name="run-server-endpoint" depends="compile,setNativeLibDir" description="Run the offline profiling sample">
<java classname="org.apache.cxf.profile.EndpointCreationLoop3" fork="true">
<arg value="10"/>
<arg value="ecl3.jps"/>
<jvmarg value="-Dcxf.config.file=bloop.xml"/>
<jvmarg value="-agentlib:jprofilerti=offline,id=146,config=jprofileConfig.xml"/>
<jvmarg value="-Xbootclasspath/a:${jprofile.home}/bin/agent.jar"/>
<env key="LD_LIBRARY_PATH" path="${nativelib.dir}:${nativelib.envvarValue}"/>
<classpath refid="run-classpath"/>
</java>
</target>
</project>