Steve asked me to send a shout out here, so Maven users can give us
feedback about this.
I just committed first part of the Maven plugin for Terracotta.
Currently it supports only tc:bootjar tc:start and tc:stop. First one
will build bootjar and the other two will start and stop DSO server
accordingly. I'll be adding few more goals in a next few days, the idea
is to have something like tc:run and tc:test goals that would do the
required orchestration for building bootjar, starting dso server and
spawning several java processes configured with DSO. If you have ideas
or suggestions please don't hesitate to share.
Currently the tc:bootjar goal can be bound to the project build cycle
in the plugins section of pom.xml (that will automatically run
tc:bootjar goal when you run mvn package or mvn install):
<plugin>
<groupId>org.terracotta.maven.plugins</groupId>
<artifactId>tc-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>bootjar</goal>
</goals>
</execution>
</executions>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<config>tc-config.xml</config>
<bootJar>target/bootjar.jar</bootJar>
<!-- <jvm>C:\jdk1.6.0\bin\java.exe</jvm> -->
</configuration>
</plugin>
To make it work you need to get few dependencies setup. Right now they
need to be installed into local Maven repository manually, but I hope we
can get them deployed in one of the Maven repositories soon.
First of all you'll need a snapshot version of the
maven-antrun-plugin. It is not avaialable from any snapshot repositories
yet, but you can install it locally:
svn co
https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-antrun-plugin
mvn install
Additional required artifacts. These jars available from Terracotta
install, i.e. after running "tcbuild dist" command they are all in
dist\lib folder and you'll need to run the following commands to get
them to local Maven repository (maybe we can get some shortcut target
for that in the "tcbuild").
set tc=C:\dev\terr\tc-trunk\code\base\build\dist\terracotta-trunk\lib
call mvn install:install-file -DgeneratePom=true
-DgroupId=org.terracotta -DartifactId=terracotta -Dversion=2.4
-Dpackaging=jar -Dfile=%tc%\tc.jar
call mvn install:install-file -DgeneratePom=true
-DgroupId=org.terracotta -DartifactId=tcconfig -Dversion=2.4
-Dpackaging=jar -Dfile=%tc%\tcconfig-xmlbeans-generated.jar
call mvn install:install-file -DgeneratePom=true
-DgroupId=org.terracotta -DartifactId=tcconfig1 -Dversion=1.0
-Dpackaging=jar -Dfile=%tc%\tcconfigV1.jar
call mvn install:install-file -DgeneratePom=true
-DgroupId=org.terracotta -DartifactId=tcconfig2 -Dversion=2.0
-Dpackaging=jar -Dfile=%tc%\tcconfigV2.jar
call mvn install:install-file -DgroupId=javax.management
-DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar
-Dfile=%tc%\jmxri-1.2.1.jar
call mvn install:install-file -DgroupId=com.sun.jdmk
-DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar
-Dfile=%tc%\jmxtools-1.2_8.jar
call mvn install:install-file -DgroupId=javax.management
-DartifactId=jmxremote -Dversion=1.0.1_04 -Dpackaging=jar
-Dfile=%tc%\jmxremote-1.0.1_04.jar
call mvn install:install-file -DgroupId=javax.management
-DartifactId=jmxremote_optional -Dversion=1.0.1_04 -Dpackaging=jar
-Dfile=%tc%\jmxremote_optional-1.0.1_04-b58.jar
Once you got all of the above, you can grab maven-tc-plugin from svn
and install it to local Maven repository:
svn co https://svn.terracotta.org/repo/tc/maven-plugin/trunk/maven-tc-plugin
mvn install
That is about it for now.
regards,
Eugene
PS: Orion, can you please stick this on the wiki somewhere? After that I
can update it with new changes and features. Thanks
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev