This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository jmodeltest.

commit d9247988673a082beab59909de066cb1fc32db0a
Author: Andreas Tille <[email protected]>
Date:   Fri Jan 15 17:38:51 2016 +0100

    Imported Upstream version 2.1.9+dfsg
---
 build.xml                                          |  18 ++--
 manual/manual.tex                                  |   9 ++
 .../darwin/jmodeltest/ApplicationOptions.java      |   7 +-
 .../java/es/uvigo/darwin/jmodeltest/ModelTest.java |  48 ++++------
 .../darwin/jmodeltest/ModelTestConfiguration.java  |   6 +-
 .../jmodeltest/exception/InternalException.java    |   2 +-
 .../darwin/jmodeltest/exe/PhymlSingleModel.java    |  33 ++++---
 .../es/uvigo/darwin/jmodeltest/exe/RunPhyml.java   | 106 +++++++++++++++++++--
 .../es/uvigo/darwin/jmodeltest/gui/FrameMain.java  |   4 +-
 .../es/uvigo/darwin/jmodeltest/gui/XManager.java   |   5 +-
 .../es/uvigo/darwin/jmodeltest/gui/icons/JMT24.gif | Bin
 .../es/uvigo/darwin/jmodeltest/gui/icons/JMT48.gif | Bin
 .../es/uvigo/darwin/jmodeltest/gui/icons/JMT96.gif | Bin
 .../uvigo/darwin/jmodeltest/gui/icons/Open16.gif   | Bin
 .../uvigo/darwin/jmodeltest/gui/icons/Open24.gif   | Bin
 .../uvigo/darwin/jmodeltest/io/HtmlReporter.java   |   1 +
 .../darwin/jmodeltest/tree/TreeDistancesCache.java |   2 +-
 .../darwin/jmodeltest/utilities/Utilities.java     |  33 +++++--
 src/main/resources/CHANGELOG                       |   7 ++
 src/main/resources/README                          |   2 +-
 src/main/resources/conf/jmodeltest.conf            |   5 +-
 21 files changed, 205 insertions(+), 83 deletions(-)

diff --git a/build.xml b/build.xml
index 9912efd..0052998 100644
--- a/build.xml
+++ b/build.xml
@@ -2,7 +2,8 @@
 <project name="jModelTest" default="jar" basedir=".">
 
        <property name="src.dir" location="src/main/java" />
-       <property name="bin.dir" location="build/classes" />
+       <property name="build.base.dir" location="build" />
+  <property name="build.dir" location="${build.base.dir}/classes" />
        <property name="lib.dir" location="lib" />
        <property name="dist.dir" location="dist" />
   <property name="exe.dir" location="${dist.dir}/exe/phyml" />
@@ -28,26 +29,23 @@
        </target>
 
        <target name="compile" description="Compile code">
-               <mkdir dir="${bin.dir}" />
+               <mkdir dir="${build.dir}" />
                <mkdir dir="${lib.dir}" />
                <property environment="env" />
                <property name="java6.boot.classpath" 
value="${env.JAVA6_BOOTCLASSES}" />
-               <javac srcdir="${src.dir}" destdir="${bin.dir}" 
includeAntRuntime="no" 
+               <javac srcdir="${src.dir}" destdir="${build.dir}" 
includeAntRuntime="no" 
                        target="1.6" source="1.6" 
bootclasspath="${java5.boot.classpath}"
                        classpathref="lib.path" debug="${compile.debug}">
                        <compilerarg value="-Xlint:all"/>
                </javac>
-               <copy todir="${bin.dir}/es">
-                       <fileset dir="${src.resources.dir}/es" 
includes="**/*.xml,**/*.properties,**/*.gif,**/*.ico" />
-               </copy>
-
        </target>
 
        <target name="jar" depends="compile" description="Build jar">
                <mkdir dir="${dist.dir}" />
-               <jar jarfile="${jarfile}" basedir="${bin.dir}" 
manifest="Manifest">
+               <jar jarfile="${jarfile}" basedir="${build.dir}" 
manifest="Manifest">
+                       <fileset dir="${src.dir}" 
includes="**/*.xml,**/*.properties,**/*.gif,**/*.ico" />
                        <!-- Merge library jars into final jar file
-            <zipgroupfileset refid="lib.jars"/>-->
+      <zipgroupfileset refid="lib.jars"/>-->
                </jar>
                <mkdir dir="${dist.dir}/lib" />
                <copy todir="${dist.dir}/lib">
@@ -70,7 +68,7 @@
        </target>
 
        <target name="clean" description="Remove build and dist directories">
-               <delete dir="${bin.dir}" />
+               <delete dir="${build.base.dir}" />
                <delete dir="${dist.dir}" />
                <delete dir="${manual.dir}" includes="*.aux *.bbl *.out *.toc 
*.log *.blg *.dvi" />
        </target>
diff --git a/manual/manual.tex b/manual/manual.tex
index 62bc31e..5adc82f 100644
--- a/manual/manual.tex
+++ b/manual/manual.tex
@@ -88,6 +88,15 @@ These programs are protected by their own license and 
conditions, and using jMod
 
 \begin{itemize}
 
+  \item 15 Jan 2016 - Version 2.1.9
+
+  \begin{itemize}
+    \item Added automatic search for PhyML binary in /usr/bin
+    \item Removed non-ASCII characters
+    \item Disable logging if writing is not possible
+    \item Merge GUI images into jarfile
+  \end{itemize}
+  
   \item 20 Oct 2015 - Version 2.1.8
 
   \begin{itemize}
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/ApplicationOptions.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/ApplicationOptions.java
index f632b4e..c3e570d 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/ApplicationOptions.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/ApplicationOptions.java
@@ -169,7 +169,12 @@ public class ApplicationOptions implements Serializable {
                        if (ModelTestConfiguration.isPhymlLogEnabled() && 
getInputFile() != null) {
                                logFile = new 
File(ModelTestConfiguration.getLogDir() + File.separator + 
getInputFile().getName() 
                                                + ".phyml." + executionName + 
".log");
-                       } else {
+                               if (!logFile.canWrite())
+                               {
+                                       logFile = null;
+                               }
+                       } 
+                       if (logFile == null) {
                                logFile = 
File.createTempFile("jmodeltest-phyml", ".log");
                                logFile.deleteOnExit();
                        }
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/ModelTest.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/ModelTest.java
index 20d4c2d..5393bf0 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/ModelTest.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/ModelTest.java
@@ -96,7 +96,7 @@ public class ModelTest {
        public static final double INFINITY = 9999;
        public static final int MAX_NUM_MODELS = 88;
        public static final int MAX_NAME = 60;
-       public static final String CURRENT_VERSION = "2.1.8 v20151020";
+       public static final String CURRENT_VERSION = "2.1.9 v20160115";
        public static final String programName = ("jModeltest");
        public static final String URL = "http://code.google.com/p/jmodeltest2";;
        public static final String WIKI = 
"http://code.google.com/p/jmodeltest2/wiki/GettingStarted";;
@@ -165,15 +165,7 @@ public class ModelTest {
                        execMode = ExecMode.GUI;
                        XManager.getInstance();
                        // Check binary
-               if (!ModelTestConfiguration.isGlobalPhymlBinary()) {
-                               if (!RunPhyml.phymlBinary.exists()) {
-                                       Utilities
-                                       .printRed("ERROR: PhyML binary cannot 
be found: " + RunPhyml.phymlBinary.getAbsolutePath() + "\n");
-                               } else if (!RunPhyml.phymlBinary.canExecute()) {
-                                       Utilities
-                                       .printRed("ERROR: PhyML binary exists, 
but it cannot be executed: " + RunPhyml.phymlBinary.getAbsolutePath() + "\n");
-                               }
-                       }
+               RunPhyml.checkBinary();
                } else {
                        System.err.println("");
                        System.err.println("ERROR: You are trying to run a GUI 
interface in a headless server.");
@@ -189,17 +181,21 @@ public class ModelTest {
                        execMode = ExecMode.CONSOLE;
                        ParseArguments();
                        
+                       if (MPJ_ME == 0) {
+                               // print header information
+                               printHeader(MAIN_CONSOLE);
+
+                               // print citation information
+                               printCitation(MAIN_CONSOLE);
+
+                               // print notice information
+                               printNotice(MAIN_CONSOLE);
+                       }
+                       
                        // Check binary
-               if (!ModelTestConfiguration.isGlobalPhymlBinary()) {
-                               if (!RunPhyml.phymlBinary.exists()) {
-                                       System.err.println(" ");
-                                       System.err.println("ERROR: PhyML binary 
cannot be found: " + RunPhyml.phymlBinary.getAbsolutePath());
-                                       finalize(-1);
-                               } else if (!RunPhyml.phymlBinary.canExecute()) {
-                                       System.err.println(" ");
-                                       System.err.println("ERROR: PhyML binary 
exists, but it cannot be executed: " + RunPhyml.phymlBinary.getAbsolutePath());
-                                       finalize(-1);
-                               }
+                       if (!RunPhyml.checkBinary())
+                       {
+                               finalize(-1);
                        }
                
                        options.createLogFile();
@@ -300,15 +296,6 @@ public class ModelTest {
        public void runCommandLine() {
 
                if (MPJ_ME == 0) {
-                       // print header information
-                       printHeader(MAIN_CONSOLE);
-
-                       // print citation information
-                       printCitation(MAIN_CONSOLE);
-
-                       // print notice information
-                       printNotice(MAIN_CONSOLE);
-
                        // print the command line
                        MAIN_CONSOLE.println(" ");
                        MAIN_CONSOLE.print("Arguments =");
@@ -1389,7 +1376,8 @@ public class ModelTest {
                stream.println("jModelTest " + CURRENT_VERSION);
                stream.println("Copyright (C) 2011 D. Darriba, G.L. Taboada, R. 
Doallo and D. Posada");
                stream.println("This program comes with ABSOLUTELY NO 
WARRANTY");
-               stream.println("This is free software, and you are welcome to 
redistribute it under certain conditions");
+               stream.println("This is free software, and you are welcome to 
redistribute it under certain");
+               stream.println("conditions");
                stream.println(" ");
                stream.println("Notice: This program may contain errors. Please 
inspect results carefully.");
                stream.println(" ");
diff --git 
a/src/main/java/es/uvigo/darwin/jmodeltest/ModelTestConfiguration.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/ModelTestConfiguration.java
index ac88975..a9b4a66 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/ModelTestConfiguration.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/ModelTestConfiguration.java
@@ -114,9 +114,9 @@ public abstract class ModelTestConfiguration {
             }
             
                if (!existsKey(LOG_DIR)) {
-                       APPLICATION_PROPERTIES.setProperty(HTML_LOG, 
"disabled");
-                       APPLICATION_PROPERTIES.setProperty(PHYML_LOG, 
"disabled");
-                       APPLICATION_PROPERTIES.setProperty(CKP_LOG, "disabled");
+                       disableHtmlLog();
+                       disablePhymlLog();
+                       disableCkpLog();
                }
                
         } catch (IOException e) {
diff --git 
a/src/main/java/es/uvigo/darwin/jmodeltest/exception/InternalException.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/exception/InternalException.java
index cef9583..8e9e91d 100755
--- a/src/main/java/es/uvigo/darwin/jmodeltest/exception/InternalException.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/exception/InternalException.java
@@ -20,7 +20,7 @@ package es.uvigo.darwin.jmodeltest.exception;
 /**
  * The Class ProtTestInternalException.
  * 
- * @author Diego Darriba López
+ * @author Diego Darriba
  */
 public class InternalException extends RuntimeException {
 
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/exe/PhymlSingleModel.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/exe/PhymlSingleModel.java
index 610afc4..a1db6df 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/exe/PhymlSingleModel.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/exe/PhymlSingleModel.java
@@ -23,12 +23,9 @@ import java.io.FileOutputStream;
 import java.io.PrintWriter;
 import java.util.Observable;
 
-import javax.sql.rowset.spi.SyncResolver;
-
 import pal.tree.TreeParseException;
 import es.uvigo.darwin.jmodeltest.ApplicationOptions;
 import es.uvigo.darwin.jmodeltest.ModelTest;
-import es.uvigo.darwin.jmodeltest.ModelTestConfiguration;
 import es.uvigo.darwin.jmodeltest.io.TextInputStream;
 import es.uvigo.darwin.jmodeltest.model.Model;
 import es.uvigo.darwin.jmodeltest.observer.ProgressInfo;
@@ -64,9 +61,9 @@ public class PhymlSingleModel extends Observable implements 
Runnable {
                this.ignoreGaps = ignoreGaps;
                
                this.phymlStatFileName = 
options.getAlignmentFile().getAbsolutePath()
-                               + RunPhyml.PHYML_STATS_SUFFIX + model.getName() 
+ ".txt";
+                               + RunPhyml.PHYML_STATS_SUFFIX + model.getName();
                this.phymlTreeFileName = 
options.getAlignmentFile().getAbsolutePath()
-                               + RunPhyml.PHYML_TREE_SUFFIX + model.getName() 
+ ".txt";
+                               + RunPhyml.PHYML_TREE_SUFFIX + model.getName();
        }
 
        public PhymlSingleModel(Model model, int index, boolean justGetJCTree,
@@ -217,8 +214,9 @@ public class PhymlSingleModel extends Observable implements 
Runnable {
 
        private void executeCommandLine() {
                String[] executable = new String[1];
+               boolean printLog = options.getLogFile() != null;
                try {
-                       if (!ModelTestConfiguration.isGlobalPhymlBinary()) {
+                       if (!RunPhyml.isPhymlGlobal()) {
                                if (!RunPhyml.phymlBinary.exists()) {
                                        notifyObservers(
                                                        
ProgressInfo.ERROR_BINARY_NOEXISTS, index, model, 
RunPhyml.phymlBinary.getAbsolutePath());
@@ -246,12 +244,16 @@ public class PhymlSingleModel extends Observable 
implements Runnable {
                        // any output?
                        FileOutputStream logFile = new FileOutputStream(
                                        options.getLogFile(), true);
-                       StreamGobbler outputGobbler = new StreamGobbler(
+                       StreamGobbler outputGobbler = null;
+                       
+                       if (printLog)
+                               outputGobbler = new StreamGobbler(
                                        proc.getInputStream(), "PHYML", 
logFile, ModelTest.getPhymlConsole());
 
                        // kick them off
                        errorGobbler.start();
-                       outputGobbler.start();
+                       if (printLog)
+                               outputGobbler.start();
 
                        // any error???
                        int exitVal = proc.waitFor();
@@ -280,7 +282,7 @@ public class PhymlSingleModel extends Observable implements 
Runnable {
                        if (ModelTest.getPhymlConsole() != null) {
                                synchronized (ModelTest.getPhymlConsole()) {
                                        ModelTest.getPhymlConsole().println(" 
");
-                                       
ModelTest.getPhymlConsole().println("Command line used for process "+ 
outputGobbler.getRunId() +":");
+                                       
ModelTest.getPhymlConsole().println("Command line used for process "+ 
errorGobbler.getRunId() +":");
                                        ModelTest.getPhymlConsole().println("   
 " + RunPhyml.phymlBinary.getAbsolutePath() + " "
                                                        + uCommand);
                                        ModelTest.getPhymlConsole().println(" 
");
@@ -288,7 +290,6 @@ public class PhymlSingleModel extends Observable implements 
Runnable {
                                        ModelTest.getPhymlConsole().close();
                                }
                        }
-
                } catch (InterruptedException e) {
                        notifyObservers(ProgressInfo.INTERRUPTED, index, model, 
null);
                        interrupted = true;
@@ -314,11 +315,13 @@ public class PhymlSingleModel extends Observable 
implements Runnable {
 
                boolean showParsing = false;
 
-               // Get model likelihood
-               // TextInputStream phymlLkFile = new 
TextInputStream(phymlLkFileName);
-               // currentModel.lnL = (-1.0) * phymlLkFile.readFloat();
-               // phymlLkFile.close();
-
+               File f = new File(phymlStatFileName);
+               if (!f.exists())
+               {
+                       phymlStatFileName += ".txt";
+                       phymlTreeFileName += ".txt";
+               }
+               
                // Get model likelihood and parameter estimates
                try {
                        TextInputStream phymlStatFile = new TextInputStream(
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/exe/RunPhyml.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/exe/RunPhyml.java
index 52d43b7..809ef57 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/exe/RunPhyml.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/exe/RunPhyml.java
@@ -17,7 +17,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  
02111-1307  USA
  */
 package es.uvigo.darwin.jmodeltest.exe;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -60,7 +64,8 @@ public abstract class RunPhyml extends Observable implements 
Observer {
        protected Model[] models;
        protected Model gtrModel = null;
 
-       public static final String PHYML_VERSION = "3.0";
+       public static final String[] COMPATIBLE_VERSIONS = {"20130103", 
"20131022", "20141009", "20141029", "20150501"};
+       public static String PHYML_VERSION = "3.0";
 
        public static String PHYML_TREE_SUFFIX = "_phyml_tree_";
        public static String PHYML_STATS_SUFFIX = "_phyml_stats_";
@@ -68,16 +73,93 @@ public abstract class RunPhyml extends Observable 
implements Observer {
        public static File phymlBinary;
        public static String phymlBinaryStr;
        private static String CURRENT_DIRECTORY = ModelTestConfiguration.PATH;
-       private static boolean PHYML_GLOBAL = false;
+       private static boolean PHYML_GLOBAL = 
ModelTestConfiguration.isGlobalPhymlBinary();
        public static String PHYML_PATH = CURRENT_DIRECTORY + "exe/phyml/";
-
+       private static boolean compatiblePhyml = false;
        
        protected Observer progress;
 
+       public static boolean isCompatible() {
+               return compatiblePhyml;
+       }
+       
+       public static boolean checkBinary() {
+               boolean canExecute = false;
+               if (!ModelTestConfiguration.isGlobalPhymlBinary()) {
+                       if (!RunPhyml.phymlBinary.exists()) {
+                               Utilities
+                               .printRed("ERROR: PhyML binary cannot be found: 
" + RunPhyml.phymlBinary.getAbsolutePath() + "\n");
+                       } else if (!RunPhyml.phymlBinary.canExecute()) {
+                               Utilities
+                               .printRed("ERROR: PhyML binary exists, but it 
cannot be executed: " + RunPhyml.phymlBinary.getAbsolutePath() + "\n");
+                       } else if (!RunPhyml.isCompatible()){
+                               Utilities
+                               .printRed("WARNING: PhyML binary is not in the 
list of compatibility: \n");
+                               Utilities
+                               
.printRed(RunPhyml.phymlBinary.getAbsolutePath() + " v" + 
RunPhyml.PHYML_VERSION +"\n");
+                               Utilities.printRed("Compatible versions: ");
+                               for (int i=0; 
i<RunPhyml.COMPATIBLE_VERSIONS.length; i++)
+                                       
Utilities.printBlue(RunPhyml.COMPATIBLE_VERSIONS[i] + " ");
+                               Utilities.printBlue("\n");
+                               Utilities
+                               .printRed("jModelTest will try to continue 
execution anyway, but it might fail.\n");
+                               canExecute = true;
+                       } else {
+                               Utilities
+                               .printBlue("PhyML binary: " + 
RunPhyml.phymlBinary.getAbsolutePath() + " v" + RunPhyml.PHYML_VERSION + "\n");
+                               canExecute = true;
+                       }
+               }
+               return canExecute;
+       }
+       private static boolean checkPhymlCompatibility(String binary) {
+               boolean binaryFound = false;
+               if (Utilities.findCurrentOS() != Utilities.OS_LINUX)
+                       return false;
+               // get process and execute command line
+               String cmd[] = {binary, "--version"};
+               Runtime rt = Runtime.getRuntime();
+               Process proc;
+               try {
+                       proc = rt.exec(cmd, null, null);
+                       InputStream stdin = proc.getInputStream();
+                       InputStreamReader isr = new InputStreamReader(stdin);
+                       BufferedReader br = new BufferedReader(isr);
+
+                       String line = null;
+                       while ( (line = br.readLine()) != null) {
+                               if (line.toLowerCase().contains("phyml 
version")) {
+                                       String[] linesplit = 
line.trim().replace(".", "").split(" ");
+                                       String version = 
linesplit[linesplit.length - 1];
+                                       PHYML_VERSION = version;
+                                       if 
(Arrays.asList(COMPATIBLE_VERSIONS).contains(version)) {
+                                               compatiblePhyml = true;
+                                       } else {
+                                               compatiblePhyml = false;
+                                       }
+                                       binaryFound = true;
+                               }
+                       }
+                       br.close();
+                       isr.close();
+                       stdin.close();
+                       proc.destroy();
+               } catch (IOException e) {
+                       return false;
+               }
+               return binaryFound;
+       }
+       
+       public static boolean isPhymlGlobal() {
+               return PHYML_GLOBAL;
+       }
+       
        static {
                if (PHYML_GLOBAL) {
                        PHYML_PATH = "";
+                       phymlBinaryStr = "phyml";
                } else {
+                       /* check the local paths */
                        String path = ModelTestConfiguration.getExeDir();
                        if (!path.startsWith(File.separator)) {
                                PHYML_PATH = CURRENT_DIRECTORY + File.separator 
+ path;
@@ -87,18 +169,26 @@ public abstract class RunPhyml extends Observable 
implements Observer {
                        if (!PHYML_PATH.endsWith(File.separator)) {
                                PHYML_PATH += File.separator;
                        }
-               }
-               if (PHYML_GLOBAL) {
-                       phymlBinaryStr = "phyml";
-               } else {
                        phymlBinary = new File(PHYML_PATH + "phyml");
                        if (phymlBinary.exists() && phymlBinary.canExecute()) {
                                phymlBinaryStr = phymlBinary.getAbsolutePath();
+                               compatiblePhyml = true;
                        } else {
                                phymlBinaryStr = PHYML_PATH + 
Utilities.getBinaryVersion();
                        }
-                       /* Check if binary exists */
+                       /* Check if binary exists and is compatible */
                        phymlBinary = new File(phymlBinaryStr);
+                       if (!checkPhymlCompatibility(phymlBinaryStr)) {
+                               /* Check for system wide PhyML */
+                               if (!(phymlBinary.exists() && 
phymlBinary.canExecute()))
+                               {
+                                       
if(checkPhymlCompatibility("/usr/bin/phyml")) {
+                                               PHYML_PATH = "/usr/bin";
+                                               phymlBinary = new 
File(PHYML_PATH + "/phyml");
+                                               phymlBinaryStr = 
phymlBinary.getAbsolutePath();                                         
+                                       }
+                               }
+                       }
                }
        }
        public RunPhyml(Observer progress, ApplicationOptions options,
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/gui/FrameMain.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/FrameMain.java
index da1fbcd..107e5ad 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/gui/FrameMain.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/gui/FrameMain.java
@@ -537,7 +537,7 @@ public class FrameMain extends JModelTestFrame {
                // getContentPane().setLayout(null);
                getContentPane().setLayout(new BorderLayout());
                setTitle("jModelTest " + ModelTest.CURRENT_VERSION);
-               setSize(new java.awt.Dimension(630, 695));
+               setSize(new java.awt.Dimension(780, 695));
                setResizable(true);
 
                // event handling
@@ -1142,7 +1142,7 @@ public class FrameMain extends JModelTestFrame {
        private void menuAboutCreditsActionPerformed(java.awt.event.ActionEvent 
e) {
                try {
                        String credits = "Likelihood calculations with Phyml by 
Stephane Guindon et al.\n";
-                       credits += "Alignment conversion with ALTER by Daniel 
Glez-Peña et al.\n";
+                       credits += "Alignment conversion with ALTER by Daniel 
Glez-Pena et al.\n";
                        credits += "Phylogenetic trees management with PAL: 
Phylogenetic Analysis Library by A. Drummond and K. Strimmer\n";
                        credits += "Table utilities by Philip Milne\n";
                        credits += "BrowserLauncher by Eric Albert and Jeff 
Chapman\n";
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/gui/XManager.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/XManager.java
index 8bef0e7..66f496e 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/gui/XManager.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/gui/XManager.java
@@ -59,6 +59,7 @@ public class XManager {
        
        public static final Point MAIN_LOCATION = new Point(281, 80);
        
+       public static SimpleAttributeSet blueText;
        public static SimpleAttributeSet redText;
        public static SimpleAttributeSet blackText;
 
@@ -82,9 +83,11 @@ public class XManager {
                FONT_STATUS = new Font("Dialog", 0, 9);
                FONT_TABULAR = new java.awt.Font("Verdana", 0, 12);
 
-               redText = new SimpleAttributeSet();
                blackText = new SimpleAttributeSet();
+               redText = new SimpleAttributeSet();
+               blueText = new SimpleAttributeSet();
 
+               StyleConstants.setForeground(blueText, Color.blue);
                StyleConstants.setForeground(redText, Color.red);
                StyleConstants.setForeground(blackText, Color.black);
        }
diff --git a/src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT24.gif 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT24.gif
similarity index 100%
rename from src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT24.gif
rename to src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT24.gif
diff --git a/src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT48.gif 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT48.gif
similarity index 100%
rename from src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT48.gif
rename to src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT48.gif
diff --git a/src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT96.gif 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT96.gif
similarity index 100%
rename from src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/JMT96.gif
rename to src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/JMT96.gif
diff --git a/src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/Open16.gif 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/Open16.gif
similarity index 100%
rename from src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/Open16.gif
rename to src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/Open16.gif
diff --git a/src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/Open24.gif 
b/src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/Open24.gif
similarity index 100%
rename from src/main/resources/es/uvigo/darwin/jmodeltest/gui/icons/Open24.gif
rename to src/main/java/es/uvigo/darwin/jmodeltest/gui/icons/Open24.gif
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/io/HtmlReporter.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/io/HtmlReporter.java
index c7a16a4..0e4137e 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/io/HtmlReporter.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/io/HtmlReporter.java
@@ -625,6 +625,7 @@ public abstract class HtmlReporter {
                }
        }
 
+       @SuppressWarnings("resource")
        public static void copyFile(File in, File out) throws IOException {
                FileChannel inChannel = new FileInputStream(in).getChannel();
                FileChannel outChannel = new FileOutputStream(out).getChannel();
diff --git 
a/src/main/java/es/uvigo/darwin/jmodeltest/tree/TreeDistancesCache.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/tree/TreeDistancesCache.java
index a4b3a9b..d28e567 100755
--- a/src/main/java/es/uvigo/darwin/jmodeltest/tree/TreeDistancesCache.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/tree/TreeDistancesCache.java
@@ -28,7 +28,7 @@ import pal.tree.Tree;
  * 
  * This cache support both euclidean and RF distances.
  * 
- * @author Diego Darriba López
+ * @author Diego Darriba
  * 
  * @since 3.0
  */
diff --git a/src/main/java/es/uvigo/darwin/jmodeltest/utilities/Utilities.java 
b/src/main/java/es/uvigo/darwin/jmodeltest/utilities/Utilities.java
index 5e510e4..64fc3f1 100644
--- a/src/main/java/es/uvigo/darwin/jmodeltest/utilities/Utilities.java
+++ b/src/main/java/es/uvigo/darwin/jmodeltest/utilities/Utilities.java
@@ -31,6 +31,7 @@ import java.util.Locale;
 import java.util.StringTokenizer;
 
 import javax.swing.text.Document;
+import javax.swing.text.SimpleAttributeSet;
 
 import pal.alignment.Alignment;
 import es.uvigo.darwin.jmodeltest.ModelTest;
@@ -263,21 +264,37 @@ public final class Utilities {
                }
        }
 
-       /**
-        * printRed
-        * 
-        * Prints to the main console text in red
-        */
-
-       public static void printRed(String text) {
+       private static void printColor(String text, SimpleAttributeSet color) {
                if (ModelTest.buildGUI) {
                        try {
                                Document doc = 
XManager.getInstance().getPane().getDocument();
-                               doc.insertString(doc.getLength(), text, 
XManager.redText);
+                               doc.insertString(doc.getLength(), text, color);
                        } catch (javax.swing.text.BadLocationException e) {
+                               System.err.println("Bad Location Exception");
                        }
+               } else {
+                       System.out.print(text);
                }
        }
+       
+       /**
+        * printRed
+        * 
+        * Prints to the main console text in red
+        */
+       public static void printRed(String text) {
+               printColor(text, XManager.redText);
+       }
+       
+       /**
+        * printBlue
+        * 
+        * Prints to the main console text in blue
+        */
+
+       public static void printBlue(String text) {
+               printColor(text, XManager.blueText);
+       }
 
        /******************
         * RoundDoubleTo **************************
diff --git a/src/main/resources/CHANGELOG b/src/main/resources/CHANGELOG
index a16c616..a2d38d3 100644
--- a/src/main/resources/CHANGELOG
+++ b/src/main/resources/CHANGELOG
@@ -1,3 +1,10 @@
+15 Jan 2016 Version 2.1.9 Revision 20160115
+
+  * Added automatic search for PhyML binary in /usr/bin
+  * Removed non-ASCII characters
+  * Disable logging if writing is not possible
+  * Merge GUI images into jarfile
+
 20 Oct 2015 Version 2.1.8 Revision 20151020
 
   * Removed ReadSeq dependency
diff --git a/src/main/resources/README b/src/main/resources/README
index b2c18ff..1d4fd02 100644
--- a/src/main/resources/README
+++ b/src/main/resources/README
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
-jModelTest 2.1.8 Readme -      Oct/20/2015
+jModelTest 2.1.9 Readme - Jan/15/2016
 
 Diego Darriba ([email protected])
 Guillermo L. Taboada ([email protected])
diff --git a/src/main/resources/conf/jmodeltest.conf 
b/src/main/resources/conf/jmodeltest.conf
index d55ee37..8368c7d 100644
--- a/src/main/resources/conf/jmodeltest.conf
+++ b/src/main/resources/conf/jmodeltest.conf
@@ -39,9 +39,10 @@ log-dir        = log
 #                                                        #
 # Environment variables in curly brackets can be used    #
 #    e.g., ${HOME} or ${PHYML_HOME}                      #
+#                                                        #
 ##########################################################
 global-phyml-exe    = false
-exe-dir                    = exe/phyml
+exe-dir             = exe/phyml
 
 ##########################################################
 #                                                        #
@@ -58,4 +59,4 @@ exe-dir                   = exe/phyml
 ##########################################################
 gamma-threads    = 4
 inv-threads      = 2
-uniform-threads         = 1
+uniform-threads  = 1

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/debian-med/jmodeltest.git

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to