This repository contains basic portions of the restructured Investigative Generic Library (IGLib). IGLib is currently undergoing some changes.
Contents:
- This repository - IGLibCore (readme)
- Container repository (readme) used to clone this and other IGLib repositories, such that dependencies can be handled by a common Visual Studio repository
- Basic Legacy IGLib repository (readme)
- Development Wikis (private repository)
This repository contains the IGLibCore library, which includes common lower-level utilities. It is the base library used by more specialized libraries and by applications of both the new and the legacy IGLib, as well as some other libraries and applications. IGLib consists of many other libraries and demo applications. You can find more details below and in the Links Section.
To clone and work with this and other IGLib libraries (build, run, develop), use the new IGLib cotainer repository (iglibmodules). See the container repository's readme file for further instructions.
The legacy IGLib's base library is located at: https://github.com/ajgorhoe/IGLib.workspace.base.iglib.git
- IGLibCore (this repository) - a base library containing some common utiities with few dependencies (UI, graphics, reflection dependencies are not allowed).
- iglib - the legacy IGLib's base libraries. Used also by newer applications and new IGLib, will continued to be maintained. Contains documentation for the legacy IGLib.
- Helper Repositories:
- iglibmodules - a container repository used for cloning and building and running locally the IGLib libraries and applications.
- IGLibScripts contains some usful scripts (e.g. for cloning and updating repositories, backups, some Windows utilities, etc.), also used by IGLib for cloning and updating the reoisitories.
- codedoc contains scripts and other tools for generating and viewing code documentation for software projects, including IGLib projects.
- CodeDocumentation contains compiled code documentation for parts of IGLib (experimental), generated via codedoc, then copied to and committed to tge repository.
- IGLibGraphics3D - a 3D graphics library.
- IGLibScripting - Rudimentary scripting utilities; some utiities will be transferred here from legacy IGLib.
- IGLibScriptingCs - C# scripting, dynamic building and execution. Some utiliies from legacyLib will be modernized in this repository.
- IGLibSandbox - a private repository for prototyping, experimental, and early development
Legacy IGLib libraries contain lots of useful tools from different areas. Not all of these libraries were made publicly available, as many were developed within corporate environment. Due to complex dependency structure, some of these libraries were not ported to the new open source .NET (Core) when it was introduced by Microsoft in 2014. Some libraries could be ported to .NET but were slowly abandoned becaue the new .NET exosystem changed significantly and some of the crucial dependencies were not actively developed or supported any more.
Because of this, many libraries of the legacy IGLib Framework were phased out. Some others are not actively developed, but are used in existing applications. Only the IGLib base library is still used in new applications, but it is also not developed, except for the necessary fixes needed in the applications that use it. The newer libraries were started after the new .NET Core (later renamed to .NET) became stable.
The figure below shows dependencies betweem some IGLib modules, some legacy ones as well as the newer modules developed on the newer .NET Core / .NET (click the image to view searchable version full screen, or click here to open a bitmpap version):
Bulding legacy IGLib libraries is a bit more complex due to their dependencies. See the IGLib Framework repo's readme file to learn more about this.
Copyright © Igor Grešovnik.
See LICENSE.md (local version) for license information.
Disclaimer:
The repository owner reserves the right to change the license to any of the permissive open source licenses, such as the Apache-2 or MIT license.