<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.jbpm</groupId>
        <artifactId>jbpm-designer</artifactId>
        <version>6.0.0.Alpha9</version>
    </parent>
    <artifactId>jbpm-designer-standalone</artifactId>
    <name>jBPM Designer - Standalone</name>
    <packaging>war</packaging>

    <!-- Uberfire dependencies -->
    <dependencies>
        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-security-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-security-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-security-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-backend-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-widgets-core-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-widgets-core-backend</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-widgets-commons</artifactId>
        </dependency>

        <dependency>
            <groupId>org.uberfire</groupId>
            <artifactId>uberfire-workbench</artifactId>
        </dependency>

        <!-- repository dependencies -->
        <dependency>
            <groupId>org.kie</groupId>
            <artifactId>kie-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.commons</groupId>
            <artifactId>kie-commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.commons</groupId>
            <artifactId>kie-nio2-jgit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.commons</groupId>
            <artifactId>kie-nio2-fs</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.commons</groupId>
            <artifactId>kie-nio2-model</artifactId>
        </dependency>

        <!-- Errai Core -->
        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-bus</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-ioc</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- CDI Integration Modules -->
        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-cdi-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-javax-enterprise</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-weld-integration</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jboss.errai</groupId>
            <artifactId>errai-cdi-jetty</artifactId>
        </dependency>

        <!-- CDI Development Utils -->
        <!-- This must be placed above com.google.gwt:gwt-dev to override the Jetty that is present there -->
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-plus</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-naming</artifactId>
        </dependency>

        <!-- Weld Modules -->
        <dependency>
            <groupId>org.jboss.weld.se</groupId>
            <artifactId>weld-se-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jboss.weld.servlet</groupId>
            <artifactId>weld-servlet-core</artifactId>
        </dependency>

        <!-- GWT and GWT Extensions -->
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- jBPM Designer -->
        <dependency>
            <groupId>org.jbpm</groupId>
            <artifactId>jbpm-designer-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jbpm</groupId>
            <artifactId>jbpm-designer-backend</artifactId>
        </dependency>

        <!-- guvnor dependencies -->
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-commons-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-core-services-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-core-services-backend</artifactId>
        </dependency>

        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-project-editor-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-project-editor-backend</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-metadata-widget</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-config-resource-widget</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-commons-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-project-config-editor-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-project-config-editor-backend</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-project-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-view-source-widget</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-decorated-grid-widget</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-commons-services-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-commons-builder</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-explorer-backend</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kie.guvnor</groupId>
            <artifactId>guvnor-explorer-client</artifactId>
        </dependency>
    </dependencies>

    <build>

        <resources>
            <!-- Include src/main/java in order not to break the Eclipse GWT plug-in -->
            <resource>
                <directory>src/main/java</directory>
            </resource>
            <!-- Include module descriptors from src/main/resources in order not to break the Intellij GWT plug-in -->
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

        <plugins>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>${gwt.maven.version}</version>
                <configuration>
                    <module>org.jbpm.designer.jBPMDesigner</module>
                    <logLevel>INFO</logLevel>
                    <compileSourcesArtifacts>
                        <compileSourcesArtifact>org.jbpm:jbpm-designer-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.jbpm:jbpm-designer-client</compileSourcesArtifact>

                        <compileSourcesArtifact>org.kie.commons:kie-commons-data</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.commons:kie-commons-validation</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-security-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-security-client</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-widgets-core-client</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-widgets-commons</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-workbench</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-backend-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.uberfire:uberfire-backend-commons</compileSourcesArtifact>

                        <compileSourcesArtifact>org.kie.commons:kie-nio2-model</compileSourcesArtifact>

                        <compileSourcesArtifact>org.kie.guvnor:guvnor-decorated-grid-widget</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-view-source-widget</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-common-ui</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-commons-security</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-commons-services-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-metadata-widget</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-config-resource-widget</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-core-services-api</compileSourcesArtifact>

                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-client</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-editor-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-editor-client</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-config-editor-api</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-project-config-editor-client</compileSourcesArtifact>
                        <compileSourcesArtifact>org.kie.guvnor:guvnor-explorer-client</compileSourcesArtifact>

                    </compileSourcesArtifacts>
                    <runTarget>org.jbpm.designer.jBPMDesigner/designer.html</runTarget>
                    <extraJvmArgs>-Xmx1024m -XX:MaxPermSize=256m</extraJvmArgs>
                    <soyc>false</soyc>
                    <server>org.jboss.errai.cdi.server.gwt.JettyLauncher</server>
                    <!-- drools-compiler has dependency on org.eclipse.jdt.core.compiler:ecj:jar:3.5.1:compile, see http://code.google.com/p/google-web-toolkit/issues/detail?id=4479 -->
                    <gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath>
                </configuration>
                <executions>
                    <execution>
                        <id>gwt-clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>gwt-compile</id>
                        <goals>
                            <goal>resources</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <warName>${project.artifactId}</warName>
                    <outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
                    <packagingExcludes>**/javax/**/*.*,**/client/**/*.class</packagingExcludes>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.jboss.errai</groupId>
                <artifactId>jacoco-gwt-maven-plugin</artifactId>
                <version>0.5.4.201202141554</version>
                <executions>
                    <execution>
                        <id>jacoco-gwt-prepare-agent</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-gwt-report</id>
                        <phase>site</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${basedir}</directory>
                            <includes>
                                <include>.errai/**</include>
                                <include>.vfsgit/**</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
        </plugins>

    </build>
    <profiles>
        <profile>
            <id>fullProfile</id>
            <activation>
                <property>
                    <name>full</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                    <version>1.8.2</version>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>