view m-toolbox/classes/+utils/@helper/uninstallExtensionsForDir.m @ 7:1e91f84a4be8
database-connection-manager
Make ltpda_up.retrieve work with java.sql.Connection objects
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05)
parents
f0afece42f48
children
line source
+ − % UNINSTALLEXTENSIONSFORDIR uninstalls the toolbox extensions found under the
+ − % given directory.
+ − %
+ − % CALL: utils.helper.uninstallExtensionsForDir(dir)
+ − %
+ − % M Hewitson 29-10-10
+ − %
+ − % $Id: uninstallExtensionsForDir.m,v 1.3 2010/12/03 10:00:05 hewitson Exp $
+ − %
+ − function uninstallExtensionsForDir(varargin)
+ −
+ − extdir = varargin{1};
+ −
+ − if ~ischar(extdir)
+ − error('input a path to a directory of LTPDA extensions');
+ − end
+ −
+ − fprintf('* uninstalling extensions under %s ...\n', extdir);
+ −
+ − % toolbox path
+ − aopath = fileparts(which('ao'));
+ − parts = regexp(aopath, '@', 'split');
+ − classpath = parts{1};
+ −
+ − % for each user class, look for a corresponding directory and copy any
+ − % extension methods in.
+ − userclasses = utils.helper.ltpda_userclasses;
+ − for ucl = userclasses
+ − extsdir = fullfile(extdir, ucl{1});
+ − if exist(extsdir, 'dir')==7
+ − fprintf(' uninstalling extensions for class %s ...\n', ucl{1});
+ − files = utils.prog.filescan(extsdir, '.m');
+ − dstdir = fullfile(classpath, ['@' ucl{1}]);
+ − for kk=1:numel(files)
+ − f = files{kk};
+ − [path, name, ext] = fileparts(f);
+ − dstfile = fullfile(dstdir, [name ext]);
+ − fprintf(' uninstalling extension %s/%s ...\n', ucl{1}, [name ext]);
+ − delete(dstfile);
+ − end
+ − end
+ − end
+ −
+ − % Remove any packages from the MATLAB path
+ − dirs = utils.prog.dirscan(extdir, '+');
+ − for kk=1:numel(dirs)
+ − d = dirs{kk};
+ − disp([' uninstalling package ' d]);
+ − fcnpaths = genpath(fullfile(extdir, d));
+ − rmpath(fcnpaths);
+ − end
+ − rmpath(genpath(extdir));
+ − end
+ −
+ −