FreeCAD Configuration Management Project: Difference between revisions
(→Skills) |
Wandererfan (talk | contribs) (Undo revision 262028 by Wandererfan (talk)) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This page is describes a potential Google Summer of Code project regarding configuration management for the FreeCAD CAE application. |
This page is describes a potential 2018 Google Summer of Code project regarding configuration management for the FreeCAD CAE application. |
||
==Outline== |
==Outline== |
||
FreeCAD relies on a large number of software packages and is available on most major platforms ( |
FreeCAD relies on a large number of software packages and is available on most major platforms (Linux, OSX, Windows), each Distro/OS have several distribution methods available (package managers, Libpacks, pip, Conda, AppImages, installers, etc). This makes for a particularly challenging configuration management environment. |
||
==Details== |
==Details== |
||
# 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. |
# 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. |
||
# A plan for the partitioning of the FreeCAD functionality into manageable chunks along with smaller sets of dependencies is also required. |
# A plan for the partitioning of the FreeCAD functionality into manageable chunks along with smaller sets of dependencies is also required. It's desirable to identify interdependencies and not re-install them. |
||
==Expected Outcome== |
==Expected Outcome== |
||
# A concrete/documented view of FreeCD's dependencies (and perhaps the trusted addons) |
|||
# A reduction in manual effort when releasing new versions of FreeCAD |
# A reduction in manual effort when releasing new versions of FreeCAD |
||
==Future Possibilities== |
==Future Possibilities== |
||
This work will provide experience in the packaging and distribution of multi-platform software. |
This work will provide experience in the packaging and distribution of multi-platform, cross-dependency software. |
||
==Project Properties== |
==Project Properties== |
||
===Skills=== |
===Skills=== |
||
*Familiarity with |
*Familiarity with |
||
** package managers (Launchpad, pbuilder, gitbuilder) |
** package managers (Launchpad, pbuilder, gitbuilder, conda, NSIS-installer) |
||
** build managers (cMake, make, VS, |
** build managers (cMake, make, VS, MSBuild, Nmake) |
||
** graph theory (Dependency graph) |
** graph theory (Dependency graph) |
||
Latest revision as of 13:53, 12 March 2018
This page is describes a potential 2018 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 (Linux, OSX, Windows), each Distro/OS have several distribution methods available (package managers, Libpacks, pip, Conda, AppImages, installers, etc). This makes for a particularly challenging configuration management environment.
Details
- 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.
- A plan for the partitioning of the FreeCAD functionality into manageable chunks along with smaller sets of dependencies is also required. It's desirable to identify interdependencies and not re-install them.
Expected Outcome
- A concrete/documented view of FreeCD's dependencies (and perhaps the trusted addons)
- 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, cross-dependency software.
Project Properties
Skills
- Familiarity with
- package managers (Launchpad, pbuilder, gitbuilder, conda, NSIS-installer)
- build managers (cMake, make, VS, MSBuild, Nmake)
- graph theory (Dependency graph)
Difficulty
Medium