Package Up a Release of HDF5 Viewer and BAP - UVA-CAMA/NICUHDF5Viewer GitHub Wiki

This is for advanced users only! If you are just using our software, don't worry about this page. If you are in charge of releasing new versions of this software, this is for you!

Getting Ready

  • You should have repositories on your computer with code for both the NICUHDF5Viewer and BatchAlgorithmProcessor. (Remembering of course that both repositories must be in their own folders under a single umbrella directory because BAP calls code from the Viewer.)
  • Make sure you are using MATLAB 2019a. The runtime compiler changes between releases. The 2017b version had a graphing glitch that caused problems. Future versions may have deprecated functionality that we expect to use. Use newer versions at your own risk.

Update the displayed version number

  • HDF5Viewer:
    • Right click on HDF5Viewer_v1_0_1.fig
    • Select "Open in GUIDE"
    • Right click somewhere in the gridded background of the GUI
    • Select "Property Inspector"
    • Change Name to HDF5Viewer_vX_X to have your new version number
    • Click elsewhere in the Property Inspector window so that the new version number is saved
    • Close the Property Inspector window
    • Hit the save icon in the GUIDE GUI
    • Close the GUIDE GUI
    • Change the version number in the help menu
      • in HDF5Viewer_v1_0_1.m, find the help_menu_about_Callback
      • Change the version number in the msgbox
  • Batch Algorithm Processor
    • Right click on BatchAlgorithmProcessor.fig
    • Select "Open in GUIDE"
    • Right click somewhere in the gridded background of the GUI
    • Select "Property Inspector"
    • Change Name to BatchAlgorithmProcessor vX_X to have your new version number
    • Click elsewhere in the Property Inspector window so that the new version number is saved
    • Close the Property Inspector window
    • Hit the save icon in the GUIDE GUI
    • Close the GUIDE GUI

Sync with GitHub

  • You should have all your changes committed on github. If you want to release from a different branch, make sure you are on the branch you want to release and that your copy of everything that you are looking at on your computer is good for release.

Making a Project File

Note: project files are currently on the gitignore list. You can change this if you wish, but I was trying to avoid bloating the repository with binary files

For HDF5 Viewer

  • Go to the APPS tab at the top of MATLAB.
  • Hit the dropdown menu and find "Application Compiler" under the "Application Development" subsection
  • If you are at UVA, you can find my most recent project file on my computer located under CAMA/Amanda/NICUHDF5Viewer/HDF5Viewer_vX_X.prj
  • If you are not at UVA and want to replicate what we have done in prior releases, this is what you will have to do:
    • Type: Standalone Application
    • Main File: HDF5Viewer_v1_0_1.m
    • Radio button should select: Runtime downloaded from the web
    • Application Name: HDF5Viewer
    • Version Number: Pick your own
    • Splash Screen: Use the PreVent logo file in the git repository
    • Author Name, Email, Company: Yours! (you can give Amanda Zimmet some credit too and include her name alongside yours if you'd like)
    • Summary: What we have: This program allows you to browse the contents of HDF5 files and run algorithms on the data.
    • Description: What we have: To learn how to use the program, click the program's "Help" menu (upper left corner), then click on "Instructions." A detailed list of instructions for using the program are detailed there.
    • Command line input type options: Treat inputs to the app as a MATLAB character vector
    • Additional installer options: Default installation folder is %ProgramFiles% \HDF5Viewer\
    • Logo: Use the PreVent logo file in the git repository
    • Files required for your appliction to run: Most of these should auto-populate on their own, but a few will not auto-populate and you will need to manually add the following: (need to check that the ones in italics are still indeed needed)
      • calwavedata.m
      • mypb6a.m
      • mypb6b.m
      • nicudrop.m
      • qrs_detect2.m
      • qrs_detect.m
      • runQRSDetection.m
      • tombqrs.m
      • VariableNames.mat
      • wavelets.asc
      • wavelets.inf
      • wavelets.inf.mat
      • wavelets.prv
      • Wavelets_Info.mat
    • Additional runtime settings:
      • Uncheck the box: Do not display the Windows Command Shell (console) for execution
      • Check the box: Create log file
      • Log File: HDF5ViewerX.XLog (put the version number where the X.X is)

For Batch Algorithm Processor

  • Go to the APPS tab at the top of MATLAB.
  • Hit the dropdown menu and find "Application Compiler" under the "Application Development" subsection
  • If you are at UVA, you can find my most recent project file on my computer located under CAMA/Amanda/BatchAlgorithmGUI/BatchAlgorithmProcessor_vX_X.prj
  • If you are not at UVA and want to replicate what we have done in prior releases, this is what you will have to do:
    • Type: Standalone Application
    • Main File: BatchAlgorithmProcessor.m
    • Radio button should select: Runtime downloaded from the web
    • Application Name: BatchAlgorithmProcessor
    • Version Number: Pick your own
    • Splash Screen: Use the BAP logo file in the git repository
    • Author Name, Email, Company: Yours! (you can give Amanda Zimmet some credit too and include her name alongside yours if you'd like)
    • Description: What we have:

      Instructions for Running the Batch Algorithm Processor

      Begin in the STEP 1 box. Select either “Choose Files” or “Choose Directory.” If you select “Choose Files,” you can select a group of individual files (as long as they are all in the same directory). If you choose “Choose Directory,” you can select a folder containing hdf5 files. It will find all of the hdf5 files present with a directory. The selected files will be displayed in the listbox. There is no need to manually select any of the files within that list. All files within the list will be used.

      Next, continue on to the STEP 2 box. Here, you can select (by highlighting using your mouse and the shift/ctrl keys) which algorithms you would like to run.

      Finally, continue on to the STEP 3 box. Hit the “Run” button. The line below the run button will tell you what file number you are on and a popup window will display the algorithm currently being processed. A error message will be displayed briefly if the BatchAlgorithmProcessor runs into any problems. You do not need to click "OK" on any of the pop-up windows. Simply wait until it says "Tagging Algorithms Complete" for the last file.

    • Command line input type options: Treat inputs to the app as a MATLAB character vector
    • Additional installer options: Default installation folder is %ProgramFiles% \HDF5Viewer\
    • Logo: Use the PreVent logo file in the git repository
    • Files required for your appliction to run: Most of these should auto-populate on their own, but a few will not auto-populate and you will need to manually add the following: (need to check that the ones in italics are still indeed needed)
      • calwavedata.m
      • mypb6a.m
      • mypb6b.m
      • nicudrop.m
      • qrs_detect2.m
      • qrs_detect.m
      • runQRSDetection.m
      • tombqrs.m
      • VariableNames.mat
      • wavelets.asc
      • wavelets.inf
      • wavelets.inf.mat
      • wavelets.prv
      • Wavelets_Info.mat
    • Additional runtime settings:
      • Uncheck the box: Do not display the Windows Command Shell (console) for execution
      • Check the box: Create log file
      • Log File: BAP_vX_X_Log (put the version number where the X_X is)

Do the packaging

  • Open up the project file (.prj) and hit the green package checkmark
  • Open the for_redistribution folder - the executable file you want to send out is MyAppInstaller_web.exe

Tag the git repository at this spot

git tag -a vX.X -m "Give a detailed commit message that has all the updates since the last release"
git push origin vX.X

Create a release on github

  • Pull up the tag you just created (go to the repository and click the list of tags)
  • Create a release from the tag by clicking on the 3 dots to the right of the tag and hit "create a release"
  • In your release note, be SURE to list which version of BAP/Viewer is compatible with this version of the Viewer/BAP! (ex. release v4.0 of the viewer has the same algorithms as BAP v2.0. In the release notes for Viewer v4.0, the first line says "Compatible with BAP v2.0."
  • Provide the same detailed information that was provided in the commit message above. This should be a summary of all major changes since the last release (not just since the last commit)
  • Provide a list of all algorithms and all algorithm versions included
  • Click the button "Attach binaries by dropping them here or selecting them"
  • Upload the MyAppInstaller_web.exe file we created earlier
  • Change the name of MyAppInstaller_web.exe to HDF5ViewervX.XInstaller.exe
  • Hit "Publish Release"

Update the documentation