-
Notifications
You must be signed in to change notification settings - Fork 0
/
bfUpgradeCheck.m
66 lines (62 loc) · 2.37 KB
/
bfUpgradeCheck.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function bfUpgradeCheck(varargin)
% Check for new version of Bio-Formats and update it if applicable
%
% SYNOPSIS: bfUpgradeCheck(autoDownload, 'STABLE')
%
% Input
% autoDownload - Optional. A boolean specifying of the latest version
% should be downloaded
%
% versions - Optional: a string sepecifying the version to fetch.
% Should be either trunk, daily or stable (case insensitive)
%
% Output
% none
% OME Bio-Formats package for reading and converting biological file formats.
%
% Copyright (C) 2012 - 2016 Open Microscopy Environment:
% - Board of Regents of the University of Wisconsin-Madison
% - Glencoe Software, Inc.
% - University of Dundee
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as
% published by the Free Software Foundation, either version 2 of the
% License, or (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License along
% with this program; if not, write to the Free Software Foundation, Inc.,
% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
% Check input
ip = inputParser;
ip.addOptional('autoDownload', false, @isscalar);
versions = {'stable', 'daily', 'trunk'};
ip.addOptional('version', 'STABLE', @(x) any(strcmpi(x, versions)))
ip.parse(varargin{:})
% Create UpgradeChecker
upgrader = javaObject('loci.formats.UpgradeChecker');
if upgrader.alreadyChecked(), return; end
% Check for new version of Bio-Formats
if is_octave()
caller = 'Octave';
else
caller = 'MATLAB';
end
if ~ upgrader.newVersionAvailable(caller)
fprintf('*** bioformats_package.jar is up-to-date ***\n');
return;
end
fprintf('*** A new stable version of Bio-Formats is available ***\n');
% If appliable, download new version of Bioformats
if ip.Results.autoDownload
fprintf('*** Downloading... ***');
path = fullfile(fileparts(mfilename('fullpath')), 'bioformats_package.jar');
buildName = [upper(ip.Results.version) '_BUILD'];
upgrader.install(loci.formats.UpgradeChecker.(buildName), path);
fprintf('*** Upgrade will be finished when MATLAB is restarted ***\n');
end