Workplan 2015

Work Plan for 2015

Support activities

  1. Geant4 Releases and Reference Tags
    • User support for installation and usage (BM, GC)
    • Release management (GC)
    • Release preparation (runtime and compile time checks) (GC, GF)
    • Build of binary releases (GF, BM)
  2. Support for Geant4 Tools, Services and Servers
    • Support for collaboration SVN repository and tools (GF)
    • Support for web/external tools for testing (GF)
    • Support for public Bugzilla problem tracking tool (KM)
    • Support for public LXR and Doxygen source code documentation (KM)
    • Support for collaboration JIRA requirements tracker (KM)
    • Support for public HyperNews (DW)

New and Continuing Developments

  1. Global Category (GC, BM)
    • Transition to C++11
    • Migrate to usage of C++11 Concurrency
    • Investigate C++11 Concurrency support on Windows platforms using Visual Studi 2015
  2. Data Libraries (BM, GC, GF)
    • Simplify configuration for user, minimizing use of environment variables
    • Provide C++ API for accessing and configuring data libraries
    • Study and optimize file access patterns to minimize number of small files opened in multithreaded applications
  3. CMake Build/Testing System (BM, GF)
    • Update minimum required CMake version to 2.8.12
      • Provide support for CMake 3.X
    • Provide build tree layout identical to final install layout (BM, JIRA DEV-38)
    • Source/Binary packaging and release on all platforms (BM, GF, GC)
    • Develop proposal for new modularization of Geant4 libraries (BM, JIRA SBACTIONS-336, DEV-81)
      1. Analyse dependency graph of Geant4 global/granular libraries
      2. Identify areas for merging and splitting
      3. Identify optional modules that a user may choose to drop from a build
    • Maintenance and improvements to CMake API for Geant4 Developers (BM, JIRA DEV-81)
      1. Simplify interface for declaring a granular module of Geant4, including its public/private headers, sources, unit tests and dependencies on other Geant4 modules (Depends on modularization study)
      2. Update and improve documentation
  4. Configuration/Build tools for user applications
    • Maintenance and support of CMake find_package module for Geant4 (BM)
    • Maintenance and support of geant4-config query script for Geant4 (BM)
    • Provide official timeline for removal of Geant4 GNUmake system (BM, GC)
      • If continued support is required, replace shell/environment configuration with single Makefile, e.g.

        name := foo
        G4TARGET := $(name)
        G4MAKECONFIG := $(shell geant4-config --get-make-config)
        include $(G4MAKECONFIG)
        ...
        Here, the inclusion of G4MAKECONFIG would set all the needed variables.
  5. Version Control (BM)
    • Review source code layout, to be tied in with modularization work.
  6. Bugzilla (KM)
    • Migrate to access over https only