Example pom.xml

The following example pom is a minimal pom for including Baggage, Retro, Pivot Tracing, and X-Trace instrumentation to a system. It also applies the AspectJ instrumentation aspects for each project. The pre-instrumented version of HDFS has these pom elements included.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.my.organization</groupId>
    <artifactId>example-project</artifactId>
    <packaging>jar</packaging>

    <name>My Example Project</name>

    <properties>
        <aspectj.version>1.7.3</aspectj.version>
        <tracingplane.version>4.0</tracingplane.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>tracingplane-common</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>xtrace-common</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>pivottracing-common</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>retro-common</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>tracingplane-client</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>xtrace-client</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>pivottracing-agent</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>retro-resources</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>retro-throttling</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>tracingplane-aspects</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>xtrace-aspects</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>pivottracing-aspects</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
        <dependency>
            <groupId>edu.brown.cs.systems</groupId>
            <artifactId>retro-aspects</artifactId>
            <version>${tracingplane.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>1.5</version>
                <configuration>
                    <aspectLibraries>
                        <aspectLibrary>
                            <groupId>edu.brown.cs.systems</groupId>
                            <artifactId>tracingplane-aspects</artifactId>
                        </aspectLibrary>
                        <aspectLibrary>
                            <groupId>edu.brown.cs.systems</groupId>
                            <artifactId>retro-aspects</artifactId>
                        </aspectLibrary>
                        <aspectLibrary>
                            <groupId>edu.brown.cs.systems</groupId>
                            <artifactId>xtrace-aspects</artifactId>
                        </aspectLibrary>
                        <aspectLibrary>
                            <groupId>edu.brown.cs.systems</groupId>
                            <artifactId>pivottracing-aspects</artifactId>
                        </aspectLibrary>
                    </aspectLibraries>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <source>1.7</source>
                            <target>1.7</target>
                            <complianceLevel>1.7</complianceLevel>
                            <Xjoinpoints>synchronization</Xjoinpoints>
                            <showWeaveInfo>false</showWeaveInfo>
                            <verbose>false</verbose>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>