Ian,

We maven-ized our local/custom build of OpenReports, which has dependencies
on BIRT. We created a separate pom project to manage the entire set of BIRT
dependencies as a single unit and had to manually install most the
dependencies into our repository manager.

Note, we haven't used the BIRT features of OpenReports much so I can't say
the versions are perfect. They do produce a successful compile/package of
the OpenReports war, I just can't confirm the runtime behavior.

Here's the pom with only a few minor company-specific elements removed...

<?xml version="1.0" encoding="UTF-8"?>
<project>

  <modelVersion>4.0.0</modelVersion>
  <groupId>YOUR GROUP ID HERE</groupId>
  <artifactId>eclipse-birt-bundle</artifactId>
  <name>Eclipse BiRT Bundle</name>
  <version>2.2.0-1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <dependencies>
    <!--
      Most of these dependencies required manual installation into our
repositories so we could match as closely as possible
      the version that were delivered with OpenReports 3.0.0.

      If/when the Eclipse projects artifacts are deployed publicly and
consistently then we
      can update this bundle POM and track their versions.
    -->
    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>chartengine</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>core</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>dataadapter</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>engine</artifactId>
      <version>2.2</version>
      <exclusions>
        <exclusion>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>model</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>script</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.birt</groupId>
      <artifactId>dte</artifactId>
      <version>2.2</version>
    </dependency>

    <!-- EMF (Eclipse Modeling Framework )  -->

    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>ecore</artifactId>
      <version>2.2.2.v200702131851</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>ecore-xmi</artifactId>
      <version>2.2.2.v200702131851</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>common</artifactId>
      <version>2.2.1.v200702131851</version>
    </dependency>

    <!-- W3C -->

    <dependency>
      <groupId>org.w3c</groupId>
      <artifactId>flute</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>org.w3c</groupId>
      <artifactId>sac</artifactId>
      <version>1.3</version>
    </dependency>

    <!-- Commons -->
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.3</version>
      <!-- removing unwanted transitive dependencies -->
      <exclusions>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.0</version>
      <!-- removing unwanted transitive dependencies -->
      <exclusions>
        <exclusion>
          <artifactId>commons-lang</artifactId>
          <groupId>commons-lang</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>commons-discovery</groupId>
      <artifactId>commons-discovery</artifactId>
      <version>0.2</version>
    </dependency>

    <!-- misc -->
    <dependency>
      <groupId>com.lowagie</groupId>
      <artifactId>itext</artifactId>
      <version>1.3</version>
    </dependency>

    <dependency>
      <groupId>com.ibm.icu</groupId>
      <artifactId>icu4j</artifactId>
      <version>3.6.1</version>
    </dependency>

    <dependency>
      <groupId>rhino</groupId>
      <artifactId>js</artifactId>
      <version>1.6R2</version>
    </dependency>

  </dependencies>
</project>

On Mon, Jul 28, 2008 at 10:24 AM, Ian Coleman <[EMAIL PROTECTED]> wrote:

> Maven gurus:
>
> I'm still finding my way with Maven, and am trying to convert a project
> from
> Ant to maven2.  The biggest blocker I've found is integration with BIRT.
> The application I'm converting uses BIRT extensively, but there's 1) no
> BIRT
> in the main maven2 repo; 2) BIRT has dozens of un-mavenized dependencies;
> and 3) the BIRT community seems to have never actually heard of Maven, or
> reproduceable builds in general.
>
> There is literally *nothing* I've been able to find out there demonstrating
> any *sane* way of using Maven to build an application using BIRT runtime as
> a dependency.
>
> I'm sure I'm not the first person to have needed to do this, but it sure
> starting to feel that way... grr..
>
> Any kind soul want to touch this?
>
> Thanks!
>
> --Ian
>

Reply via email to