<?xml version="1.0" encoding="UTF-8"?>
<!-- * Copyright 2001-2009 The Apache Software Foundation. * * Licensed under 
the Apache License, Version 2.0 (the "License"); * you may not use this file 
except in compliance with the License. * You may obtain a copy of the License 
at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by 
applicable law or agreed to in writing, software * distributed under the 
License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS 
OF ANY KIND, either express or implied. * See the License for the specific 
language governing permissions and * limitations under the License. * */ -->
<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>
    <parent>
        <groupId>org.apache.juddi</groupId>
        <artifactId>juddi-parent</artifactId>
        <version>3.3.1</version>
    </parent>
    <artifactId>juddi-core</artifactId>
    <packaging>bundle</packaging>

    <name>jUDDI Core Services</name>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
                    <instructions>
                        <Export-Package>org.apache.juddi, org.apache.juddi.api,
                            org.apache.juddi.api.impl,
                            org.apache.juddi.api.util,
                            org.apache.juddi.config, org.apache.juddi.config,
                            org.apache.juddi.cryptor, org.apache.juddi.keygen,
                            org.apache.juddi.mapping, org.apache.juddi.model,
                            org.apache.juddi.query, org.apache.juddi.query.util,
                            org.apache.juddi.rmi, org.apache.juddi.subscription,
                            org.apache.juddi.subscription.notify,
                            org.apache.juddi.replication,
                            org.apache.juddi.validation, org.apache.juddi.validation.vsv, org.apache.juddi.v3.auth,
                            org.apache.juddi.v3.error</Export-Package>
                        <Include-Resource>juddi_install_data=src/main/resources/juddi_install_data,
                            src/main/resources/messages.properties</Include-Resource>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <configuration>
                            <tasks>
                                <delete dir="juddi-derby-test-db" />
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>
                <version>2.2</version>
                <!-- <executions> <execution> <phase>process-classes</phase> <goals> 
                <goal>hbm2ddl</goal> </goals> </execution> </executions> -->
                <configuration>
                    <components>
                        <component>
                            <name>hbm2ddl</name>
                            <implementation>jpaconfiguration</implementation>
                        </component>
                    </components>
                    <componentProperties>
                        <persistenceunit>juddiDatabase</persistenceunit>
                        <outputfilename>schema.ddl</outputfilename>
                        <drop>false</drop>
                        <create>true</create>
                        <export>false</export>
                        <format>true</format>
                    </componentProperties>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.apache.juddi</groupId>
            <artifactId>uddi-ws</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.juddi</groupId>
            <artifactId>juddi-client</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.juddi</groupId>
            <artifactId>uddi-tck-base</artifactId>
            <version>${project.parent.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.6.Final</version>
            <exclusions>
                <exclusion>
                    <groupId>cglib</groupId>
                    <artifactId>cglib</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.6.Final</version>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.1_3</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
        </dependency>
		
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
            <version>1.1.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.javamail</groupId>
            <artifactId>geronimo-javamail_1.4_mail</artifactId>
            <version>1.8.3</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.5.3.0_1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>8.2-504.jdbc3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockejb</groupId>
            <artifactId>mockejb</artifactId>
            <version>0.6-beta2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>dumbster</groupId>
            <artifactId>dumbster</artifactId>
            <version>1.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.audit4j</groupId>
            <artifactId>audit4j-core</artifactId>
            <version>2.2.0</version>
        </dependency>
    </dependencies>
		
</project>
