diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ba58abf..6dc2d79 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -15,5 +15,4 @@ updates: interval: "daily" target-branch: develop reviewers: - - tznind - jas88 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3407804..f7ab3fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.2.1] - 2022-11-21 + +- Bump CsvHelper from 27.2.1 to 30.0.1 +- Bump CommandLineParser from 2.8.0 to 2.9.1 +- Bump fo-dicom from 5.0.2 to 5.0.3 +- Bump fo-dicom.Imaging.ImageSharp from 5.0.2 to 5.0.3 +- Bump HIC.DicomTypeTranslation from 4.0.0 to 4.0.1 +- Bump HIC.BadMedicine.Dicom from 0.0.11 to 0.0.15 +- Bump HIC.DicomTypeTranslation from 4.0.0 to 4.0.1 +- Bump System.Drawing.Common from 6.0.0 to 7.0.0 +- Bump System.Threading.AccessControl from 6.0.0 to 7.0.0 +- Bump coverallsapp/github-action from 1.1.1 to 1.1.3 +- Bump b3b00/coverlet-action from 1.1.0 to 11.9 +- Bump actions/checkout from 2 to 3 +- Bump actions/setup-dotnet from 1 to 2 +- Bump actions/cache from 2 to 3 +- Bump actions/upload-artifact from 2 to 3 +- Bump actions/setup-dotnet from 2 to 3 + ## [2.2.0] - 2022-03-31 +### Changes + - Using .Net 6.0 +- Bump HIC.DicomTypeTranslation from 3.0.0 to 4.0.0 +- Replace fo-dicom.Drawing 4.0.8 with fo-dicom.Imaging.ImageSharp 5.0.2 +- Bump HIC.BadMedicine.Dicom from 0.0.9 to 0.0.11 +- Bump HIC.DicomTypeTranslation from 3.0.0 to 4.0.0 +- Add System.Threading.AccessControl 6.0.0 ## [2.1.0] - 2022-02-08 @@ -80,7 +106,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Initial version -[Unreleased]: https://github.com/HicServices/DicomTemplateBuilder/compare/v2.2.0...develop +[Unreleased]: https://github.com/HicServices/DicomTemplateBuilder/compare/v2.2.1...develop +[2.2.1]: https://github.com/HicServices/DicomTemplateBuilder/compare/v2.2.0...v2.2.1 [2.2.0]: https://github.com/HicServices/DicomTemplateBuilder/compare/v2.1.0...v2.2.0 [2.1.0]: https://github.com/HicServices/DicomTemplateBuilder/compare/v2.0.0...v2.1.0 [2.0.0]: https://github.com/HicServices/DicomTemplateBuilder/compare/v1.1.0...v2.0.0 diff --git a/README.md b/README.md index 3c831b6..9376201 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # DicomTemplateBuilder [![Total alerts](https://img.shields.io/lgtm/alerts/g/HicServices/DicomTemplateBuilder.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/HicServices/DicomTemplateBuilder/alerts/) -[![Coverage Status](https://coveralls.io/repos/github/HicServices/DicomTemplateBuilder/badge.svg?branch=feature/coverage)](https://coveralls.io/github/HicServices/DicomTemplateBuilder?branch=feature/coverage) +[![Coverage Status](https://coveralls.io/repos/github/HicServices/DicomTemplateBuilder/badge.svg?branch=feature/coverage)](https://coveralls.io/github/HicServices/DicomTemplateBuilder) [Dicom Template Builder](https://github.com/HicServices/DicomTemplateBuilder/releases) is a small windows application to assist researchers in building simple relational database schemas for storing DICOM images. diff --git a/Repopulator/CsvToDicomTagMapping.cs b/Repopulator/CsvToDicomTagMapping.cs index b6b6a19..1006292 100644 --- a/Repopulator/CsvToDicomTagMapping.cs +++ b/Repopulator/CsvToDicomTagMapping.cs @@ -73,10 +73,11 @@ public bool BuildMap(DicomRepopulatorOptions options, out string log) CsvFile = options.CsvFileInfo; - using (var reader = new CsvReader(CsvFile.OpenText(), new(System.Globalization.CultureInfo.CurrentCulture) + var conf = new CsvConfiguration(System.Globalization.CultureInfo.CurrentCulture) { - TrimOptions = TrimOptions.Trim - })) + TrimOptions=TrimOptions.Trim + }; + using (var reader = new CsvReader(CsvFile.OpenText(), conf)) { reader.Read(); var couldReadHeader = reader.ReadHeader(); diff --git a/Repopulator/Matchers/TagMatcher.cs b/Repopulator/Matchers/TagMatcher.cs index bcdc2ab..46d1ffa 100644 --- a/Repopulator/Matchers/TagMatcher.cs +++ b/Repopulator/Matchers/TagMatcher.cs @@ -33,10 +33,11 @@ public TagMatcher(CsvToDicomTagMapping map, DicomRepopulatorOptions options):bas if(_indexer == null) throw new ArgumentException("No valid indexer could be found, there must be a column in the map for either SOP, Series or Study instance UIDs"); - using var reader = new CsvReader(map.CsvFile.OpenText(), new(System.Globalization.CultureInfo.CurrentCulture) + var conf = new CsvConfiguration(System.Globalization.CultureInfo.CurrentCulture) { - TrimOptions = TrimOptions.Trim - }); + TrimOptions=TrimOptions.Trim + }; + using var reader = new CsvReader(map.CsvFile.OpenText(), conf); while (reader.Read()) { string key = reader[_indexer.Index]; diff --git a/Repopulator/Repopulator.csproj b/Repopulator/Repopulator.csproj index 73be823..a2b4dbd 100644 --- a/Repopulator/Repopulator.csproj +++ b/Repopulator/Repopulator.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/RepopulatorCli/RepopulatorCli.csproj b/RepopulatorCli/RepopulatorCli.csproj index 6c23177..63f1c0c 100644 --- a/RepopulatorCli/RepopulatorCli.csproj +++ b/RepopulatorCli/RepopulatorCli.csproj @@ -18,7 +18,7 @@ - + diff --git a/SharedAssemblyInfo.cs b/SharedAssemblyInfo.cs index adf983a..0f51e2c 100644 --- a/SharedAssemblyInfo.cs +++ b/SharedAssemblyInfo.cs @@ -7,6 +7,6 @@ [assembly: AssemblyCulture("")] // These should be replaced with correct values by the release process -[assembly: AssemblyVersion("2.2.0")] -[assembly: AssemblyFileVersion("2.2.0")] -[assembly: AssemblyInformationalVersion("2.2.0")] +[assembly: AssemblyVersion("2.2.1")] +[assembly: AssemblyFileVersion("2.2.1")] +[assembly: AssemblyInformationalVersion("2.2.1")] diff --git a/TemplateBuilder/TemplateBuilder.csproj b/TemplateBuilder/TemplateBuilder.csproj index f4aa9f0..fced2d7 100644 --- a/TemplateBuilder/TemplateBuilder.csproj +++ b/TemplateBuilder/TemplateBuilder.csproj @@ -53,18 +53,18 @@ SettingsSingleFileGenerator Settings.Designer.cs - + - - - - + + + + - + - + diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 20cbe57..df6e7f0 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -16,18 +16,18 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/rakeconfig.rb b/rakeconfig.rb deleted file mode 100644 index ed798d2..0000000 --- a/rakeconfig.rb +++ /dev/null @@ -1,14 +0,0 @@ -PUBLISH_DIR = ENV['PUBLISH_DIR'] || "Release" -SOLUTION = ENV['SOLUTION'] || "TemplateBuilder.sln" -DBSERVER = ENV['DBSERVER'] || "localhost\\sqlexpress" -DBPREFIX = ENV['DBPREFIX'] || "TEST_" -MYSQLDB = ENV['MYSQLDB'] || "adp-hicci-03" -MYSQLUSR = ENV['MYSQLUSR'] || "hicci" -MYSQLPASS= ENV['MYSQLPASS'] || "killerzombie" -PRERELEASE = ENV['PRERELEASE'] || "false" -CANDIDATE = ENV['CANDIDATE'] || "false" -SUFFIX = ENV['SUFFIX'] || "develop" -NUGETKEY = ENV['NUGETKEY'] || "blahblahblahbroken!" -MSBUILD15CMD = ENV['MSBUILD15CMD'] || "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/msbuild.exe" -SQUIRREL = ENV['SQUIRREL'] || "C:/Users/ltramma/.nuget/packages/squirrel.windows/1.9.1/tools" -GITHUB = ENV['GITHUB'] || "4d286e77faef2f148c74a93c2666e948c48080f7" \ No newline at end of file diff --git a/rakefile.rb b/rakefile.rb deleted file mode 100644 index 6b206b3..0000000 --- a/rakefile.rb +++ /dev/null @@ -1,106 +0,0 @@ -require "net/http" -require 'uri' -require 'json' - -load 'rakeconfig.rb' -$MSBUILD15CMD = MSBUILD15CMD.gsub(/\\/,"/") - -task :release => [:assemblyinfo, :build_release, :github] - -task :restorepackages do - sh "nuget restore #{SOLUTION}" -end - -task :build, [:config] => :restorepackages do |msb, args| - sh "\"#{$MSBUILD15CMD}\" #{SOLUTION} \/t:Clean;Build \/p:Configuration=#{args.config}" -end - - -task :build_release => :restorepackages do - Dir.chdir("TemplateBuilder/") do - sh "\"#{$MSBUILD15CMD}\" TemplateBuilder.csproj \/t:Publish \/p:Configuration=Release;RuntimeIdentifiers=win-x64" - - Dir.chdir("bin/Release/net461/publish/") do - sh "#{SQUIRREL}/signtool.exe sign /a /s MY /n \"University of Dundee\" /fd sha256 /tr http://timestamp.digicert.com /td sha256 /v *.dll" - sh "#{SQUIRREL}/signtool.exe sign /a /s MY /n \"University of Dundee\" /fd sha256 /tr http://timestamp.digicert.com /td sha256 /v *.exe" - end - - end - sh "powershell.exe -nologo -noprofile -command \"& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::CreateFromDirectory('TemplateBuilder/bin/Release/net461/publish', 'TemplateBuilder/templatebuilder-win-x64.zip'); }\"" -end - -desc "Sets the version number from SharedAssemblyInfo file" -task :assemblyinfo do - asminfoversion = File.read("SharedAssemblyInfo.cs").match(/AssemblyInformationalVersion\("(\d+)\.(\d+)\.(\d+)(-.*)?"/) - - puts asminfoversion.inspect - - major = asminfoversion[1] - minor = asminfoversion[2] - patch = asminfoversion[3] - suffix = asminfoversion[4] - - version = "#{major}.#{minor}.#{patch}" - puts "version: #{version}#{suffix}" - - # DO NOT REMOVE! needed by build script! - f = File.new('version', 'w') - f.write "#{version}#{suffix}" - f.close - # ---- -end - - -task :github do - version = File.open('version') {|f| f.readline} - puts "version: #{version}" - branch = (ENV['BRANCH_SELECTOR'] || "origin/release/3.0.0.X").gsub(/origin\//, "") - puts branch - prerelease = branch.match(/master/) ? false : true - - uri = URI.parse('https://api.github.com/repos/HicServices/DicomTemplateBuilder/releases') - body = { tag_name: "v#{version}", name: "Dicom Template Builder v#{version}", body: ENV['MESSAGE'] || "Release version #{version}", target_commitish: branch, prerelease: prerelease } - header = {'Content-Type' => 'application/json', - 'Authorization' => "token #{GITHUB}"} - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = (uri.scheme == "https") - request = Net::HTTP::Post.new(uri.request_uri, header) - request.body = body.to_json - - # Send the request - response = http.request(request) - puts response.to_hash.inspect - githubresponse = JSON.parse(response.body) - puts githubresponse.inspect - upload_url = githubresponse["upload_url"].gsub(/\{.*\}/, "") - puts upload_url - - Dir.chdir("TemplateBuilder/") do - upload_to_github(upload_url, "templatebuilder-win-x64.zip") - end -end - -def upload_to_github(upload_url, file_path) - boundary = "AaB03x" - uri = URI.parse(upload_url + "?name=" + file_path) - - header = {'Content-Type' => 'application/octet-stream', - 'Content-Length' => File.size(file_path).to_s, - 'Authorization' => "token #{GITHUB}"} - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = (uri.scheme == "https") - request = Net::HTTP::Post.new(uri.request_uri, header) - - file = File.open(file_path, "rb") - request.body = file.read - - response = http.request(request) - - puts response.to_hash.inspect - puts response.body - - file.close -end -