From 184c2c5915f3ff62f32be17902e0e026231d72f4 Mon Sep 17 00:00:00 2001 From: DarkFeather Date: Sun, 8 Oct 2023 14:11:44 -0500 Subject: [PATCH] Updating README & adding a license check --- Hooks/scripts.d/check-AniNIX-LICENSE | 3 +++ README.md | 33 ++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-) create mode 100755 Hooks/scripts.d/check-AniNIX-LICENSE diff --git a/Hooks/scripts.d/check-AniNIX-LICENSE b/Hooks/scripts.d/check-AniNIX-LICENSE new file mode 100755 index 0000000..458f1a6 --- /dev/null +++ b/Hooks/scripts.d/check-AniNIX-LICENSE @@ -0,0 +1,3 @@ +#!/bin/bash + +diff -w <(curl -s 'https://aninix.net/AniNIX/Ubiqtorate/raw/branch/main/roles/Foundation/files/custom/options/license/AniNIX-WTFPL') ./LICENSE diff --git a/README.md b/README.md index 1c0ebab..a598b29 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,44 @@ This repo holds all our standard functions that all our services should use. We Some other functions served by this repo are included below. -# Example Packaging +# Etymology -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. +`Uniglot` is derived from the idea of a universal language to be used by all projects. `Uni` means one, and glot [is defined](https://www.collinsdictionary.com/us/dictionary/english/glot#:~:text=%2Dglot%20in%20American%20English,polyglot) 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. -# Executables +# Relevant Files and Software + +## Example Packaging + +This repo does have some example packaging for use in downstream projects. The [Makefile](./Makefile) and [PKGBUILD](./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](https://aninix.net/AniNIX/Wiki/src/branch/main/Articles/User_Support_Repositories.md). -# Hooks +## 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](./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.