<?xml version="1.0" encoding="UTF-8"?>
<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"
 xmlns:gb="http://net.sf.gluebooster"
 >
 <modelVersion>4.0.0</modelVersion>
 <parent>
  <groupId>net.sf.gluebooster.java.booster</groupId>
  <artifactId>booster</artifactId>
  <version>0.7</version>
  <relativePath>..</relativePath>
 </parent>
 <artifactId>gb-basic</artifactId>
 <name>Java Booster Basics</name>
 <description>Basic classes to support the development of applications. There should be as few dependencies on other frameworks as possible.</description>
 <packaging>jar</packaging>

    <licenses>
        <license>
            <name>${license.default.name}</name>
            <url>${license.default.url}</url>
            <distribution>${license.default.distribution}</distribution>
            <comments>${license.default.comments}</comments>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>${developer.chris.id}</id>
            <name>${developer.chris.name}</name>
            <email>${developer.chris.email}</email>
            <roles>
                <role>${developer.chris.role1}</role>
                <role>${developer.chris.role2}</role>
            </roles>
        </developer>
    </developers>

	<dependencies>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>gb-essentials</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>gb-essentials</artifactId>
			<version>${project.version}</version>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>


        <dependency>
         <groupId>com.oracle</groupId>
         <artifactId>javafx</artifactId>
         <optional>true</optional>
        </dependency>


		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<!-- <scope>test</scope> -->
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</dependency>

		<dependency><!-- optional, so provided -->
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<scope>provided</scope>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>

		<dependency>
			<groupId>org.jopendocument</groupId>
			<artifactId>jOpenDocument</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
		   <groupId>org.metawidget.modules</groupId>
		   <artifactId>metawidget-all</artifactId>
		   <scope>test</scope>
		</dependency>
		
		<dependency>
		    <groupId>net.sf.jung</groupId>
		    <artifactId>jung-graph-impl</artifactId>
		    <version>2.0.1</version>
<!--            <scope>test</scope> -->
		</dependency>
            
		<dependency>
		    <groupId>net.sf.jung</groupId>
		    <artifactId>jung-algorithms</artifactId>
		    <version>2.0.1</version>
<!--            <scope>test</scope> -->
		</dependency>
		<dependency>
		    <groupId>net.sf.jung</groupId>
		    <artifactId>jung-visualization</artifactId>
		    <version>2.0.1</version>
<!--            <scope>test</scope> -->
        </dependency>
            
	</dependencies>
 
 <build>
    <plugins>

       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
           <version>1.7</version>
           <dependencies>
             <dependency>
              <groupId>${project.groupId}</groupId>
              <artifactId>gb-essentials</artifactId>
              <version>${project.version}</version>
             </dependency>
             <dependency>
               <groupId>log4j</groupId> 
               <artifactId>log4j</artifactId>
               <version>${log4j.version}</version>
             </dependency>
            </dependencies>
            <executions>
               <execution>
                   <id>generatePropertiesKeyClass</id>
                   <phase>generate-sources</phase>
                   <goals>
                       <goal>run</goal>
                   </goals>
                   <configuration>
                       <gb_documentation>Create classes from property files for better synchronization.</gb_documentation>
                       <target>
                            <java classname="net.sf.gluebooster.java.booster.essentials.sourcecode.ObjectAnalyzingCodeGenerator" failonerror="true">
                                <arg value="-generatePropertiesIDClass"/>
                                <arg value="${basedir}/src/main/resources/net/sf/gluebooster/java/booster/basic/text/general/DocumentationResources.properties"/>
                                <arg value="${basedir}/target/generated-sources/main/java/net/sf/gluebooster/java/booster/basic/text/general/DocumentationResourcesId.java"/>
                                <arg value="net.sf.gluebooster.java.booster.basic.text.general"/>
                                <arg value="DocumentationResourcesId"/>
                            </java>
                        </target>
                   </configuration>                           
                </execution>
             </executions>                                         
        </plugin>
    
    
        <plugin>
	        <artifactId>maven-assembly-plugin</artifactId>
	        <!-- makes the assemblies to start the demos like LanguagesBasicDemo-->
	        
	        <!-- start with -->
	        <!-- java -cp gb-basic-0.7-test-jar-with-dependencies.jar;gb-basic-0.7-tests.jar net.sf.gluebooster.java.booster.basic.demo.LanguagesBasicDemo -->
	        <configuration>
	              <descriptors>
	               <descriptor>src/test/assembly/test-jar-with-dependencies.xml</descriptor>
	              </descriptors>          
	        </configuration>
	        <executions>
	          <execution>
	            <id>make-assembly</id> <!-- this is used for inheritance merges -->
	            <phase>package</phase> <!-- bind to the packaging phase -->
	            <goals>
	              <goal>single</goal>
	            </goals>
	          </execution>
	        </executions>
	      </plugin>    
    </plugins>
 </build>
 
</project>
