Skip to content

Commit

Permalink
Fixes #726 portable setup (#736)
Browse files Browse the repository at this point in the history
* Fixes #726 portable setup

* Reindent file
  • Loading branch information
msevestre committed Jul 3, 2022
1 parent 742432e commit e476348
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 110 deletions.
222 changes: 112 additions & 110 deletions rakefile.rb
Expand Up @@ -4,156 +4,158 @@
require_relative 'scripts/coverage'

task :cover do
filter = []
filter << "+[MoBi.Core]*"
filter << "+[MoBi.Assets]*"
filter << "+[MoBi.Presentation]*"

targetProjects = [
"MoBi.Tests.csproj",
"MoBi.UI.Tests.csproj",
];

Coverage.cover(filter , targetProjects)
filter = []
filter << "+[MoBi.Core]*"
filter << "+[MoBi.Assets]*"
filter << "+[MoBi.Presentation]*"
targetProjects = [
"MoBi.Tests.csproj",
"MoBi.UI.Tests.csproj",
];
Coverage.cover(filter , targetProjects)
end

task :create_setup, [:product_version, :configuration] do |t, args|
src_dir = src_dir_for(args.configuration)
relative_src_dir = relative_src_dir_for(args.configuration)

#Ignore files from automatic harvesting that will be installed specifically
harvest_ignored_files = [
'MoBi.exe'
]

#Files required for setup creation only
setup_files = [
"#{relative_src_dir}/ChartLayouts/**/*.{wxs,xml}",
"#{relative_src_dir}/TeXTemplates/**/*.*",
'examples/**/*.{wxs,pkml,mbp3}',
'src/Data/**/*.*',
'src/MoBi.Assets/Resources/*.ico',
'documentation/*.pdf',
'dimensions/*.xml',
'pkparameters/*.xml',
'setup/setup.wxs',
'setup/**/*.{msm,rtf,bmp}',
'Open Systems Pharmacology Suite License.pdf'
]

Rake::Task['setup:create'].execute(OpenStruct.new(
solution_dir: solution_dir,
src_dir: src_dir,
setup_dir: setup_dir,
product_name: product_name,
product_version: args.product_version,
harvest_ignored_files: harvest_ignored_files,
suite_name: suite_name,
setup_files: setup_files,
manufacturer: manufacturer
))
src_dir = src_dir_for(args.configuration)
relative_src_dir = relative_src_dir_for(args.configuration)
#Ignore files from automatic harvesting that will be installed specifically
harvest_ignored_files = [
'MoBi.exe'
]

#Files required for setup creation only
setup_files = [
"#{relative_src_dir}/ChartLayouts/**/*.{wxs,xml}",
"#{relative_src_dir}/TeXTemplates/**/*.*",
'examples/**/*.{wxs,pkml,mbp3}',
'src/Data/**/*.*',
'src/MoBi.Assets/Resources/*.ico',
'documentation/*.pdf',
'dimensions/*.xml',
'pkparameters/*.xml',
'setup/setup.wxs',
'setup/**/*.{msm,rtf,bmp}',
'Open Systems Pharmacology Suite License.pdf'
]

Rake::Task['setup:create'].execute(OpenStruct.new(
solution_dir: solution_dir,
src_dir: src_dir,
setup_dir: setup_dir,
product_name: product_name,
product_version: args.product_version,
harvest_ignored_files: harvest_ignored_files,
suite_name: suite_name,
setup_files: setup_files,
manufacturer: manufacturer
))
end

task :create_portable_setup, [:product_version, :configuration, :package_name] do |t, args|
src_dir = src_dir_for(args.configuration)
relative_src_dir = relative_src_dir_for(args.configuration)

copy_templates_files src_dir

#Files required for setup creation only and that will not be harvested automatically
setup_files = [
'Open Systems Pharmacology Suite License.pdf',
'documentation/*.pdf',
'dimensions/*.xml',
'pkparameters/*.xml',
'src/Data/**/*.*',
'setup/**/*.{rtf}',
]

setup_folders = [
"#{setup_temp_dir}/**/*.*",
'examples/**/*.{pkml,mbp3}',
]
Rake::Task['setup:create_portable'].execute(OpenStruct.new(
solution_dir: solution_dir,
src_dir: src_dir,
setup_dir: setup_dir,
product_name: product_name,
product_version: args.product_version,
suite_name: suite_name,
setup_files: setup_files,
setup_folders: setup_folders,
package_name: args.package_name
))
src_dir = src_dir_for(args.configuration)
relative_src_dir = relative_src_dir_for(args.configuration)

copy_templates_files src_dir

#Files required for setup creation only and that will not be harvested automatically
setup_files = [
'Open Systems Pharmacology Suite License.pdf',
'documentation/*.pdf',
'dimensions/*.xml',
'pkparameters/*.xml',
'src/Data/**/*.*',
'setup/**/*.{rtf}',
]

setup_folders = [
"#{setup_temp_dir}/**/*.*",
'examples/**/*.{pkml,mbp3}',
]

Rake::Task['setup:create_portable'].execute(OpenStruct.new(
solution_dir: solution_dir,
src_dir: src_dir,
setup_dir: setup_dir,
product_name: product_name,
product_version: args.product_version,
suite_name: suite_name,
setup_files: setup_files,
setup_folders: setup_folders,
package_name: args.package_name)
)
end


task :update_go_license, [:file_path, :license] do |t, args|
Utils.update_go_diagram_license args.file_path, args.license
Utils.update_go_diagram_license args.file_path, args.license
end

def copy_templates_files(source_dir)
FileUtils.mkdir_p setup_temp_dir
FileUtils.copy_entry File.join(source_dir, 'TeXTemplates'), File.join(setup_temp_dir, 'TeXTemplates')
FileUtils.copy_entry File.join(source_dir, 'ChartLayouts'), File.join(setup_temp_dir, 'ChartLayouts')
FileUtils.mkdir_p setup_temp_dir
FileUtils.copy_entry File.join(source_dir, 'TeXTemplates'), File.join(setup_temp_dir, 'TeXTemplates')
FileUtils.copy_entry File.join(source_dir, 'ChartLayouts'), File.join(setup_temp_dir, 'ChartLayouts')
FileUtils.copy_entry File.join(source_dir, 'Templates'), File.join(setup_temp_dir, 'Templates')
end

def relative_src_dir_for(configuration)
File.join('src', 'MoBi', 'bin', configuration, 'net472')
File.join('src', 'MoBi', 'bin', configuration, 'net472')
end

def src_dir_for(configuration)
File.join(solution_dir, relative_src_dir_for(configuration))
File.join(solution_dir, relative_src_dir_for(configuration))
end

task :postclean do |t, args|
packages_dir = src_dir_for("Debug")

all_users_dir = ENV['ALLUSERSPROFILE']
all_users_application_dir = File.join(all_users_dir, manufacturer, product_name, '11.1')

copy_dependencies solution_dir, all_users_application_dir do
copy_files 'Data', ['xml', 'mbdt']
copy_file 'src/Data/AllCalculationMethods.pkml'
copy_dimensions_xml
copy_pkparameters_xml
end

copy_dependencies solution_dir, File.join(all_users_application_dir, 'Templates') do
copy_templates_pkml
end

copy_dependencies packages_dir, File.join(all_users_application_dir, 'ChartLayouts') do
copy_files 'ChartLayouts', 'xml'
end

copy_dependencies packages_dir, File.join(all_users_application_dir, 'TeXTemplates', 'StandardTemplate') do
copy_files 'StandardTemplate', '*'
end
packages_dir = src_dir_for("Debug")
all_users_dir = ENV['ALLUSERSPROFILE']
all_users_application_dir = File.join(all_users_dir, manufacturer, product_name, '11.1')
copy_dependencies solution_dir, all_users_application_dir do
copy_files 'Data', ['xml', 'mbdt']
copy_file 'src/Data/AllCalculationMethods.pkml'
copy_dimensions_xml
copy_pkparameters_xml
end
copy_dependencies solution_dir, File.join(all_users_application_dir, 'Templates') do
copy_templates_pkml
end
copy_dependencies packages_dir, File.join(all_users_application_dir, 'ChartLayouts') do
copy_files 'ChartLayouts', 'xml'
end
copy_dependencies packages_dir, File.join(all_users_application_dir, 'TeXTemplates', 'StandardTemplate') do
copy_files 'StandardTemplate', '*'
end
end

private

def solution_dir
File.dirname(__FILE__)
File.dirname(__FILE__)
end

def manufacturer
'Open Systems Pharmacology'
'Open Systems Pharmacology'
end

def product_name
'MoBi'
'MoBi'
end

def suite_name
'Open Systems Pharmacology Suite'
'Open Systems Pharmacology Suite'
end

def setup_dir
File.join(solution_dir, 'setup')
File.join(solution_dir, 'setup')
end

def setup_temp_dir
File.join(setup_dir, 'temp')
File.join(setup_dir, 'temp')
end
3 changes: 3 additions & 0 deletions src/MoBi/MoBi.csproj
Expand Up @@ -51,6 +51,9 @@
<Content Include="$(PkgOSPSuite_TeXReporting)\OSPSuite.TeXReporting\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\Data\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

<ItemGroup>
Expand Down

0 comments on commit e476348

Please sign in to comment.