If anyone would like to try it out in the mean time, your feedback would be most appreciated! Here is what you would need in your pom.xml:
<dependencies> <dependency> <groupId>com.google.wave</groupId> <artifactId>wave-robot-api</artifactId> <version>20100408-SNAPSHOT</version> </dependency> </dependencies> <repositories> <repository> <id>public-repo_maven2-repository</id> <url>http://public-repo.googlecode.com/svn/repository/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>public-repo_maven2-snapshots</id> <url>http://public-repo.googlecode.com/svn/snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> </repositories>
Some stuff I picked up along the way:
- When using the WebDAV wagon with Google Code, make sure you use https, otherwise you're liable to get a 405 method not allowed error on a deploy.
- There's an interesting bug with the Robot API's EventSerializerTest. The behavior is different in Javac 1.5 vs 1.6 but compile fine with the Eclipse compiler. There is bug report for Javac here (fixed in 1.7). I opened a ticket for Google to explicitly cast this in the method so the compiler doesn't have to do any inference, so that way it will build fine with Javac even if they're using JDK 1.6. In the mean time, I've opted to use the Eclipse compiler in the pom rather than altering my local copy of the source. My goal is to make this an exact match to the class files in the zip they've distributed.
- Guava, the successor to Google Collections (as a backwards compatible superset) and dependency of the Wave model API is on Maven central, but not on Google's repository. It's a little odd, but shouldn't cause any issues.
A special thanks to Jurgen and commenters for the helpful post that got me started.