I have used RTC’s build engine with maven to create artifacts that are recognized in RTC build results. This is not a maven-like repository, but instead uses RTC to track build artifacts (for bug reports, etc.). (If you want to publish to a repository, I recommend that you look at http://www.sonatype.org/nexus/, which allows for both maven and Eclipse p2 repositories.)
To create artifacts recognized by RTC, in my maven pom.xml, I added some execution tasks to run the RTC publish tasks. Your maven install will need access to the IBM related jars. (You can copy them into your maven library.) There’s a discussion about this here: https://jazz.net/forum/questions/4936/how-to-publishing-build-results-using-maven
For example, the following will link the generated artifact to the RTC build report.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>jazz-link-activity</id>
<phase>package</phase>
<configuration>
<tasks name="publish link" if="link">
<property name="buildtoolkitpath" value="${buildtoolkitpath}" />
<property name="buildResultUUID" value="${buildResultUUID}" />
<property name="${repositoryAddress}" value="${repositoryAddress}" />
<property name="user" value="${builderId}" />
<property name="user.password" value="${builderPassword}" />
<property name="label"
value="${project.build.finalName}.v${buildNumber}" />
<property name="url" value="http://your-url/" />
<ant antfile="../XXX.parent/antTasks.xml" inheritAll="true"
target="linkPublisher" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
I have a separate file for the ant tasks (antTasks.xml), which exposes the RTC build functions. It looks like this:
<project name="JazzTasks">
<target name="setPaths" unless="jazzlib.dir">
<property name="jazzlib.dir" value="C:/Program Files/maven" />
<echo message="Jazz maven library path ${jazzlib.dir}" />
<echo message="Jazz buildtoolkit path ${buildtoolkitpath}" />
</target>
<target name="startBuildActivity" depends="init">
<echo message="Starting build activitty" />
</target>
<target name="linkPublisher" unless="publish.skip" depends="init">
<linkPublisher buildResultUUID="${buildResultUUID}" repositoryAddress="${repositoryAddress}" userId="${user}" password="${user.password}" verbose="true" url="${url}" label="${label}" failOnError="false" />
</target>
<target name="linkPublisher" unless="publish.skip" depends="init">
<linkPublisher buildResultUUID="${buildResultUUID}" repositoryAddress="${repositoryAddress}" userId="${user}" password="${user.password}" verbose="true" url="${url}" label="${label}" failOnError="false" />
</target>
<taskdef name="linkPublisher" classname="com.ibm.team.build.ant.task.LinkPublisherTask" >
<classpath>
<fileset dir="${buildtoolkitpath}">
<include name="*.jar" />
</fileset>
</classpath>
</taskdef>
The discussion on jazz.net is worth looking at.