Skip to content

Commit

Permalink
Updated to reflect download of external dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
fordanic committed Feb 4, 2015
1 parent f81f0b3 commit 6ffc588
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
external-dependencies/
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,13 @@ structure tensors based upon 2D data using the GOP coloring scheme.
To use the code available in this repository, add the following
lines to your startup.m file.

addpath_recurse('<your path to where you keep the repository>')
addpath('<your path to where you keep the repository>')
setup_tensor_processing_repository()

Note that this library is dependent on my matlab-utilities repository,
available from https://github.com/fordanic/matlab-utilities.
available from https://github.com/fordanic/matlab-utilities. If this
repository is not available on the path then needed files can be downloaded
during setup of repository.

# Coding standard

Expand Down
69 changes: 69 additions & 0 deletions setup_tensor_processing_repository.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
function setup_tensor_processing_repository()
% SETUP_TENSOR_PROCESSING_REPOSITORY Call this function to setup this repository
%
% setup_tensor_processing_repository

% Copyright (c) 2015 Daniel Forsberg
% [email protected]
%
% 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 3 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, see <http://www.gnu.org/licenses/>.

% Get folder of current file and go to folder
folder = fileparts(mfilename('fullpath'));
currentFolder = pwd;
cd(folder)

%% Download external dependencies if needed

% Load external dependencies and check which are missing
load externalDependenciesTensorProcessing
missingExternalDependencies = [];
for k = 1 : length(fileNames)
if ~exist(fileNames{k},'file')
missingExternalDependencies(end + 1) = k;
end
end

% Ask missing files should be downloaded
if ~isempty(missingExternalDependencies)
disp('The following files, which are necessary for the tensor processing repository are missing:')
for k = 1 : length(missingExternalDependencies)
disp(fileNames{k})
end
answer = input('Would you like to download them? [y]/[n] ','s');

% If yes, download missing files
if strcmp(lower(answer),'y') || strcmp(lower(answer),'yes')
if ~exist([folder,filesep,'external-dependencies'],'dir')
mkdir('external-dependencies')
cd('external-dependencies')
end
cd('external-dependencies')
for k = 1 : length(missingExternalDependencies)
disp(['Downloading: ',fileNames{missingExternalDependencies(k)}])
urlwrite(urls{missingExternalDependencies(k)},...
fileNames{missingExternalDependencies(k)});
end
addpath(pwd)
end
end

%% Add external dependencies path
if exist([folder,filesep,'external-dependencies'],'dir')
addpath([folder,filesep,'external-dependencies'])
end

% Go back to original folder
cd(currentFolder)

0 comments on commit 6ffc588

Please sign in to comment.