FreeCAD Configuration Management Project

From FreeCAD Documentation

This page is describes a potential Google Summer of Code project regarding configuration management for the FreeCAD CAE application.

Outline

FreeCAD relies on a large number of software packages and is available on most major platforms (Windows, OSX, Linux), many versions of those platforms and several distribution methods (package managers, AppImages, build-your-own, installers, etc). This makes for a particularly challenging configuration management.

Details

  1. A clear picture of FreeCAD's dependencies as well as their dependencies is required. This is envisioned as a visual depiction (perhaps a directed graph) and an analysis of conflicting versions.
  2. A plan for the partitioning of the FreeCAD functionality into manageable chunks along with smaller sets of dependencies is also required.

Expected Outcome

  1. A reduction in manual effort when releasing new versions of FreeCAD.

Future Possibilities

This work will provide experience in the packaging and distribution of multi-platform software.

Project Properties

Skills

  • Familiarity with
    • package managers (Launchpad, pbuilder, gitbuilder, conda, NSIS-installer)
    • build managers (cMake, make, VS, MSBuils, Nmake)
    • graph theory (Dependency graph)

Difficulty

Medium

Additional Information