CS-Studio Code-a-thon Topics

Ideas for the week before the EPICS Meeting at FRIB, in rough order of priority.

  1. CS-Studio development environment
    Goal: All agree and understand the build process so that we’re able to build from sources and get the same results, everything or module-by-module.
  1. IDE build, command line build
  2. defining target platform
  1. Configure CIoudbees
    Goal: CIoudbees builds everything, everybody can use the results (plugins, complete products) or, if desired, reproduce in local Hudson setup.
  1. Create common jobs on cloudbees jenkins (using Jenkins Job Builder).
  2. Re-enable the unit tests for the various cs-studio modules.
  3. Makes the jenkins jobs accessible (github repo of Jenkins Job Builder scripts)
  1. Update Docbook
    Goal: Describes the above.
  1. Location of the various p2 and maven repositories associated with cs-studio
  2. Simple product build by assembling plugin/feature binaries from cloudbees.
  3. Build all of cs-studio from sources.
  1. Modularize applications into features (Issue #818)
    Goal: Speed up build. Allow products to use older versions of selected features.
  1. versioning
  2. where are they hosted
  3. where should shared plugins reside
  1. Common utility plugins
  1. remove duplicate utility classes
  1. macros
  2. dialogs and ui components (Password input #1005, Start/end time, ui pieces for VTypes)
  3. Mapping of IFile <-> File. RAP vs. RCP utils that include workspace or not.
  1. diirt version 3 integration
  1. updated VTypes
  2. serviceloader
  1. Java8
  1. VType: Use Java 8 Instant instead of its own timestamp
  2. Update all other uses of time to Java 8: Start/end time dialog
  3. logging API
  4. Use Optional<> for anything that can be null. Replace “if xx == null”.
  5. Lambdas for Runnable()
  1. Eclipse Preferences and Properties (specification for this project)
  2. Increase / improve Logging()
  3. Error reporting and usage data gathering.
    Include new Eclipse UI freeze log plugin in CS-Studio
  4. Are there Java code convention recommendations for the project?