<project>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>mindplot</artifactId>
    <packaging>jar</packaging>
    <name>Mindmap Draw JavaScript Library</name>

    <parent>
        <groupId>org.wisemapping</groupId>
        <artifactId>wisemapping</artifactId>
        <relativePath>../pom.xml</relativePath>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.wisemapping</groupId>
            <artifactId>web2d</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.google.jstestdriver</groupId>
            <artifactId>maven-jstestdriver-plugin</artifactId>
            <version>1.2.2-SNAPSHOT</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>jstd-maven-plugin google code repo</id>
            <url>http://jstd-maven-plugin.googlecode.com/svn/maven2</url>
        </repository>
  </repositories>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>merge-js-resources</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <mkdir dir="${basedir}/target/classes"/>
                                <!-- Generated for debug -->
                                <concat destfile="${basedir}/target/tmp/mindplot.js" append="false">
                                    <filelist dir="${basedir}/src/main/javascript/" files="header.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="EventBus.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Mindmap.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="NodeModel.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="RelationshipModel.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="MindmapDesigner.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ScreenManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Workspace.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ShrinkConnector.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="NodeGraph.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Topic.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="CentralTopic.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="MainTopic.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DragTopic.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DragManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DragPivot.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="TopicBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="CentralTopicBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="MainTopicBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ConnectionLine.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="RelationshipLine.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DragTopicPositioner.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Board.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="TextEditor.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="VariableDistanceBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="util/Shape.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="FixedDistanceBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="BoardEntry.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ModelCodeName.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="XMLMindmapSerializer_Pela.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="XMLMindmapSerializer_Beta.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Beta2PelaMigrator.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="XMLMindmapSerializerFactory.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="PersistanceManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="EditorProperties.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="IconGroup.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="BubbleTip.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Tip.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Icon.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="LinkIcon.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Note.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ImageIcon.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="IconModel.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="LinkModel.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="NoteModel.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="Command.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DesignerActionRunner.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="DesignerUndoManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="ControlPoint.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/" files="EditorOptions.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/GenericFunctionCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/DeleteTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/DragTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/AddTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/AddLinkToTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/RemoveLinkFromTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/AddIconToTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/RemoveIconFromTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/AddNoteToTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/RemoveNoteFromTopicCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/AddRelationshipCommand.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="commands/MoveControlPointCommand.js"/>


                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/boards/Board.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/boards/freeMindBoards/Board.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/boards/freeMindBoards/Entry.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/boards/freeMindBoards/CentralTopicBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/boards/freeMindBoards/MainTopicBoard.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/BaseLayoutManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/OriginalLayoutManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/FreeMindLayoutManager.js"/>
                                    <filelist dir="${basedir}/src/main/javascript/"
                                              files="layoutManagers/LayoutManagerFactory.js"/>


                                    <filelist dir="${basedir}/src/main/javascript/" files="footer.js"/>
                                </concat>

                                <concat destfile="${basedir}/target/classes/mindplot.svg.js" append="false">

                                    <filelist dir="${basedir}/../web2d/target/classes/"
                                              files="web2d.svg-min.js"/>
                                    <filelist dir="${basedir}/target/tmp/"
                                              files="mindplot.js"/>
                                </concat>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>net.sf.alchim</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>compress</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>src/main/javascript/</sourceDirectory>
                            <outputDirectory>target/tmp/</outputDirectory>

                            <aggregations>
                                <aggregation>
                                    <output>${basedir}/target/tmp/mindplot-min.js</output>
                                    <includes>
                                        <include>header-min.js</include>
                                        <include>EventBus-min.js</include>
                                        <include>Mindmap-min.js</include>
                                        <include>NodeModel-min.js</include>
                                        <include>RelationshipModel-min.js</include>
                                        <include>MindmapDesigner-min.js</include>
                                        <include>ScreenManager-min.js</include>
                                        <include>Workspace-min.js</include>
                                        <include>ShrinkConnector-min.js</include>
                                        <include>NodeGraph-min.js</include>
                                        <include>Topic-min.js</include>
                                        <include>CentralTopic-min.js</include>
                                        <include>MainTopic-min.js</include>
                                        <include>DragTopic-min.js</include>
                                        <include>DragManager-min.js</include>
                                        <include>DragPivot-min.js</include>
                                        <include>TopicBoard-min.js</include>
                                        <include>CentralTopicBoard-min.js</include>
                                        <include>MainTopicBoard-min.js</include>
                                        <include>ConnectionLine-min.js</include>
                                        <include>RelationshipLine-min.js</include>
                                        <include>DragTopicPositioner-min.js</include>
                                        <include>Board-min.js</include>
                                        <include>TextEditor-min.js</include>
                                        <include>VariableDistanceBoard-min.js</include>
                                        <include>util/Shape-min.js</include>
                                        <include>FixedDistanceBoard-min.js</include>
                                        <include>BoardEntry-min.js</include>
                                        <include>ModelCodeName-min.js</include>
                                        <include>XMLMindmapSerializer_Beta-min.js</include>
                                        <include>XMLMindmapSerializer_Pela-min.js</include>
                                        <include>Beta2PelaMigrator-min.js</include>
                                        <include>XMLMindmapSerializerFactory-min.js</include>
                                        <include>PersistanceManager-min.js</include>
                                        <include>EditorProperties-min.js</include>
                                        <include>IconGroup-min.js</include>
                                        <include>BubbleTip-min.js</include>
                                        <include>Tip-min.js</include>
                                        <include>Icon-min.js</include>
                                        <include>LinkIcon-min.js</include>
                                        <include>Note-min.js</include>
                                        <include>ImageIcon-min.js</include>
                                        <include>IconModel-min.js</include>
                                        <include>LinkModel-min.js</include>
                                        <include>NoteModel-min.js</include>
                                        <include>EditorOptions-min.js</include>

                                        <include>Command-min.js</include>
                                        <include>DesignerActionRunner-min.js</include>
                                        <include>DesignerUndoManager-min.js</include>

                                        <include>commands/GenericFunctionCommand-min.js</include>
                                        <include>commands/DeleteTopicCommand-min.js</include>
                                        <include>commands/DragTopicCommand-min.js</include>
                                        <include>commands/AddTopicCommand-min.js</include>
                                        <include>commands/AddLinkToTopicCommand-min.js</include>
                                        <include>commands/RemoveLinkFromTopicCommand-min.js</include>
                                        <include>commands/AddIconToTopicCommand-min.js</include>
                                        <include>commands/RemoveIconFromTopicCommand-min.js</include>
                                        <include>commands/AddNoteToTopicCommand-min.js</include>
                                        <include>commands/RemoveNoteFromTopicCommand-min.js</include>
                                        <include>commands/AddRelationshipCommand-min.js</include>
                                        <include>commands/MoveControlPointCommand-min.js</include>

                                        <include>layoutManagers/boards/Board-min.js</include>
                                        <include>layoutManagers/boards/freeMindBoards/Board-min.js</include>
                                        <include>layoutManagers/boards/freeMindBoards/Entry-min.js</include>
                                        <include>layoutManagers/boards/freeMindBoards/CentralTopicBoard-min.js</include>
                                        <include>layoutManagers/boards/freeMindBoards/MainTopicBoard-min.js</include>
                                        <include>layoutManagers/BaseLayoutManager-min.js</include>
                                        <include>layoutManagers/OriginalLayoutManager-min.js</include>
                                        <include>layoutManagers/FreeMindLayoutManager-min.js</include>
                                        <include>layoutManagers/LayoutManagerFactory-min.js</include>

                                        <include>footer-min.js</include>

                                    </includes>
                                </aggregation>
                                <aggregation>
                                    <output>${basedir}/target/classes/mindplot.svg-min.js</output>
                                    <includes>
                                        <include>${basedir}/../web2d/target/classes/web2d.svg-min.js</include>
                                        <include>${basedir}/target/tmp/mindplot-min.js</include>
                                    </includes>
                                </aggregation>
                            </aggregations>
                            <nomunge>true</nomunge>
                            <jswarn>false</jswarn>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.google.jstestdriver</groupId>
                <artifactId>maven-jstestdriver-plugin</artifactId>
                <version>1.2.2-SNAPSHOT</version>
                <executions>
                    <execution>
                        <id>run-tests</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <config>${basedir}/src/test/jsTestDriver.conf</config>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
