Skip to content

Commit a1bab66

Browse files
committed
Expand README
1 parent ebe4d51 commit a1bab66

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

README.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
11
# FreeCAD Addon Manager
22

3-
This module was originally developed within FreeCAD, and has now been extracted into its own git repository. It is re-integrated into
4-
FreeCAD's source tree as a git submodule.
3+
Install and update third-party addons to FreeCAD, including Workbenches, Macros, Preference Packs, and more. Install
4+
*this* addon to update the internal Addon Manager to the latest version (and to allow future self-updating).
5+
6+
This module was originally developed within FreeCAD, and has now been extracted into its own git repository. It is
7+
currently re-integrated into FreeCAD's source tree as a git submodule and continues to ship with FreeCAD.
8+
9+
## Addon Sources
10+
11+
The main source of addons is the git repository at https://github.com/FreeCAD/FreeCAD-Addons. Custom addon sources can
12+
be configured in the Addon Manager preferences when running FreeCAD. These addons are primarily written by
13+
third parties and provided by repositories not under the FreeCAD authors' or maintainers' control: you use these addons
14+
at your own risk.
15+
16+
## Addon Manager Design Goals
17+
18+
The Addon Manager is now designed to be self-updating, with a goal of allowing versions of FreeCAD back to 0.21 to
19+
use their default copy of Addon Manager to install a new version of Addon Manager. This means that the Addon Manager
20+
should support PySide2 and Python 3.8 for the foreseeable future.
21+
22+
The Addon Manager is also designed to be run in a "standalone" mode to allow for easier UI development. In this mode
23+
it does not interact with FreeCAD at all, and does not use or affect "real" FreeCAD preferences, module installation,
24+
etc.
525

626
## Roadmap
727

828
This module is under active development, with the following rough plan
929

10-
1. Complete migration to using the FreeCAD wrapper class to allow running outside of FreeCAD.
11-
1. Split `addonmanager_utilities.py` along GUI/No-GUI lines
12-
2. Refactor tests into pure GUI/No-GUI lines
13-
3. Verify that all `FreeCAD.*` and `FreeCADGui.*` calls are wrapped
14-
2. Update GitHub CI to run Addon Manager test suite.
15-
3. Migrate to a JSON-formatted addon repository list.
16-
4. Rearrange codebase to better separate GUI from logic code.
30+
1. Migrate to a JSON-formatted addon repository catalog, replacing the original `.gitmodules`-based addon source
31+
2. Rearrange codebase to better separate GUI from logic code.
32+
3. Implement detection of changed addon dependencies when updating.
33+
4. Implement remote caching of icons and macros.
1734
5. Begin GUI redesign.
1835

1936
PRs are welcome!

0 commit comments

Comments
 (0)