FreeCAD-Doc/localwiki/FreeCAD_Configuration_Management_Project.html
2018-07-08 12:11:49 -05:00

56 lines
4.1 KiB
HTML

<html><head><title>FreeCAD Configuration Management Project</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>FreeCAD Configuration Management Project</h1></div>
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="mw-parser-output"><p>This page is describes a potential 2018 Google Summer of Code project regarding configuration management for the FreeCAD CAE application.
</p>
<div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Outline"><span class="tocnumber">1</span> <span class="toctext">Outline</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Details"><span class="tocnumber">2</span> <span class="toctext">Details</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Expected_Outcome"><span class="tocnumber">3</span> <span class="toctext">Expected Outcome</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Future_Possibilities"><span class="tocnumber">4</span> <span class="toctext">Future Possibilities</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Project_Properties"><span class="tocnumber">5</span> <span class="toctext">Project Properties</span></a>
<ul>
<li class="toclevel-2 tocsection-6"><a href="#Skills"><span class="tocnumber">5.1</span> <span class="toctext">Skills</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="#Difficulty"><span class="tocnumber">5.2</span> <span class="toctext">Difficulty</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="#Additional_Information"><span class="tocnumber">5.3</span> <span class="toctext">Additional Information</span></a></li>
</ul>
</li>
</ul>
</div>
<h2><span class="mw-headline" id="Outline">Outline</span></h2>
<p>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.
</p>
<h2><span class="mw-headline" id="Details">Details</span></h2>
<ol><li> 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.</li>
<li> 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.</li></ol>
<h2><span class="mw-headline" id="Expected_Outcome">Expected Outcome</span></h2>
<ol><li> A concrete/documented view of FreeCD's dependencies (and perhaps the trusted addons) </li>
<li> A reduction in manual effort when releasing new versions of FreeCAD</li></ol>
<h2><span class="mw-headline" id="Future_Possibilities">Future Possibilities</span></h2>
<p>This work will provide experience in the packaging and distribution of multi-platform, cross-dependency software.
</p>
<h2><span class="mw-headline" id="Project_Properties">Project Properties</span></h2>
<h3><span class="mw-headline" id="Skills">Skills</span></h3>
<ul><li>Familiarity with
<ul><li> package managers (Launchpad, pbuilder, gitbuilder, conda, NSIS-installer)</li>
<li> build managers (cMake, make, VS, MSBuild, Nmake)</li>
<li> graph theory (Dependency graph)</li></ul></li></ul>
<h3><span class="mw-headline" id="Difficulty">Difficulty</span></h3>
<p>Medium
</p>
<h3><span class="mw-headline" id="Additional_Information">Additional Information</span></h3>
</div>
</div><div class="printfooter">
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=FreeCAD_Configuration_Management_Project&amp;oldid=262031">http://www.freecadweb.org/wiki/index.php?title=FreeCAD_Configuration_Management_Project&amp;oldid=262031</a>"</div>
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
</div>
</div>
<div id="mw-navigation">
<h2>Navigation menu</h2>
</body></html>