Skip to content
Snippets Groups Projects
pom.xml 60.22 KiB
<?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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>uk.ac.sanger</groupId>
	<artifactId>artemis</artifactId>
	<version>18.0.0-RC1</version>
	
	<name>Artemis</name>
	<description>Artemis is a free genome browser and annotation tool that allows visualisation of sequence features, next generation data and the results of analyses within the context of the sequence, and also its six-frame translation.

Artemis is written in Java, and is available for UNIX, Macintosh and Windows systems. It can read EMBL and GENBANK database entries or sequence in FASTA, indexed FASTA or raw format. Other sequence features can be in EMBL, GENBANK or GFF format.</description>
	<inceptionYear>1998</inceptionYear>
	
	<!-- GitHub repo connection -->
	<scm>
   	 	<connection>scm:https://github.com/sanger-pathogens/Artemis.git</connection>
   	 	<url>https://github.com/sanger-pathogens/Artemis</url>
    		<developerConnection>scm:https://github.com/sanger-pathogens/Artemis.git</developerConnection>
    		<tag>HEAD</tag>
  	</scm>
  
	<organization>
		<name>Sanger Institute</name>
		<url>http://www.sanger.ac.uk/</url>
	</organization>
	<url>http://sanger-pathogens.github.io/Artemis/</url>
	
	<developers>
	    <developer>
			<id>kp11</id>
			<name>Kevin Pepper</name>
			<email>artemis-help@sanger.ac.uk</email>
			<url>http://www.sanger.ac.uk/science/tools/artemis</url>
			<organization>Sanger Institute</organization>
			<organizationUrl>http://www.sanger.ac.uk/</organizationUrl>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>GB/London</timezone>
		</developer>
  	</developers>
  	
  	<licenses>
        <license>
            <name>The GNU General Public License, Version 3, June 2007</name>
            <url>https://raw.githubusercontent.com/sanger-pathogens/Artemis/master/LICENSE</url>
        </license>
    </licenses>
    
    <issueManagement>
        <system>Github</system>
        <url>https://github.com/sanger-pathogens/Artemis/issues</url>
    </issueManagement>
    
    <mailingLists>
		<mailingList>
			<name>Artemis support email address</name>
			<post>artemis-help@sanger.ac.uk</post>
		</mailingList>
	</mailingLists>
  
	<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <ignore.test.failures>true</ignore.test.failures> 
        
        <version.file>${project.basedir}/etc/versions</version.file>
        
        <!-- Properties passed into Maven on command line -->
        <emboss.installation.root>${env.EMBOSS_ROOT}</emboss.installation.root>
        
        <!-- Application names -->
        <artemis.application.name>Artemis</artemis.application.name>
        <act.application.name>ACT</act.application.name>
        <dnaplotter.application.name>Circular-Plot</dnaplotter.application.name>
        <bamview.application.name>BamView</bamview.application.name>
        
        <!-- Deployable jar names -->
        <artemis.jar.name>artemis.jar</artemis.jar.name>
        <act.jar.name>act.jar</act.jar.name>
        <bamview.jar.name>bamview.jar</bamview.jar.name>
        <dnaplotter.jar.name>dnaplotter.jar</dnaplotter.jar.name>
        
        <!-- Main classes -->
        <artemis.main.class>uk.ac.sanger.artemis.components.ArtemisMain</artemis.main.class>
        <act.main.class>uk.ac.sanger.artemis.components.ActMain</act.main.class>
        <bamview.main.class>uk.ac.sanger.artemis.components.alignment.BamView</bamview.main.class>
        <dnaplotter.main.class>uk.ac.sanger.artemis.circular.DNADraw</dnaplotter.main.class>
        
        <!-- Java version-->
		<java.source.version>1.8</java.source.version>
		<java.target.version>1.8</java.target.version>
		<java.javadoc.url>https://docs.oracle.com/javase/8/docs/api/</java.javadoc.url>
		<osx.jdk.path>${env.JAVA_HOME}/../..</osx.jdk.path>
		      
        <!-- Evosuite properties-->
        <targetFolder>src/test/evosuite</targetFolder>
        <evosuite.runtime.version>1.0.6</evosuite.runtime.version>
        <evosuite.plugin.version>1.0.6</evosuite.plugin.version>
        
        <!-- Assembly folders -->
        <windows.assembly.folder>artemis</windows.assembly.folder>
        <unix.assembly.folder>artemis</unix.assembly.folder>
        <osx.assembly.folder>artemis</osx.assembly.folder>
        
        <!-- Release deliverable folder -->
        <release.artifact.folder>${project.build.directory}/release-artifacts</release.artifact.folder>       
        <windows.release.folder>${release.artifact.folder}/windows-release</windows.release.folder>
        <osx.app.folder>${release.artifact.folder}/mac-osx-release</osx.app.folder>
        <osx.app.chado.folder>${release.artifact.folder}/mac-osx-chado-release</osx.app.chado.folder>
        <unix.release.folder>${release.artifact.folder}/unix-release</unix.release.folder>
        
        <!-- Release file names -->
        <unix.release.filename>artemis-unix-release-${project.version}</unix.release.filename>
        <windows.release.filename>artemis-windows-release-${project.version}</windows.release.filename>
        <osx.release.filename>artemis-macosx-release-${project.version}</osx.release.filename>
        <osx.chado.release.filename>artemis-macosx-chado-release-${project.version}</osx.chado.release.filename>
 
        <!-- Mac OS application JVM options -->
        <postgres.command.line.arg>-Djdbc.drivers=org.postgresql.Driver</postgres.command.line.arg>
        <maxheap.command.line.arg>-mx2g</maxheap.command.line.arg>
        <initialheap.command.line.arg>-ms128m</initialheap.command.line.arg>
        <noverify.command.line.arg>-noverify</noverify.command.line.arg>
        <unixenv.command.line.arg>-Dartemis.environment=UNIX</unixenv.command.line.arg>
        <macosx.menuname.command.line.arg>-Dcom.apple.mrj.application.apple.menu.about.name</macosx.menuname.command.line.arg>
        <macosx.dock.command.line.arg>-Xdock:name</macosx.dock.command.line.arg>
        <chado.command.line.arg>-Dchado="localhost:5432/databasename?username"</chado.command.line.arg>
        <ibatis.command.line.arg>-Dibatis</ibatis.command.line.arg>
        <sangeroptions.command.line.arg>-Dsanger_options=yes</sangeroptions.command.line.arg>
        <j2ssh.command.line.arg>-Dj2ssh</j2ssh.command.line.arg>
        
        <!-- Surefire unit test plugin parameters -->
        <unit.test.timeout.ms>8000</unit.test.timeout.ms>
        <surefire.num.forks>2</surefire.num.forks>
        <surefireArgLine>-Xmx4g ${noverify.command.line.arg} ${postgres.command.line.arg} -Dtimeout=${unit.test.timeout.ms} -Duse_separate_classloader=false -DEMBOSS_ROOT=${emboss.installation.root}</surefireArgLine>

        <!-- Files to exclude from the build, e.g. Mac resource files. -->
        <default.file.excludes>**/log4j*.xml META-INF/* **/.DS_Store **/._*</default.file.excludes>
        
        <!-- Etc files to exclude from the build. -->
        <etc.file.excludes>*.seq *.fasta *.embl *.tab *.crunch *.genbank</etc.file.excludes>
        
        <artemis.icons.path>${project.basedir}/icons</artemis.icons.path>

    </properties>
	
	<dependencies>
	
		<!-- Start of BATIK Jars -->
		
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-codec -->
		<dependency>
		    <groupId>org.apache.xmlgraphics</groupId>
		    <artifactId>batik-codec</artifactId>
		    <version>1.9.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-dom -->
		<dependency>
		    <groupId>org.apache.xmlgraphics</groupId>
		    <artifactId>batik-dom</artifactId>
		    <version>1.9.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-ext -->
		<dependency>
		    <groupId>org.apache.xmlgraphics</groupId>
		    <artifactId>batik-ext</artifactId>
		    <version>1.9.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-svggen -->
		<dependency>
		    <groupId>org.apache.xmlgraphics</groupId>
		    <artifactId>batik-svggen</artifactId>
		    <version>1.9.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-util -->
		<dependency>
		    <groupId>org.apache.xmlgraphics</groupId>
		    <artifactId>batik-util</artifactId>
		    <version>1.9.1</version>
		</dependency>

		<!-- End of BATIK Jars -->
		
		
		<!-- Start of IBATIS jars -->
		
		<!-- https://mvnrepository.com/artifact/com.ibatis/ibatis (local legacy jar) -->
		<dependency>
    			<groupId>com.ibatis</groupId>
    			<artifactId>ibatis</artifactId>
   			<version>2.3.4.726</version>
		</dependency>
		
		<!-- This is now out of date but is used by the ibatis jar-->
		<!-- https://mvnrepository.com/artifact/cglib/cglib-nodep -->
		<dependency>
		    <groupId>cglib</groupId>
		    <artifactId>cglib-nodep</artifactId>
		    <version>2.2</version>
		</dependency>
		
		<!-- This is now out of date - the package name has changed and so updating will mean many changes -->
		<!-- https://mvnrepository.com/artifact/log4j/log4j -->
		<dependency>
		    <groupId>log4j</groupId>
		    <artifactId>log4j</artifactId>
		    <version>1.2.17</version>
		</dependency>
		
		<!-- End of IBATIS jars (local) -->
		
		<dependency>
		    <groupId>com.sshtools</groupId>
		    <artifactId>j2ssh-core</artifactId>
		    <version>0.2.9</version>
		</dependency>
		
		<!--  Latest commons logging from 2014! -->
		<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
		<dependency>
		    <groupId>commons-logging</groupId>
		    <artifactId>commons-logging</artifactId>
		    <version>1.2</version>
		</dependency>
		
		<!-- End of J2SSH jars (local) -->
		
		<dependency>
		    <groupId>org.emboss</groupId>
		    <artifactId>jemboss</artifactId>
		    <version>1.0</version>
		</dependency>
		
		<!--  Very out of date, but using the latest v3 will not compile atm -->
		<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
		<dependency>
		    <groupId>commons-lang</groupId>
		    <artifactId>commons-lang</artifactId>
		    <version>2.6</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
		<dependency>
		    <groupId>commons-net</groupId>
		    <artifactId>commons-net</artifactId>
		    <version>3.6</version>
		</dependency>

		<!--  NOTE: IBatis is no longer supported and very out of date -->
		<!--  Using the new postgres driver may cause issues - needs testing -->
		
		<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
		<dependency>
		    <groupId>org.postgresql</groupId>
		    <artifactId>postgresql</artifactId>
		    <version>42.2.5</version>
		</dependency>
		
		<!-- Using latest version gives compilation errors! -->
		<dependency>
		    <groupId>org.biojava</groupId>
		    <artifactId>biojava</artifactId>
		    <version>1.6</version>
		</dependency>
		
		<!-- Start of Picard jars -->
		
		<!-- https://mvnrepository.com/artifact/com.github.broadinstitute/picard -->
		<!-- Latest as of 24th Sept 2018 -->
		<!--  It contains two htsjdk fixes for CRAM index caching and the query mate issue -->
		<dependency>
		    <groupId>com.github.broadinstitute</groupId>
		    <artifactId>picard</artifactId>
		    <version>2.18.14</version>
		</dependency>
		
		<!-- End of Picard jars -->
				
		<!--  Testing only -->
		
		<!-- https://mvnrepository.com/artifact/junit/junit -->
		<dependency>
		    <groupId>junit</groupId>
		    <artifactId>junit</artifactId>
		    <version>4.12</version>
		    <scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.evosuite</groupId>
			<artifactId>evosuite-standalone-runtime</artifactId>
			<version>${evosuite.runtime.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-nop</artifactId>
			<version>1.7.25</version>
			<scope>test</scope>
		</dependency>  
		
		<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
		<dependency>
		    <groupId>org.mockito</groupId>
		    <artifactId>mockito-core</artifactId>
		    <version>2.23.0</version>
		    <scope>test</scope>
		</dependency>  
		
		<!--  End of testing only -->
		
		<!-- Redundant dependencies..... -->
		
		<!-- Latest version as of 2005 -->
		<!-- https://mvnrepository.com/artifact/jakarta-regexp/jakarta-regexp -->
		<!--  dependency>
		    <groupId>jakarta-regexp</groupId>
		    <artifactId>jakarta-regexp</artifactId>
		    <version>1.4</version>
		</dependency-->
		
		<!-- https://mvnrepository.com/artifact/batik/batik-awt-util -->
		<!--  dependency>
		    <groupId>batik</groupId>
		    <artifactId>batik-awt-util</artifactId>
		    <version>1.6-1</version>
		</dependency-->
		
		<!-- https://mvnrepository.com/artifact/batik/batik-xml -->
		<!--  dependency>
		    <groupId>batik</groupId>
		    <artifactId>batik-xml</artifactId>
		    <version>1.6-1</version>
		</dependency-->
		
	</dependencies>
	
	<build>
		<plugins>
		
			<!-- ===================   Evosuite needs at least Maven 3.1 ======================= -->
			
			<plugin>
                <inherited>true</inherited>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.3.1</version>
                <executions>
                    <execution>
                        <id>enforce-maven-3</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.1</version>
                                </requireMavenVersion>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
            <!-- ======================   Read signing related properties ======================= -->
			
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>properties-maven-plugin</artifactId>
				<version>1.0.0</version>
				<executions>
					<execution>
						<id>load-external-properties</id>
						<phase>initialize</phase>
						<goals>
							<goal>read-project-properties</goal>
						</goals>
						<configuration>
							<!-- Build will not fail if properties file is not found, but signing will fail -->
							<quiet>true</quiet>
							<files>
								<file>maven.properties</file>
							</files>
						</configuration>
					</execution>
				</executions>
			</plugin>
		
			<!-- ======================   Install essential old jars into the local Maven repo ======================= -->
			
			<plugin>
			    <groupId>org.apache.maven.plugins</groupId>
			    <artifactId>maven-install-plugin</artifactId>
			    <version>2.5.2</version>
			    <executions>
			        <execution>
			        		<id>install-biojava-jar</id>
			            <phase>validate</phase>
			            <goals>
			                <goal>install-file</goal>
			            </goals>
			            <configuration>
			                <groupId>org.biojava</groupId>
			                <artifactId>biojava</artifactId>
			                <version>1.6</version>
			                <packaging>jar</packaging>
			                <file>${project.basedir}/lib/biojava.jar</file>
			                <generatePom>true</generatePom>
			            </configuration>
			        </execution>
			        <execution>
			        		<id>install-jemalign-jar</id>
			            <phase>validate</phase>
			            <goals>
			                <goal>install-file</goal>
			            </goals>
			            <configuration>
			                <groupId>org.emboss</groupId>
			                <artifactId>jemboss</artifactId>
			                <version>1.0</version>
			                <packaging>jar</packaging>
			                <file>${project.basedir}/lib/jemAlign.jar</file>
			                <generatePom>true</generatePom>
			            </configuration>
			        </execution>
			        <execution>
			        		<id>install-j2ssh-core-jar</id>
			            <phase>validate</phase>
			            <goals>
			                <goal>install-file</goal>
			            </goals>
			            <configuration>
			                <groupId>com.sshtools</groupId>
			                <artifactId>j2ssh-core</artifactId>
			                <version>0.2.9</version>
			                <packaging>jar</packaging>
			                <file>${project.basedir}/lib/j2ssh/j2ssh-core.jar</file>
			                <generatePom>true</generatePom>
			            </configuration>
			        </execution>
			        <execution>
			        		<id>install-ibatis-jar</id>
			            <phase>validate</phase>
			            <goals>
			                <goal>install-file</goal>
			            </goals>
			            <configuration>
			                <groupId>com.ibatis</groupId>
			                <artifactId>ibatis</artifactId>
			                <version>2.3.4.726</version>
			                <packaging>jar</packaging>
			                <file>${project.basedir}/lib/ibatis-2.3.4.726.jar</file>
			                <generatePom>true</generatePom>
			            </configuration>
			        </execution>
			    </executions>
			</plugin>
			
			<!-- ========= Store release version number to the Artemis splash screen version file ======== -->
			
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.8</version>
				<executions>
					<execution>
						<id>updating-software-version-number</id>
						<phase>initialize</phase>
			            <goals>
			                <goal>run</goal>
			            </goals>
						<configuration>
							<target>
								<echo file="${version.file}">Artemis Release ${project.version}${line.separator}ACT Release ${project.version}${line.separator}DNAPlotter Release ${project.version}${line.separator}BamView ${project.version}</echo>
							</target>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- ==================================== Compile ========================================= -->
			
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.7.0</version>
				<configuration>
					<source>${java.source.version}</source>
					<target>${java.target.version}</target>
				</configuration>
			</plugin>
			
			<!-- ============================== Jar customisation ===================================== -->
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.1.0</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>false</addClasspath>
						</manifest>
						<manifestEntries>
							<Permissions>all-permissions</Permissions>
                    			<Codebase>*</Codebase>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			
			<!-- ============================== Copy resources to build folder ======================== -->
			
			<plugin>
		    		<groupId>org.apache.maven.plugins</groupId>
		    		<artifactId>maven-resources-plugin</artifactId>
		    		<version>3.0.2</version>
		    		<executions>
		    			<!--  Copy test data for unit tests -->
		      		<execution>
		        			<id>copy-test-data</id>
		        			<phase>process-test-resources</phase>
		        			<goals>
		          			<goal>copy-resources</goal>
		        			</goals>
		        			<configuration>
		          			<outputDirectory>${project.build.testOutputDirectory}/data</outputDirectory>
		          			<resources>
		            				<resource>
		             				<directory>${project.basedir}/test/data</directory>
		            				</resource>
		          			</resources>
		        			</configuration>
		      		</execution>
		      		<!--  Copy etc on to classpath -->
		      		<execution>
		        			<id>copy-property-files</id>
		        			<phase>process-test-resources</phase>
		        			<goals>
		          			<goal>copy-resources</goal>
		        			</goals>
		        			<configuration>
		          			<outputDirectory>${project.build.outputDirectory}/etc</outputDirectory>
		          			<resources>
		            				<resource>
		             				<directory>${project.basedir}/etc</directory>
		            				</resource>
		          			</resources>
		        			</configuration>
		      		</execution>
		      		<!--  Copy images on to classpath -->
		      		<execution>
		        			<id>copy-image-folder</id>
		        			<phase>process-test-resources</phase>
		        			<goals>
		          			<goal>copy-resources</goal>
		        			</goals>
		        			<configuration>
		          			<outputDirectory>${project.build.outputDirectory}/images</outputDirectory>
		          			<resources>
		            				<resource>
		             				<directory>${project.basedir}/images</directory>
		            				</resource>
		          			</resources>
		        			</configuration>
		      		</execution>
		      		<!--  Copy non-maven legacy jars to build area for inclusion in assembly -->
		      		<!--  execution>
		        			<id>copy-old-jars</id>
		        			<phase>process-test-resources</phase>
		        			<goals>
		          			<goal>copy-resources</goal>
		        			</goals>
		        			<configuration>
		          			<outputDirectory>${project.build.directory}/lib</outputDirectory>
		          			<resources>
		            				<resource>
		             				<directory>${project.basedir}/lib/**/*.jar</directory>
		            				</resource>
		          			</resources>
		        			</configuration>
		      		</execution-->
		      		<execution>
		        			<id>copy-icons-to-target-folder</id>
		        			<phase>package</phase>
		        			<goals>
		          			<goal>copy-resources</goal>
		        			</goals>
		        			<configuration>
		        				<skip>${jarsigner.skip}</skip>
		          			<outputDirectory>${project.build.directory}/icons</outputDirectory>
		          			<resources>
		            				<resource>
		             				<directory>${artemis.icons.path}</directory>
		            				</resource>
		          			</resources>
		        			</configuration>
		      		</execution>

		    		</executions>
		  	</plugin>
			
			<!-- ============================== Run JUnit tests =============================== -->
			
			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
              	<configuration>
                    <skipTests>${skip.tests}</skipTests>
                    <trimStackTrace>false</trimStackTrace>
                    <forkCount>${surefire.num.forks}</forkCount>
                    <reuseForks>false</reuseForks>
                    <testFailureIgnore>${ignore.test.failures}</testFailureIgnore>
                    <argLine>@{surefireArgLine}</argLine>
          			<excludes>
 		
						<!--  Start of Evosuite excludes -->
						
						<exclude>${evosuite.exclude.filter}</exclude>

						<exclude>org/gmod/**</exclude>
	          			<exclude>**/RunBlastAtNCBITest.*</exclude>
	          			<exclude>**/j2ssh/**</exclude>
	          			
    						<!--  End of Evosuite excludes -->
    						
          			</excludes>
          			
          			<!-- Required when running Evosuite tests along with normal tests -->
          			<properties>
						<property>
							<name>listener</name>
							<value>org.evosuite.runtime.InitializingListener</value>
				      	</property>
				    </properties>
                </configuration>
            </plugin>
            
            <!-- =========================   Required for Evosuite test running ========================-->
            
            <plugin>
			    <groupId>org.codehaus.mojo</groupId>
			    <artifactId>build-helper-maven-plugin</artifactId>
			    <version>3.0.0</version>
			    <executions>
			    		<execution>
			       		<id>add-test-source</id>
			       		<phase>generate-test-sources</phase>
			       		<goals>
			         		<goal>add-test-source</goal>
			       		</goals>
			       		<configuration>
			          		<sources>
			            			<source>${targetFolder}</source>
			          		</sources>
			       		</configuration>
			  		</execution>
			  	</executions>
			</plugin>
            
            <!-- ===================================   Run Jacoco coverage report ======================================-->
            
            <plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.0</version>
				<configuration>
                    <skip>${skip.coverage.reporting}</skip>
                </configuration>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<output>file</output>
							<!-- Sets the path to the file which contains the execution data. -->
							<destFile>${project.build.directory}/jacoco-ut.exec</destFile>
							<!-- Sets the name of the property containing the settings for JaCoCo 
								runtime agent. -->
							<propertyName>surefireArgLine</propertyName>
						</configuration>
					</execution>
					<!-- Ensures that the code coverage report for unit tests is created after 
						unit tests have been run. -->
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>${project.build.directory}/jacoco-ut.exec</dataFile>
            					<outputDirectory>${project.build.directory}/coverage-report</outputDirectory>
            					<excludes>
        							<exclude>org/**</exclude>
        						</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<!-- ============= Package the code and dependent jars into one executable jar for each applications ========= -->
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.1.0</version>
				<executions>
					<execution>
						<id>package-nonunix-artemis-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/jars/${artemis.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${artemis.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>${etc.file.excludes}</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-unix-artemis-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/unix-jars/${artemis.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${artemis.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>etc/**</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-nonunix-act-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/jars/${act.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${act.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>${etc.file.excludes}</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-unix-act-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/unix-jars/${act.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${act.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>etc/**</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-nonunix-dnaplotter-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/jars/${dnaplotter.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${dnaplotter.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>artemis_sqlmap/**</exclude>
										<exclude>${etc.file.excludes}</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-unix-dnaplotter-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/unix-jars/${dnaplotter.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${dnaplotter.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>artemis_sqlmap/**</exclude>
										<exclude>etc/**</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-nonunix-bamview-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/jars/${bamview.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${bamview.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>artemis_sqlmap/**</exclude>
										<exclude>${etc.file.excludes}</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
					<execution>
						<id>package-unix-bamview-jar</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<outputFile>target/unix-jars/${bamview.jar.name}</outputFile>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<minimizeJar>false</minimizeJar>
							<transformers>
				                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>${bamview.main.class}</Main-Class>
										<Permissions>all-permissions</Permissions>
									</manifestEntries>
								</transformer>
							</transformers>
				            <filters>
				            		<filter>
								 	<artifact>org.mozilla:rhino:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
								<filter>
								 	<artifact>org.python:jython:*</artifact>
								  	<excludes>
										<exclude>**</exclude>
								  	</excludes>
								</filter>
				            		<filter>
								 	<artifact>*:*</artifact>
								  	<excludes>
										<exclude>${default.file.excludes}</exclude>
										<exclude>artemis_sqlmap/**</exclude>
										<exclude>etc/**</exclude>
								  	</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
				</executions>
				<configuration>
					<skipAssembly>${skip.artifact.creation}</skipAssembly>
				</configuration>
			</plugin>
			
			
			<!-- ============================= Sign executable jar files ============================ -->
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jarsigner-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<id>sign-non-unix-jars</id>
						<phase>package</phase>
						<goals>
							<goal>sign</goal>
						</goals>
						<configuration>
							<skip>${jarsigner.skip}</skip>
							<verbose>false</verbose>
							<processMainArtifact>false</processMainArtifact>
							<processAttachedArtifacts>false</processAttachedArtifacts>
							<archiveDirectory>target/jars</archiveDirectory>
							<keystore>${signer-keystore-path}</keystore>
							<storetype>${signer-keystore-type}</storetype>
							<alias>${signer-keystore-alias}</alias>
							<storepass>${signer-keystore-password}</storepass>
							<keypass>${signer-keystore-password}</keypass>
							<removeExistingSignatures>true</removeExistingSignatures>
							<tsa>http://timestamp.comodoca.com/rfc3161</tsa>
						</configuration>
					</execution>
					<execution>
						<id>sign-unix-jars</id>
						<phase>package</phase>
						<goals>
							<goal>sign</goal>
						</goals>
						<configuration>
							<skip>${jarsigner.skip}</skip>
							<verbose>false</verbose>
							<processMainArtifact>false</processMainArtifact>
							<processAttachedArtifacts>false</processAttachedArtifacts>
							<archiveDirectory>target/unix-jars</archiveDirectory>
							<keystore>${signer-keystore-path}</keystore>
							<storetype>${signer-keystore-type}</storetype>
							<alias>${signer-keystore-alias}</alias>
							<storepass>${signer-keystore-password}</storepass>
							<keypass>${signer-keystore-password}</keypass>
							<removeExistingSignatures>true</removeExistingSignatures>
							<tsa>http://timestamp.comodoca.com/rfc3161</tsa>
						</configuration>
					</execution>
				</executions>
				
			</plugin>


			<!-- ==========================   Create release zips ============================ -->
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>3.1.0</version>
				<executions>
					<execution>
						<id>create-unix-release</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
			            <configuration>
			                <appendAssemblyId>false</appendAssemblyId>
			                <outputDirectory>${unix.release.folder}</outputDirectory>
			                <descriptors>
								<descriptor>src/assembly/unix-release-assembly.xml</descriptor>
							</descriptors>
			                <finalName>${unix.release.filename}</finalName>
			            </configuration>
					</execution>
					<execution>
						<id>create-windows-release</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
			            <configuration>
			                <appendAssemblyId>false</appendAssemblyId>
			                <outputDirectory>${windows.release.folder}</outputDirectory>
			                <descriptors>
								<descriptor>src/assembly/windows-release-assembly.xml</descriptor>
							</descriptors>
							<finalName>${windows.release.filename}</finalName>
			            </configuration>
					</execution>
				</executions>
				<configuration>
					<skipAssembly>${skip.artifact.creation}</skipAssembly>
				</configuration>
			</plugin>
      
		</plugins>
		
		<pluginManagement>
		    <plugins>

		    		<!-- We need this next bit to get rid of a warning on the enforcer plugin in Eclipse -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-enforcer-plugin</artifactId>
										<versionRange>[1.3.1,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				
				<!-- ============= Special task used on an ad-hoc basis to create EvoSuite tests ============ -->
			
				<plugin>
			        <groupId>org.evosuite.plugins</groupId>
			        <artifactId>evosuite-maven-plugin</artifactId>
			        <version>${evosuite.plugin.version}</version>
			        <executions>
			        		<execution>
			        			<id>create-evosuite-tests</id>
	         				<goals> 
	         					<goal>prepare</goal> 
	         				</goals>
	         				<phase>process-test-classes</phase>
	      				</execution>
	      			</executions>
	      			<configuration>
	      				<extraArgs>-Dsearch_budget=90 -Dconsider_main_methods=false -Duse_separate_classloader=false</extraArgs>
	      			</configuration>
				</plugin>
				
				<!--  
					Deploy artifacts to a GitHub release - run manually using: 
					mvn github-release:release
				-->
				<!--  plugin>
					<groupId>de.jutzig</groupId>
					<artifactId>github-release-plugin</artifactId>
					<version>1.2.0</version>
					<inherited>false</inherited>
					<configuration>
						<description>See ChangeLog for details</description>
						<releaseName>Release v${project.version}</releaseName>
						<tag>v${project.version}</tag>
						<draft>true</draft>
						<artifact>${unix.release.folder}/${unix.release.filename}</artifact>
						<fileSets>
							<fileSet>
								<includes>
									<include>${osx.app.folder}/${osx.release.filename}.dmg</include>
									<include>${windows.release.folder}/${windows.release.filename}</include>
									<include>${project.basedir}/ChangeLog</include>
								</includes>
							</fileSet>
						</fileSets>
					</configuration>
				</plugin -->

			</plugins>
  		</pluginManagement>
  
	</build>
	
	<reporting>
	
		<plugins>

			<!-- Javadoc -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.0.0</version>
				<configuration>
					<skip>${skip.javadoc}</skip>
					<failOnError>false</failOnError>
					<quiet>true</quiet>
					<excludePackageNames>org.*</excludePackageNames>
					<excludes>**/*Test.java, **/*_scaffolding*.java</excludes>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>javadoc-no-fork</report>
							<report>test-javadoc-no-fork</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			
		</plugins>
		
	</reporting>
	
	
	<!-- ========================== Profile section =================================-->
	
	<profiles>
	    <!-- The configuration of the default development profile -->
	    <profile>
	        <id>dev</id>
	        <!-- The development profile is active by default and does not run any tests -->
	        <activation>
	            <activeByDefault>true</activeByDefault>
	        </activation>
	        <properties>
	        		<skip.tests>false</skip.tests>
        			<evosuite.exclude.filter>**/*_ESTest*</evosuite.exclude.filter>
        			<jarsigner.skip>true</jarsigner.skip>
        			<skip.artifact.creation>true</skip.artifact.creation>
        			<skip.coverage.reporting>true</skip.coverage.reporting>
        			<skip.javadoc>true</skip.javadoc>
        			
	            <build.profile.id>dev</build.profile.id>
	        </properties>
	    </profile>
	    
	    <profile>
	        <id>release</id>
	        <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
	        <properties>
	        		<skip.tests>false</skip.tests>
        			<evosuite.exclude.filter>**/*_ESTest*</evosuite.exclude.filter>
        			<jarsigner.skip>false</jarsigner.skip>
        			<skip.artifact.creation>false</skip.artifact.creation>
        			<skip.coverage.reporting>false</skip.coverage.reporting>
        			<skip.javadoc>false</skip.javadoc>
        			
	            <build.profile.id>release</build.profile.id>
	        </properties>
	        <build>    
	            <plugins>
	            
	            		<!-- 
	            			Package jar files into OSX .apps and create dmg images.
						NOTE1: artemis_sqlmap is already included in the original jar
						NOTE2: The skip flag does not work on this plugin so it needs to be added into the profile [hack]
					-->
			 
					<plugin>
					    <groupId>sh.tak.appbundler</groupId>
					    <artifactId>appbundle-maven-plugin</artifactId>
					    <version>1.1.0</version>
					    <executions>
					        <execution>
					        		<id>create-artemis-osx-app</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>${skip.artifact.creation}</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.folder}</buildDirectory>
							    		<generateDiskImageFile>false</generateDiskImageFile>
							    		<bundleName>${artemis.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${artemis.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/artemis.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${artemis.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${artemis.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <execution>
					        		<id>create-act-osx-app</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>false</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.folder}</buildDirectory>
							    		<generateDiskImageFile>false</generateDiskImageFile>
							    		<bundleName>${act.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${act.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/act.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${act.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${act.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <execution>
					        		<id>create-dnaplotter-osx-app</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
					            		<skip>false</skip>
					            		<version>${project.version}</version>
					            		<buildDirectory>${osx.app.folder}</buildDirectory>
					            		<generateDiskImageFile>false</generateDiskImageFile>
					            		<bundleName>${dnaplotter.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${dnaplotter.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/dnaplotter.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${dnaplotter.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${dnaplotter.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <!--  The last execution also creates the disk image file... -->
					        <execution>
					        		<id>create-bamview-osx-app</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>false</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.folder}</buildDirectory>
							    		<generateDiskImageFile>true</generateDiskImageFile>
							    		<diskImageFile>${osx.app.folder}/${osx.release.filename}.dmg</diskImageFile>
							    		<bundleName>${bamview.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${bamview.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/bamview.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${bamview.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${bamview.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        
					        <!-- Package CHADO version of toolkit -->
					
					        <execution>
					        		<id>create-artemis-osx-app-CHADO</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>${skip.artifact.creation}</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.chado.folder}</buildDirectory>
							    		<generateDiskImageFile>false</generateDiskImageFile>
							    		<bundleName>${artemis.application.name} (CHADO)</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${artemis.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/artemis.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${postgres.command.line.arg}</jvmOption>
							   			<jvmOption>${chado.command.line.arg}</jvmOption>
							   			<jvmOption>${ibatis.command.line.arg}</jvmOption>
										<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${artemis.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${artemis.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <execution>
					        		<id>create-act-osx-app-CHADO</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>false</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.chado.folder}</buildDirectory>
							    		<generateDiskImageFile>false</generateDiskImageFile>
							    		<bundleName>${act.application.name} (CHADO)</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${act.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/act.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${postgres.command.line.arg}</jvmOption>
							   			<jvmOption>${chado.command.line.arg}</jvmOption>
							   			<jvmOption>${ibatis.command.line.arg}</jvmOption>
										<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${act.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${act.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <execution>
					        		<id>create-dnaplotter-osx-app-CHADO</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
					            		<skip>false</skip>
					            		<version>${project.version}</version>
					            		<buildDirectory>${osx.app.chado.folder}</buildDirectory>
					            		<generateDiskImageFile>false</generateDiskImageFile>
					            		<bundleName>${dnaplotter.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${dnaplotter.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/dnaplotter.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${dnaplotter.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${dnaplotter.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					        <!--  The last execution also creates the disk image file... -->
					        <execution>
					        		<id>create-bamview-osx-app-CHADO</id>
					            <phase>package</phase>
					            <goals>
					                <goal>bundle</goal>
					            </goals>
					            <configuration>
							    		<skip>false</skip>
							    		<version>${project.version}</version>
							    		<buildDirectory>${osx.app.chado.folder}</buildDirectory>
							    		<generateDiskImageFile>true</generateDiskImageFile>
							    		<diskImageFile>${osx.app.chado.folder}/${osx.chado.release.filename}.dmg</diskImageFile>
							    		<bundleName>${bamview.application.name}</bundleName>
							    		<jrePath>${osx.jdk.path}</jrePath>
							        <mainClass>${bamview.main.class}</mainClass>
							        <iconFile>${project.build.directory}/icons/bamview.icns</iconFile>
							        <jvmVersion>${java.target.version}</jvmVersion>
							        <jvmOptions>
							   			<jvmOption>${maxheap.command.line.arg}</jvmOption>
										<jvmOption>${initialheap.command.line.arg}</jvmOption>
										<jvmOption>${noverify.command.line.arg}</jvmOption> 
										<jvmOption>${unixenv.command.line.arg}</jvmOption> 
										<jvmOption>${macosx.menuname.command.line.arg}=${bamview.application.name}</jvmOption>
										<jvmOption>${macosx.dock.command.line.arg}=${bamview.application.name}</jvmOption>
										<jvmOption>${sangeroptions.command.line.arg}</jvmOption>
        									<jvmOption>${j2ssh.command.line.arg}</jvmOption>
							        </jvmOptions>
							        <additionalBundledClasspathResources>
							        		<fileSet>
							        			<directory>${project.build.directory}/icons</directory>
							        			<includes>
							        				<include>Readme.txt</include>
							        			</includes>
							        		</fileSet>
							        </additionalBundledClasspathResources>
							    </configuration>
					        </execution>
					    </executions>
					</plugin>	
	            </plugins>
	         </build>   
	    </profile>
	    
	</profiles>
	
</project>