Shared code libraries that all the AniNIX projects should use -- this should reduce error in rewriting the same functions.
Go to file
2023-12-07 13:24:21 -06:00
Bash Stripping tput off when terminal is not xterm 2023-01-25 22:44:05 -06:00
bin Moving home-git to ShadowArch instead -- other scripts here are unique to shared development in line with the package. 2022-10-17 22:08:03 -05:00
C Standardizing for PKGBUILD 2019-04-30 15:53:55 -05:00
CSharp Standardizing for PKGBUILD 2019-04-30 15:53:55 -05:00
Hooks Better exit code & diffing for PKGBUILD terms 2023-12-07 13:24:21 -06:00
Java Standardizing for PKGBUILD 2019-04-30 15:53:55 -05:00
Resources Updating PKGBUILD, README.md, and license. Update rsync to use fixed flag 2020-06-15 00:17:38 -05:00
tests Adding egrep hook; better iteration for whitespace; improving local tests 2023-01-25 22:31:55 -06:00
.gitignore Improving checks on AniNIX standards 2023-10-21 20:16:43 -05:00
LICENSE Improving checks on AniNIX standards 2023-10-21 20:16:43 -05:00
Makefile More scripts support 2022-09-18 21:34:48 -05:00
PKGBUILD Adding fixes for PKGBUILDs -- better output from hook & that arrays are whitespace delimited 2023-11-16 13:15:24 -06:00
README.md Updating README & adding a license check 2023-10-08 14:11:44 -05:00

This repo holds all our standard functions that all our services should use. We include a folder for each language -- files are broken down by their inclusion method. Please follow our development best practices when contributing.

Some other functions served by this repo are included below.

Etymology

Uniglot is derived from the idea of a universal language to be used by all projects. Uni means one, and glot is defined as '"speaking, writing, or written in a language" of the kind or number specified by the initial element'. So, Uniglot is thereby the single language used by all AniNIX projects. This refers both to the library files contained here and the universal hooks used in AniNIX development.

Relevant Files and Software

Example Packaging

This repo does have some example packaging for use in downstream projects. The Makefile and PKGBUILD are standards the AniNIX should maintain throughout their projects.

Executables

The following executables are available:

  • uniglot-clone ensures that when repos are cloned, they are attached to the standard Uniglot hooks.
  • home-git is support for User Support Repositories.

Hooks

The Hooks folder includes a standard pre-commit and pre-receive that will be enforced across repos. These pre-commit and pre-receive will enforce the contents of Hooks/scripts.d. This allows us to enforce standards of quality across the ecosystem.

Notably, each repo that subscribes to this enforcement can also commit their own standards in addition to global standards. Python tests should go in a folder called tests/ and scripts in a folder called precommit-hooks/. These will be run in addition to the global hooks.

Standard Libraries

Each language for which we have libraries should have its own folder. Breakdown within each of these may be broken up by line count or topic, at the author's discretion. Once an include standard has been set, though, it should be preserved. For example, if functions in the Bash header are to be broken out into subordinate files, then the Bash header should include these files that contain functions formally in itself.

Available Clients

The clients for this package are the compilers for the various languages represented.

  • bash for Bash
  • mono for C#
  • gcc for C
  • javac for Java

The hooks can be consumed by git when uniglot-clone is run on a repo.

Equivalents or Competition

The equivalents for this are the -headers or -libs packages for other projects. There is not really competition, as these are things specific for our development environment.