diff --git a/doc/installation/checkInstallation.html b/doc/installation/checkInstallation.html index a85b0f32..80b9bd61 100644 --- a/doc/installation/checkInstallation.html +++ b/doc/installation/checkInstallation.html @@ -107,140 +107,140 @@

SOURCE CODE ^% If neither git nor add-on, then ZIP was downloaded -0041 if isfolder(fullfile(ravenDir,'.git')) -0042 installType = 0; -0043 elseif any(strcmp(addList.Name,'RAVEN Toolbox')) -0044 installType = 1; -0045 end -0046 -0047 % Do not print first few lines if only version should be reported -0048 if ~versionOnly -0049 fprintf('\n*** THE RAVEN TOOLBOX ***\n\n'); -0050 %Print the RAVEN version if it is not the development version -0051 fprintf(myStr(' > Installation type',40)); -0052 switch installType -0053 case 0 -0054 fprintf('Advanced (via git)\n'); -0055 case 1 -0056 fprintf('Easy (as MATLAB Add-On)\n'); -0057 case 2 -0058 fprintf('Medium (as downloaded ZIP file)\n'); -0059 end -0060 fprintf(myStr(' > Installing from location',40)); -0061 fprintf('%s\n',ravenDir) -0062 fprintf(myStr(' > Checking RAVEN release',40)); -0063 end -0064 -0065 if exist(fullfile(ravenDir,'version.txt'), 'file') == 2 -0066 currVer = fgetl(fopen(fullfile(ravenDir,'version.txt'))); -0067 fclose('all'); -0068 if ~versionOnly -0069 fprintf([currVer '\n']); -0070 try -0071 newVer=strtrim(webread('https://raw.githubusercontent.com/SysBioChalmers/RAVEN/main/version.txt')); -0072 newVerNum=str2double(strsplit(newVer,'.')); -0073 currVerNum=str2double(strsplit(currVer,'.')); -0074 for i=1:3 -0075 if currVerNum(i)<newVerNum(i) -0076 fprintf(myStr(' > Latest RAVEN release available',40)) -0077 printOrange([newVer,'\n']) -0078 switch installType -0079 case 0 -0080 printOrange(' Run git pull in your favourite git client\n') -0081 printOrange(' to get the latest RAVEN release\n'); -0082 case 1 -0083 printOrange(myStr(' Instructions on how to upgrade',40)) -0084 fprintf('<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#upgrade-raven-after-easy-installation">here</a>\n'); -0085 case 2 -0086 printOrange(myStr(' Instructions on how to upgrade',40)) -0087 fprintf('<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#upgrade-raven-after-medium-installation">here</a>\n'); -0088 end -0089 break -0090 elseif i==3 -0091 fprintf(' > You are running the latest RAVEN release\n'); -0092 end -0093 end -0094 catch -0095 fprintf(myStr(' > Checking for latest RAVEN release',40)) -0096 printOrange('Fail\n'); -0097 printOrange(' Cannot reach GitHub for release info\n'); -0098 end -0099 end -0100 else -0101 currVer = 'develop'; -0102 if ~versionOnly; fprintf('DEVELOPMENT\n'); end -0103 end -0104 if strcmp(developMode,'versionOnly') -0105 return; -0106 end -0107 -0108 fprintf(myStr(' > Checking MATLAB release',40)) -0109 fprintf([version('-release') '\n']) -0110 fprintf(myStr(' > Checking system architecture',40)) -0111 fprintf([computer('arch'),'\n']) -0112 -0113 fprintf(myStr(' > Set RAVEN in MATLAB path',40)) -0114 subpath=regexp(genpath(ravenDir),pathsep,'split'); %List all subdirectories -0115 pathsToKeep=cellfun(@(x) ~contains(x,'.git'),subpath) & cellfun(@(x) ~contains(x,'doc'),subpath); -0116 try -0117 addpath(strjoin(subpath(pathsToKeep),pathsep)); -0118 fprintf('Pass\n'); -0119 fprintf(myStr(' > Save MATLAB path',40)) -0120 try -0121 savepath -0122 fprintf('Pass\n') -0123 catch -0124 printOrange('Fail\n') -0125 fprintf([' You might have to rerun checkInstallation again\n'... -0126 ' next time you start up MATLAB\n']) -0127 end -0128 catch -0129 printOrange('Fail\n') -0130 end -0131 -0132 if isunix -0133 fprintf(myStr(' > Make binaries executable',40)) -0134 status = makeBinaryExecutable(ravenDir); -0135 if status == 0 -0136 fprintf('Pass\n') -0137 else -0138 printOrange('Fail\n') -0139 end -0140 end -0141 -0142 %Check if it is possible to parse an Excel file -0143 fprintf('\n=== Model import and export ===\n'); -0144 fprintf(myStr(' > Add Java paths for Excel format',40)) -0145 try -0146 %Add the required classes to the static Java path if not already added -0147 addJavaPaths(); -0148 fprintf('Pass\n') -0149 catch -0150 printOrange('Fail\n') -0151 end -0152 fprintf(myStr(' > Checking libSBML version',40)) -0153 try -0154 evalc('importModel(fullfile(ravenDir,''tutorial'',''empty.xml''))'); -0155 try -0156 libSBMLver=OutputSBML_RAVEN; % Only works in libSBML 5.17.0+ -0157 fprintf([libSBMLver.libSBML_version_string '\n']); -0158 catch -0159 printOrange('Fail\n') -0160 fprintf(' An older libSBML version was found, update to version 5.17.0 or higher for a significant improvement of model import\n'); -0161 end -0162 catch -0163 printOrange('Fail\n') -0164 fprintf(' Download libSBML from http://sbml.org/Software/libSBML/Downloading_libSBML and add to MATLAB path\n'); -0165 end -0166 fprintf(' > Checking model import and export\n') -0167 [~,res]=evalc("runtests('importExportTests.m');"); -0168 -0169 fprintf(myStr(' > Import Excel format',40)) -0170 if res(1).Passed == 1 -0171 fprintf('Pass\n') -0172 else -0173 printOrange('Fail\n') -0174 addList = matlab.addons.installedAddons; +0041 addList = matlab.addons.installedAddons; +0042 if isfolder(fullfile(ravenDir,'.git')) +0043 installType = 0; +0044 elseif any(strcmp(addList.Name,'RAVEN Toolbox')) +0045 installType = 1; +0046 end +0047 +0048 % Do not print first few lines if only version should be reported +0049 if ~versionOnly +0050 fprintf('\n*** THE RAVEN TOOLBOX ***\n\n'); +0051 %Print the RAVEN version if it is not the development version +0052 fprintf(myStr(' > Installation type',40)); +0053 switch installType +0054 case 0 +0055 fprintf('Advanced (via git)\n'); +0056 case 1 +0057 fprintf('Easy (as MATLAB Add-On)\n'); +0058 case 2 +0059 fprintf('Medium (as downloaded ZIP file)\n'); +0060 end +0061 fprintf(myStr(' > Installing from location',40)); +0062 fprintf('%s\n',ravenDir) +0063 fprintf(myStr(' > Checking RAVEN release',40)); +0064 end +0065 +0066 if exist(fullfile(ravenDir,'version.txt'), 'file') == 2 +0067 currVer = fgetl(fopen(fullfile(ravenDir,'version.txt'))); +0068 fclose('all'); +0069 if ~versionOnly +0070 fprintf([currVer '\n']); +0071 try +0072 newVer=strtrim(webread('https://raw.githubusercontent.com/SysBioChalmers/RAVEN/main/version.txt')); +0073 newVerNum=str2double(strsplit(newVer,'.')); +0074 currVerNum=str2double(strsplit(currVer,'.')); +0075 for i=1:3 +0076 if currVerNum(i)<newVerNum(i) +0077 fprintf(myStr(' > Latest RAVEN release available',40)) +0078 printOrange([newVer,'\n']) +0079 switch installType +0080 case 0 +0081 printOrange(' Run git pull in your favourite git client\n') +0082 printOrange(' to get the latest RAVEN release\n'); +0083 case 1 +0084 printOrange(myStr(' Instructions on how to upgrade',40)) +0085 fprintf('<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#upgrade-raven-after-easy-installation">here</a>\n'); +0086 case 2 +0087 printOrange(myStr(' Instructions on how to upgrade',40)) +0088 fprintf('<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#upgrade-raven-after-medium-installation">here</a>\n'); +0089 end +0090 break +0091 elseif i==3 +0092 fprintf(' > You are running the latest RAVEN release\n'); +0093 end +0094 end +0095 catch +0096 fprintf(myStr(' > Checking for latest RAVEN release',40)) +0097 printOrange('Fail\n'); +0098 printOrange(' Cannot reach GitHub for release info\n'); +0099 end +0100 end +0101 else +0102 currVer = 'develop'; +0103 if ~versionOnly; fprintf('DEVELOPMENT\n'); end +0104 end +0105 if strcmp(developMode,'versionOnly') +0106 return; +0107 end +0108 +0109 fprintf(myStr(' > Checking MATLAB release',40)) +0110 fprintf([version('-release') '\n']) +0111 fprintf(myStr(' > Checking system architecture',40)) +0112 fprintf([computer('arch'),'\n']) +0113 +0114 fprintf(myStr(' > Set RAVEN in MATLAB path',40)) +0115 subpath=regexp(genpath(ravenDir),pathsep,'split'); %List all subdirectories +0116 pathsToKeep=cellfun(@(x) ~contains(x,'.git'),subpath) & cellfun(@(x) ~contains(x,'doc'),subpath); +0117 try +0118 addpath(strjoin(subpath(pathsToKeep),pathsep)); +0119 fprintf('Pass\n'); +0120 fprintf(myStr(' > Save MATLAB path',40)) +0121 try +0122 savepath +0123 fprintf('Pass\n') +0124 catch +0125 printOrange('Fail\n') +0126 fprintf([' You might have to rerun checkInstallation again\n'... +0127 ' next time you start up MATLAB\n']) +0128 end +0129 catch +0130 printOrange('Fail\n') +0131 end +0132 +0133 if isunix +0134 fprintf(myStr(' > Make binaries executable',40)) +0135 status = makeBinaryExecutable(ravenDir); +0136 if status == 0 +0137 fprintf('Pass\n') +0138 else +0139 printOrange('Fail\n') +0140 end +0141 end +0142 +0143 %Check if it is possible to parse an Excel file +0144 fprintf('\n=== Model import and export ===\n'); +0145 fprintf(myStr(' > Add Java paths for Excel format',40)) +0146 try +0147 %Add the required classes to the static Java path if not already added +0148 addJavaPaths(); +0149 fprintf('Pass\n') +0150 catch +0151 printOrange('Fail\n') +0152 end +0153 fprintf(myStr(' > Checking libSBML version',40)) +0154 try +0155 evalc('importModel(fullfile(ravenDir,''tutorial'',''empty.xml''))'); +0156 try +0157 libSBMLver=OutputSBML_RAVEN; % Only works in libSBML 5.17.0+ +0158 fprintf([libSBMLver.libSBML_version_string '\n']); +0159 catch +0160 printOrange('Fail\n') +0161 fprintf(' An older libSBML version was found, update to version 5.17.0 or higher for a significant improvement of model import\n'); +0162 end +0163 catch +0164 printOrange('Fail\n') +0165 fprintf(' Download libSBML from http://sbml.org/Software/libSBML/Downloading_libSBML and add to MATLAB path\n'); +0166 end +0167 fprintf(' > Checking model import and export\n') +0168 [~,res]=evalc("runtests('importExportTests.m');"); +0169 +0170 fprintf(myStr(' > Import Excel format',40)) +0171 if res(1).Passed == 1 +0172 fprintf('Pass\n') +0173 else +0174 printOrange('Fail\n') 0175 if any(strcmpi(addList.Name,'Text Analytics Toolbox')) 0176 fprintf([' Excel import/export is incompatible with MATLAB Text Analytics Toolbox.\n' ... 0177 ' Further instructions => https://github.com/SysBioChalmers/RAVEN/issues/55#issuecomment-1514369299\n']) diff --git a/installation/checkInstallation.m b/installation/checkInstallation.m index 829ef630..a53e8d36 100755 --- a/installation/checkInstallation.m +++ b/installation/checkInstallation.m @@ -38,6 +38,7 @@ [ravenDir,~,~]=fileparts(fileparts(ST(I).file)); installType = 2; % If neither git nor add-on, then ZIP was downloaded +addList = matlab.addons.installedAddons; if isfolder(fullfile(ravenDir,'.git')) installType = 0; elseif any(strcmp(addList.Name,'RAVEN Toolbox')) @@ -171,7 +172,6 @@ fprintf('Pass\n') else printOrange('Fail\n') - addList = matlab.addons.installedAddons; if any(strcmpi(addList.Name,'Text Analytics Toolbox')) fprintf([' Excel import/export is incompatible with MATLAB Text Analytics Toolbox.\n' ... ' Further instructions => https://github.com/SysBioChalmers/RAVEN/issues/55#issuecomment-1514369299\n'])