On Jul 29, 12:03 pm, Alex North <[email protected]> wrote:
>    Thus I'd like to announce a new repository in the wave protocol project:

That is great news. It would be great if this was also used as an
opportunity to get binary jar files out of the source control. Also
since you're prepared to work through this disruptive process it would
be a shame if you got to the end of it and still didn't fully cater
for an ecosystem as large as Maven:
http://jarvana.com/jarvana/info/repository_statistics

To this end I've put together a pom.xml to provide maven builds for
wave-protocol-libraries. I'm more than happy to do what it takes to
make this a supported build system for wave-protocol-libraries.

The only things missing to get a full build appears to be these packages:
org.waveprotocol.wave.client.editor.constants
org.waveprotocol.wave.client.editor.content.paragraph.constants

Could you please consider not including the following packages in
wave-protocol-libraries?
org.waveprotocol.wave.crypto
org.waveprotocol.wave.federation.Proto
org.waveprotocol.wave.federation
org.waveprotocol.wave.federation.xmpp

The reasoning would be as follows:
- these are self-contained packages concerned with server<->server
transport and federation
- org.waveprotocol.wave.federation.xmpp adds many jar dependencies,
including a custom-patched jar that exists in no public repository and
is no longer maintained by upstream (whack/xmpp)
- the bulk of wave-protocol-libraries has minimal dependencies and
compiles to GWT

These packages could stay in fedone-server for now, or go into their
own wave-protocol-federation project. (Likewise, a
wave-protocol-websockets project could be created for client<->server
transport)

The pom.xml I've created assumes that the federation packages are left
out. This leaves a project with 5 dependencies (plus 5 test
dependencies).

If you want to try the pom, put it in the root project dir, install a
recent maven and try the following

# write a .project and .classpath for importing into Eclipse IDE
mvn eclipse:eclipse -DdownloadSources=true

# run unit tests (currently fails with build errors)
mvn clean test

I would be interested to hear if anyone has issues getting the
dependency gwt-user-2.1.0.M2.jar. We have our own private repo for
unreleased jars, so I haven't tested the svn repo at the bottom of the
pom.xml.

cheers

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

<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.google.wave</groupId>
  <artifactId>wave-protocol-libraries</artifactId>
  <version>0.3-SNAPSHOT</version>
  <packaging>jar</packaging>
  <parent>
    <artifactId>google</artifactId>
    <groupId>com.google</groupId>
    <version>5</version>
  </parent>
  <properties>
    <version.gwt>2.1.0.M2</version.gwt>
  </properties>
  <dependencies>
    <!-- Core dependencies -->
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
      <version>${version.gwt}</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>1.3.9</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>r06</version>
    </dependency>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>2.3.0</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>1.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmock</groupId>
      <artifactId>jmock</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmock</groupId>
      <artifactId>jmock</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmock</groupId>
      <artifactId>jmock-junit3</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
    <resources>
      <resource>
        <filtering>false</filtering>
        <directory>src</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.html</include>
          <include>**/*.properties</include>
          <include>**/*.proto</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <filtering>false</filtering>
        <directory>test</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.html</include>
          <include>**/*.properties</include>
          <include>**/*.proto</include>
        </includes>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Implementation-Vendor>Google, Inc.</Implementation-Vendor>
              <Implementation-Version>${version}</Implementation-Version>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
  </build>
  <repositories>
    <repository>
      <id>mojo-codehaus</id>
      <name>Mojo Project Repository</name>
      <url>http://repository.codehaus.org/</url>
    </repository>
    <repository>
      <id>google-releases</id>
      <name>Google Maven Repository</name>
      <url>http://oss.sonatype.org/content/repositories/google-releases/
      </url>
    </repository>
    <repository>
      <id>gwt-milestone</id>
      <name>Google Web Toolkit M2 release</name>
      <url>http://google-web-toolkit.googlecode.com/svn-history/r8351/2.1.0.M2/gwt/maven/
      </url>
    </repository>
  </repositories>
</project>

Reply via email to