<project>
  <parent>
    <artifactId>specs</artifactId>
    <groupId>org.apache.geronimo.specs</groupId>
    <version>1.1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>geronimo-corba_2.3_spec</artifactId>
  <name>CORBA 2.3</name>
  <version>${geronimoSpecsCorba23Version}</version>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-spec-corba-2.3/</connection>
    <developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-spec-corba-2.3/</developerConnection>
    <url>http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-spec-corba-2.3/</url>
  </scm>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>idlj-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <debug>false</debug>
          <compiler>jacorb</compiler>
          <sources>
            <source>
              <includes>
                <include>**/*.idl</include>
              </includes>
              <excludes>
                <exclude>**/orb.idl</exclude>
                <exclude>**/CosTSPortability.idl</exclude>
              </excludes>
              <packagePrefix>org.omg</packagePrefix>
            </source>
          </sources>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.jacorb</groupId>
            <artifactId>jacorb-idl-compiler</artifactId>
            <version>2.2.3</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>
