From 2487375ecffa4453de28e970aceccc344f256d6d Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Mon, 14 Aug 2023 18:24:23 +0200 Subject: [PATCH] chore: update to devenv --- .envrc | 3 + .gitignore | 388 +------------ .gitlab-ci.yml | 64 +++ CHANGELOG.md | 8 - Makefile | 102 ---- Taskfile.yml | 48 ++ devenv.lock | 190 ++++++ devenv.nix | 149 +++++ devenv.yaml | 7 + go.mod | 1 - makefiles/changelog.mk | 140 ----- makefiles/color.mk | 17 - makefiles/conan.mk | 51 -- makefiles/directories-go-lib.mk | 32 -- makefiles/directories-go-utilities.mk | 39 -- makefiles/directories-platform-part.mk | 28 - makefiles/directories-standard.mk | 52 -- makefiles/docker.mk | 11 - makefiles/docman.mk | 10 - makefiles/git.mk | 12 - makefiles/gitignore.mk | 530 ----------------- makefiles/go.mk | 27 - makefiles/jsdoc-json.mk | 115 ---- makefiles/jsdoc.mk | 12 - makefiles/license-agpl3.mk | 700 ----------------------- makefiles/license-all-rights-reserved.mk | 55 -- makefiles/license-unlicensed.mk | 21 - makefiles/licenses.mk | 21 - makefiles/node.mk | 55 -- makefiles/output.mk | 54 -- makefiles/placeholder.mk | 9 - makefiles/readme-go-lib.mk | 80 --- makefiles/readme-go-utilities.mk | 80 --- makefiles/readme-platform-part.mk | 92 --- makefiles/readme-standard.mk | 45 -- makefiles/readme-webcomponents.mk | 98 ---- makefiles/reqman.mk | 10 - makefiles/s3.mk | 14 - makefiles/target-add-licenses.mk | 28 - makefiles/target-caddy.mk | 23 - makefiles/target-conan.mk | 22 - makefiles/target-deploy-tool.mk | 22 - makefiles/target-docman.mk | 38 -- makefiles/target-git.mk | 58 -- makefiles/target-go-build.mk | 28 - makefiles/target-go-fetch-licenses.mk | 36 -- makefiles/target-help.mk | 46 -- makefiles/target-init-go-lib.mk | 49 -- makefiles/target-init-go-utilities.mk | 49 -- makefiles/target-init-platform-part.mk | 138 ----- makefiles/target-init-standard.mk | 49 -- makefiles/target-init-webcomponent.mk | 167 ------ makefiles/target-jekyll.mk | 39 -- makefiles/target-jsdoc-build.mk | 23 - makefiles/target-node-build.mk | 24 - makefiles/target-node-test.mk | 20 - makefiles/target-npm-publish.mk | 35 -- makefiles/target-npm.mk | 29 - makefiles/target-phpunit.mk | 67 --- makefiles/target-reqman.mk | 40 -- makefiles/target-update-makefiles.mk | 32 -- makefiles/target-variable.mk | 13 - makefiles/target-version.mk | 71 --- makefiles/terminal-check.mk | 13 - makefiles/terminal.mk | 40 -- makefiles/version.mk | 17 - release.json | 1 - 67 files changed, 476 insertions(+), 4111 deletions(-) create mode 100644 .envrc create mode 100644 .gitlab-ci.yml delete mode 100644 CHANGELOG.md delete mode 100644 Makefile create mode 100644 Taskfile.yml create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml delete mode 100644 makefiles/changelog.mk delete mode 100644 makefiles/color.mk delete mode 100644 makefiles/conan.mk delete mode 100644 makefiles/directories-go-lib.mk delete mode 100644 makefiles/directories-go-utilities.mk delete mode 100644 makefiles/directories-platform-part.mk delete mode 100644 makefiles/directories-standard.mk delete mode 100644 makefiles/docker.mk delete mode 100644 makefiles/docman.mk delete mode 100644 makefiles/git.mk delete mode 100644 makefiles/gitignore.mk delete mode 100644 makefiles/go.mk delete mode 100644 makefiles/jsdoc-json.mk delete mode 100644 makefiles/jsdoc.mk delete mode 100644 makefiles/license-agpl3.mk delete mode 100644 makefiles/license-all-rights-reserved.mk delete mode 100644 makefiles/license-unlicensed.mk delete mode 100644 makefiles/licenses.mk delete mode 100644 makefiles/node.mk delete mode 100644 makefiles/output.mk delete mode 100644 makefiles/placeholder.mk delete mode 100644 makefiles/readme-go-lib.mk delete mode 100644 makefiles/readme-go-utilities.mk delete mode 100644 makefiles/readme-platform-part.mk delete mode 100644 makefiles/readme-standard.mk delete mode 100644 makefiles/readme-webcomponents.mk delete mode 100644 makefiles/reqman.mk delete mode 100644 makefiles/s3.mk delete mode 100644 makefiles/target-add-licenses.mk delete mode 100644 makefiles/target-caddy.mk delete mode 100644 makefiles/target-conan.mk delete mode 100644 makefiles/target-deploy-tool.mk delete mode 100644 makefiles/target-docman.mk delete mode 100644 makefiles/target-git.mk delete mode 100644 makefiles/target-go-build.mk delete mode 100644 makefiles/target-go-fetch-licenses.mk delete mode 100644 makefiles/target-help.mk delete mode 100644 makefiles/target-init-go-lib.mk delete mode 100644 makefiles/target-init-go-utilities.mk delete mode 100644 makefiles/target-init-platform-part.mk delete mode 100644 makefiles/target-init-standard.mk delete mode 100644 makefiles/target-init-webcomponent.mk delete mode 100644 makefiles/target-jekyll.mk delete mode 100644 makefiles/target-jsdoc-build.mk delete mode 100644 makefiles/target-node-build.mk delete mode 100644 makefiles/target-node-test.mk delete mode 100644 makefiles/target-npm-publish.mk delete mode 100644 makefiles/target-npm.mk delete mode 100644 makefiles/target-phpunit.mk delete mode 100644 makefiles/target-reqman.mk delete mode 100644 makefiles/target-update-makefiles.mk delete mode 100644 makefiles/target-variable.mk delete mode 100644 makefiles/target-version.mk delete mode 100644 makefiles/terminal-check.mk delete mode 100644 makefiles/terminal.mk delete mode 100644 makefiles/version.mk delete mode 100644 release.json diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..6de8a8a --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +source_url "https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc" "sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0=" + +use devenv \ No newline at end of file diff --git a/.gitignore b/.gitignore index dd6e53a..13bb7b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,5 @@ - -# Makefile comes from update -Makefile.example - -# Vendor -/development/vendor/ -/deployment/vendor/ - -# Created by https://www.toptal.com/developers/gitignore/api/intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn -# Edit at https://www.toptal.com/developers/gitignore?templates=intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn - -### DBeaver ### -# ide config file -.dbeaver-data-sources*.xml - -### Git ### -# Created by git for backups. To disable backups in Git: -# git config --global mergetool.keepBackup false -*.orig - -# Created by git when using merge tools for conflicts -*.BACKUP.* -*.BASE.* -*.LOCAL.* -*.REMOTE.* -*_BACKUP_*.txt -*_BASE_*.txt -*_LOCAL_*.txt -*_REMOTE_*.txt +# Created by https://www.toptal.com/developers/gitignore/api/intellij,go +# Edit at https://www.toptal.com/developers/gitignore?templates=intellij,go ### Go ### # If you prefer the allow list template instead of the deny list, see community template: @@ -55,7 +28,7 @@ go.work /vendor/ /Godeps/ -### Intellij+all ### +### Intellij ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 @@ -134,272 +107,7 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser -### Intellij+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -### Intellij+iml ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff - -# AWS User-specific - -# Generated files - -# Sensitive or high-churn files - -# Gradle - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake - -# Mongo Explorer plugin - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin - -# SonarLint plugin - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client - -# Android studio 3.1+ serialized cache file - -### Intellij+iml Patch ### -# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 - -*.iml -modules.xml -.idea/misc.xml -*.ipr - -### NetBeans ### -**/nbproject/private/ -**/nbproject/Makefile-*.mk -**/nbproject/Package-*.bash -build/ -nbbuild/ -dist/ -nbdist/ -.nb-gradle/ - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# Optional stylelint cache - -# SvelteKit build / generate output -.svelte-kit - -### PhpStorm ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff - -# AWS User-specific - -# Generated files - -# Sensitive or high-churn files - -# Gradle - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake - -# Mongo Explorer plugin - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin - -# SonarLint plugin - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client - -# Android studio 3.1+ serialized cache file - -### PhpStorm Patch ### +### Intellij Patch ### # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 # *.iml @@ -423,7 +131,8 @@ dist # Cache file creation bug # See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/ACHE_FILE +.idea/$CACHE_FILE$ + # CodeStream plugin # https://plugins.jetbrains.com/plugin/12206-codestream .idea/codestream.xml @@ -432,82 +141,15 @@ dist # https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij .idea/**/azureSettings.xml -### PHPUnit ### -# Covers PHPUnit -# Reference: https://phpunit.de/ +# End of https://www.toptal.com/developers/gitignore/api/intellij,go +# Devenv +.devenv* +devenv.local.nix -# Generated files -.phpunit.result.cache -.phpunit.cache - -# PHPUnit -/app/phpunit.xml -/phpunit.xml - -# Build data -/build/ - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -*~ -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# Support for Project snippet scope -.vscode/*.code-snippets - -# Ignore code-workspaces -*.code-workspace - -### yarn ### -# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored - -.yarn/* -!.yarn/releases -!.yarn/patches -!.yarn/plugins -!.yarn/sdks -!.yarn/versions - -# if you are NOT using Zero-installs, then: -# comment the following lines -!.yarn/cache - -# and uncomment the following lines -# .pnp.* +# direnv +.direnv +# pre-commit +.pre-commit-config.yaml +/Session.vim diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..7b2885e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,64 @@ +image: docker-registry.schukai.com:443/nixos-ci-devenv:latest + +services: + - docker:dind + + +variables: + # The repo name as used in + # https://github.com/nix-community/NUR/blob/master/repos.json + NIXOS_VERSION: "23.05" + NIXPKGS_ALLOW_UNFREE: "1" + NIXPKGS_ALLOW_INSECURE: "1" + DOCKER_DRIVER: overlay2 + GIT_DEPTH: 10 + + +stages: + - test + - deploy + +before_script: + - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/ + - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem + - echo > .env-gitlab-ci + - variables=("HOME=$HOME" "CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME" "CI_REPOSITORY_URL=$CI_REPOSITORY_URL" "GITLAB_TOKEN=$GITLAB_TOKEN" "CI_JOB_TOKEN=$CI_JOB_TOKEN" "GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL" "GITLAB_USER_NAME=\"$GITLAB_USER_NAME\"" "CI_REGISTRY_USER=$CI_REGISTRY_USER" "CI_PROJECT_ID=$CI_PROJECT_ID" "CI_PROJECT_DIR=$CI_PROJECT_DIR" "CI_API_V4_URL=$CI_API_V4_URL" "CI_PROJECT_NAME=$CI_PROJECT_NAME" "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA"); for var in "${variables[@]}"; do echo "$var" >> .env-gitlab-ci; done + - cat .env-gitlab-ci + +after_script: + - if [ -f .env-gitlab-ci ]; then rm .env-gitlab-ci; fi + +test: + stage: test + tags: + - nixos + script: + - devenv shell test-lib + + cache: + - key: nixos + paths: + - /nix/store + + artifacts: + paths: + - dist + +deploy: + stage: deploy + tags: + - nixos + script: + - devenv shell -c deploy-lib + + when: on_success + + cache: + - key: nixos + paths: + - /nix/store + + + artifacts: + paths: + - dist diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index d409954..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ - -<a name="v0.2.0"></a> -## v0.2.0 - 2022-12-18 -### Add Features -- implementation of basic features -- first implementation - - diff --git a/Makefile b/Makefile deleted file mode 100644 index c199733..0000000 --- a/Makefile +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################################# -############################################################################################# -## -## PROJECT-DEFINITIONS -## -############################################################################################# -############################################################################################# - -COMPONENT_NAME := data - -############################################################################################# -############################################################################################# -## -## MORE GENERAL BLOCK WITH STANDARD DEFINITIONS -## -############################################################################################# -############################################################################################# - -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -PROJECT_ROOT:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)/ -THIS_MAKEFILE:=$(PROJECT_ROOT)$(THIS_MAKEFILE_PATH) - -# include project.mk only if it exists --include $(PROJECT_ROOT)project.mk - - -# Define the location of Makefiles -MAKEFILE_IMPORT_PATH?=$(PROJECT_ROOT)makefiles/ - -# include project.mk only if it exists --include $(MAKEFILE_IMPORT_PATH)project.mk - -############################################################################################# -############################################################################################# -## -## INCLUSION OF VARIOUS STANDARD RULES -## -############################################################################################# -############################################################################################# - -#include $(MAKEFILE_IMPORT_PATH)directories-standard.mk -include $(MAKEFILE_IMPORT_PATH)directories-go-lib.mk -#include $(MAKEFILE_IMPORT_PATH)directories-go-utilities.mk -#include $(MAKEFILE_IMPORT_PATH)directories-platform-part.mk -#include $(MAKEFILE_IMPORT_PATH)jsdoc.mk -include $(MAKEFILE_IMPORT_PATH)output.mk -include $(MAKEFILE_IMPORT_PATH)placeholder.mk -#include $(MAKEFILE_IMPORT_PATH)conan.mk -#include $(MAKEFILE_IMPORT_PATH)s3.mk -#include $(MAKEFILE_IMPORT_PATH)readme-standard.mk -#include $(MAKEFILE_IMPORT_PATH)readme-webcomponents.mk -#include $(MAKEFILE_IMPORT_PATH)readme-go-utilities.mk -include $(MAKEFILE_IMPORT_PATH)readme-go-lib.mk -#include $(MAKEFILE_IMPORT_PATH)readme-platform-part.mk -include $(MAKEFILE_IMPORT_PATH)licenses.mk -include $(MAKEFILE_IMPORT_PATH)license-agpl3.mk -#include $(MAKEFILE_IMPORT_PATH)license-unlicensed.mk -#include $(MAKEFILE_IMPORT_PATH)license-all-rights-reserved.mk -#include $(MAKEFILE_IMPORT_PATH)jsdoc-json.mk -include $(MAKEFILE_IMPORT_PATH)go.mk -include $(MAKEFILE_IMPORT_PATH)changelog.mk -#include $(MAKEFILE_IMPORT_PATH)docman.mk -#include $(MAKEFILE_IMPORT_PATH)reqman.mk -include $(MAKEFILE_IMPORT_PATH)git.mk -include $(MAKEFILE_IMPORT_PATH)gitignore.mk -include $(MAKEFILE_IMPORT_PATH)color.mk -include $(MAKEFILE_IMPORT_PATH)version.mk -#include $(MAKEFILE_IMPORT_PATH)docker.mk -#include $(MAKEFILE_IMPORT_PATH)node.mk -include $(MAKEFILE_IMPORT_PATH)terminal.mk -include $(MAKEFILE_IMPORT_PATH)target-go-fetch-licenses.mk -include $(MAKEFILE_IMPORT_PATH)target-add-licenses.mk -include $(MAKEFILE_IMPORT_PATH)target-deploy-tool.mk -#include $(MAKEFILE_IMPORT_PATH)target-jsdoc-build.mk -#include $(MAKEFILE_IMPORT_PATH)target-docman.mk -#include $(MAKEFILE_IMPORT_PATH)target-caddy.mk -#include $(MAKEFILE_IMPORT_PATH)target-conan.mk -#include $(MAKEFILE_IMPORT_PATH)target-phpunit.mk -#include $(MAKEFILE_IMPORT_PATH)target-jekyll.mk -include $(MAKEFILE_IMPORT_PATH)target-update-makefiles.mk -include $(MAKEFILE_IMPORT_PATH)target-help.mk -include $(MAKEFILE_IMPORT_PATH)target-go-build.mk -#include $(MAKEFILE_IMPORT_PATH)target-node-build.mk -#include $(MAKEFILE_IMPORT_PATH)target-node-test.mk -#include $(MAKEFILE_IMPORT_PATH)target-npm-publish.mk -#include $(MAKEFILE_IMPORT_PATH)target-npm.mk -include $(MAKEFILE_IMPORT_PATH)target-git.mk -#include $(MAKEFILE_IMPORT_PATH)target-init-standard.mk -#include $(MAKEFILE_IMPORT_PATH)target-init-webcomponent.mk -#include $(MAKEFILE_IMPORT_PATH)target-init-go-utilities.mk -#nclude $(MAKEFILE_IMPORT_PATH)target-init-go-lib.mk -#include $(MAKEFILE_IMPORT_PATH)target-init-platform-part.mk -include $(MAKEFILE_IMPORT_PATH)target-version.mk -include $(MAKEFILE_IMPORT_PATH)target-variable.mk -include $(MAKEFILE_IMPORT_PATH)terminal-check.mk - - -############################################################################################# - -# include target-project.mk only if it exists --include $(MAKEFILE_IMPORT_PATH)target-project.mk diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..7febe83 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,48 @@ +# https://taskfile.dev + +version: '3' + +tasks: + default: + cmds: + - task --list-all + silent: true + test: + desc: Execute unit tests in Go. + cmds: + - echo "Execute unit tests in Go." + - go test -cover -v ./... + + test-fuzz: + desc: Conduct fuzzing tests.# + cmds: + - echo "Conduct fuzzing tests." + - go test -v -fuzztime=30s -fuzz=Fuzz ./... + + add-licenses: + desc: Attach license headers to Go files. + cmds: + - echo "Attach license headers to Go files." + - addlicense -c "schukai GmbH" -s -l "AGPL-3.0" ./*.go + silent: true + + check: + desc: Confirm repository status. + cmds: + - git diff-index --quiet HEAD || (echo "There are uncommitted changes after running make. Please commit or stash them before running make."; exit 1) + silent: true + + build: + desc: Compile the application, + aliases: + - b + vars: + DEVENV_ROOT: + sh: echo "$DEVENV_ROOT" + + cmds: + - devenv shell build-app + sources: + - source/**/*.go + - source/**/*.mod + - dist/** diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000..8993ca8 --- /dev/null +++ b/devenv.lock @@ -0,0 +1,190 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1692003204, + "narHash": "sha256-gO2DXwXuArjpywgtRTDb3aKscWMbnI7YwFaqvV46yv0=", + "owner": "cachix", + "repo": "devenv", + "rev": "ade3ae522baf366296598e232b7b063d81740bbb", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1691950488, + "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "720e61ed8de116eec48d6baea1d54469b536b985", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1685801374, + "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1691950488, + "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "720e61ed8de116eec48d6baea1d54469b536b985", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-23.05", + "type": "indirect" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1691747570, + "narHash": "sha256-J3fnIwJtHVQ0tK2JMBv4oAmII+1mCdXdpeCxtIsrL2A=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", + "version": "version" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "version": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1690668568, + "narHash": "sha256-jzixQKFFW4oxO0S4GYqbkFCXzhBd6com6Z9+MtVKakU=", + "ref": "refs/heads/master", + "rev": "3838f03165b726e47d586c04a1821749375e1001", + "revCount": 37, + "type": "git", + "url": "https://gitlab.schukai.com/oss/utilities/version.git" + }, + "original": { + "type": "git", + "url": "https://gitlab.schukai.com/oss/utilities/version.git" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/devenv.nix b/devenv.nix new file mode 100644 index 0000000..2568f0c --- /dev/null +++ b/devenv.nix @@ -0,0 +1,149 @@ +{ pkgs, inputs, phps, lib, config, modulesPath,... }: + +{ + + # https://devenv.sh/packages/ + packages = [ + inputs.version.defaultPackage."${builtins.currentSystem}" + pkgs.git + pkgs.gcc12 + pkgs.go-task + pkgs.blackbox + pkgs.blackbox-terminal + pkgs.jq + pkgs.delve + pkgs.gdlv + pkgs.wget + pkgs.glab + pkgs.unixtools.xxd + pkgs.libffi + pkgs.zlib + pkgs.procps + pkgs.php81Extensions.xdebug + pkgs.ranger + pkgs.meld + pkgs.gnused + pkgs.coreutils-full + pkgs.gnugrep + pkgs.gnumake + pkgs.util-linux + pkgs.httpie + pkgs.netcat + pkgs.memcached + pkgs.fd + ]; + + + # https://devenv.sh/languages/ + # languages.nix.enable = true; + languages = { + go = { enable = true; }; + }; + + difftastic.enable = true; + + + # This script is executed when the app is built + # You can use it to build the app + scripts.test-lib.exec = '' +#!${pkgs.bash}/bin/bash +#set -euo pipefail +set -x + +PATH="''${PATH}":${pkgs.coreutils}/bin +PATH="''${PATH}":${pkgs.findutils}/bin +PATH="''${PATH}":${pkgs.jq}/bin/ +PATH="''${PATH}":${pkgs.rsync}/bin/ +PATH="''${PATH}":${pkgs.bash}/bin/ +PATH="''${PATH}":${pkgs.curl}/bin/ +PATH="''${PATH}":${pkgs.moreutils}/bin/ +PATH="''${PATH}":${pkgs.gnutar}/bin +PATH="''${PATH}":${pkgs.gzip}/bin/ +PATH="''${PATH}":${pkgs.procps}/bin/ +PATH="''${PATH}":${pkgs.exa}/bin/ +PATH="''${PATH}":${pkgs.git}/bin/ +PATH="''${PATH}":${pkgs.gnugrep}/bin/ +PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/ + +export -f PATH + +task test + +''; + + # This scritp is used to deploy the app to the gitlab registry + # It is used by the gitlab-ci.yml file + # The environment variables are set in the gitlab project settings + scripts.deploy-lib.exec = '' +#!${pkgs.bash}/bin/bash + +PATH="''${PATH}":${pkgs.coreutils}/bin +PATH="''${PATH}":${pkgs.jq}/bin/ +PATH="''${PATH}":${pkgs.curl}/bin/ +PATH="''${PATH}":${pkgs.moreutils}/bin/ +PATH="''${PATH}":${pkgs.gnutar}/bin +PATH="''${PATH}":${pkgs.gzip}/bin/ +PATH="''${PATH}":${pkgs.exa}/bin/ +PATH="''${PATH}":${pkgs.git}/bin/ +PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/ + +export PATH + +if [[ -f .env-gitlab-ci ]]; then + source .env-gitlab-ci + rm .env-gitlab-ci +fi + +set -x +## if $HOME not set, set it to current directory +if [[ -z "''${HOME}" ]]; then + HOME=$(pwd) +fi + +export HOME + +git config user.email "''${GITLAB_USER_EMAIL}" +git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}" +git config pull.rebase true +git config http.sslVerify "false" +git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@} + +git fetch --all --tags --unshallow +git reset --hard origin/master +git checkout $CI_COMMIT_REF_NAME +git pull origin $CI_COMMIT_REF_NAME + +if [ ! -z "''${CI_PROJECT_DIR}" ]; then + echo "CI_PROJECT_DIR is set, using it as project root." + project_root=$(realpath "''${CI_PROJECT_DIR}")/ +elif [ ! -z "''${DEVENV_ROOT}" ]; then + echo "DEVENV_ROOT is set, using it as project root." + project_root=$(realpath "''${DEVENV_ROOT}")/ +else + echo "Error: DEVENV_ROOT or CI_PROJECT_DIR environment variables are not set." + exit 1 +fi + +if [ ! -d "''${project_root}" ]; then + echo "Error: Project root directory does not seem to be valid." + echo "Check the DEVENV_ROOT or CI_PROJECT_DIR environment variables." + exit 1 +fi + +if [ -z "'CI_JOB_TOKEN" ]; then + echo "Error: CI_JOB_TOKEN variable is not set." + exit 1 +fi + +git --no-pager log --decorate=short --pretty=oneline +gitVersion=v$(version predict) +git tag -a $gitVersion -m"chore: bump version" +git --no-pager log --decorate=short --pretty=oneline +git push -o ci.skip origin ''${CI_COMMIT_REF_NAME} --tags + +echo "done" + +''; + + +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..525a6f0 --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,7 @@ +inputs: + nixpkgs: + url: github:nixos/nixpkgs/nixos-23.05 + + version: + url: git+https://gitlab.schukai.com/oss/utilities/version.git + flake: true diff --git a/go.mod b/go.mod index 7fa8815..958da47 100644 --- a/go.mod +++ b/go.mod @@ -6,4 +6,3 @@ require github.com/volker-schukai/tokenizer v1.0.0 require gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.4.0 -replace github.com/volker-schukai/tokenizer => /home/volker.schukai/projekte/github/tokenizer diff --git a/makefiles/changelog.mk b/makefiles/changelog.mk deleted file mode 100644 index c3ae831..0000000 --- a/makefiles/changelog.mk +++ /dev/null @@ -1,140 +0,0 @@ -############################################################################################# -############################################################################################# -## -## CHANGELOG -## -############################################################################################# -############################################################################################# - - -GIT_CHGLOG_BIN := $(shell command -v git-chglog 2> /dev/null) -GIT_CHGLOG_CONFIG_DIR := $(PROJECT_ROOT).chglog -REPOSURL := $(subst .git,,$(subst $(shell git config --get user.name)@,,$(shell git config --get remote.origin.url))) - -ifeq ($(GO),) - $(error $(ERRORMARKER) GO is not defined) -endif - -ifeq ($(GIT_CHGLOG_BIN),) - $(shell $(GO) install github.com/git-chglog/git-chglog/cmd/git-chglog@latest) - GIT_CHGLOG_BIN := $(shell command -v git-chglog 2> /dev/null) -endif - - -ifneq ($(shell test -d $(GIT_CHGLOG_CONFIG_DIR) && echo -n yes),yes) - $(shell mkdir -p $(GIT_CHGLOG_CONFIG_DIR)) -endif - -remove-config-files: - $(shell rm -Rf $(GIT_CHGLOG_CONFIG_DIR)/ && mkdir -p $(GIT_CHGLOG_CONFIG_DIR)) - -.PHONY: update-chglog-files -## update standard git-chglog configuration files -update-chglog-files: remove-config-files $(GIT_CHGLOG_CONFIG_DIR)/config.yml $(GIT_CHGLOG_CONFIG_DIR)/CHANGELOG.tpl.md - $(ECHOMARKER) "update standard git-chglog configuration files" - -define GIT_CHGLOG_CONFIG_FILE -style: gitlab -template: CHANGELOG.tpl.md -info: - title: CHANGELOG - repository_url: $(REPOSURL) -options: - commits: - filters: - Type: - - feat - - fix - - doc - - refactor - - perf - - test - - chore - ## deprecated types and typos - - docs - - documentation - - feat - - added - - add - - bugfix - - revert - - update - - updates - - change - - changed - commit_groups: - title_maps: - feat: Add Features - fix: Bug Fixes - doc: Documentation - refactor: Code Refactoring - perf: Performance Improvements - test: Tests - ## Chore is used for all other changes that don't fit in the other categories - chore: Changes - ## deprecated types and typos - docs: Documentation - documentation: Documentation - added: Add Features - add: Add Features - bugfix: Bug Fixes - revert: Reverts - update: Changes - updates: Changes - change: Changes - changed: Changes - header: - pattern: "^(\\w*)(?:\\(([\\w\\$$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$$" - pattern_maps: - - Type - - Scope - - Subject - notes: - keywords: - - BREAKING CHANGE -endef - -export GIT_CHGLOG_CONFIG_FILE - -$(GIT_CHGLOG_CONFIG_DIR)/config.yml: - $(QUIET) $(ECHO) "$$GIT_CHGLOG_CONFIG_FILE" >> $@ - -define GIT_CHGLOG_CONFIG_TEMPLATE -{{ range .Versions }} -<a name="{{ .Tag.Name }}"></a> -## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }} -{{ range .CommitGroups -}} -### {{ .Title }} -{{ range .Commits -}} -- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} -{{ end }} -{{ end -}} - -{{- if .NoteGroups -}} -{{ range .NoteGroups -}} -### {{ .Title }} -{{ range .Notes }} -{{ .Body }} -{{ end }} -{{ end -}} -{{ end -}} -{{ end -}} - -{{- if .Versions }} -{{ range .Versions -}} -{{ if .Tag.Previous -}} -[{{ .Tag.Name }}]: {{ $$.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }} -{{ end -}} -{{ end -}} -{{ end -}} -endef - -export GIT_CHGLOG_CONFIG_TEMPLATE - - -$(GIT_CHGLOG_CONFIG_DIR)/CHANGELOG.tpl.md: - $(QUIET) $(ECHO) "$$GIT_CHGLOG_CONFIG_TEMPLATE" >> $@ - -## location of CHANGELOG.md file -CHANGELOG_FILE ?= $(PROJECT_ROOT)CHANGELOG.md -EXECUTABLES = $(EXECUTABLES:-) $(GIT_CHGLOG_BIN) diff --git a/makefiles/color.mk b/makefiles/color.mk deleted file mode 100644 index 2c3fe3d..0000000 --- a/makefiles/color.mk +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COLORS -## -############################################################################################# -############################################################################################# - -BLACK := $(shell tput -Txterm setaf 0) -RED := $(shell tput -Txterm setaf 1) -GREEN := $(shell tput -Txterm setaf 2) -YELLOW := $(shell tput -Txterm setaf 3) -LIGHTPURPLE := $(shell tput -Txterm setaf 4) -PURPLE := $(shell tput -Txterm setaf 5) -BLUE := $(shell tput -Txterm setaf 6) -WHITE := $(shell tput -Txterm setaf 7) -RESET := $(shell tput -Txterm sgr0) \ No newline at end of file diff --git a/makefiles/conan.mk b/makefiles/conan.mk deleted file mode 100644 index 64dacde..0000000 --- a/makefiles/conan.mk +++ /dev/null @@ -1,51 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DEFINE CONAN -## -############################################################################################# -############################################################################################# - - -CONAN_BIN ?= $(VENDOR_PATH)conan -CONAN_CONFIG ?= $(VENDOR_PATH)conan.conf - -define CONANEXAMPLECONF -Server: - - # The hostname or IP address of the server (CONAN_SERVER_HOST) - # Domain, IP or hostname of the server - #Host: localhost:8080 - - # The port of the server (CONAN_SERVER_ADDRESS) - # Address: localhost - - # The port of the server (CONAN_SERVER_PORT) - # Port: 8080 - - # - Path: - # The path to the server (CONAN_SERVER_WEB_PATH) - Web: web - - Watch: - - Path: src - Command: /bin/bash -c "npx esbuild --bundle --outfile={{ .WebPath }}/scripts/bundle.js --sourcemap {{ .Path }}" - Exclude: - - ~$ - - ^\. - - Path: web - Exclude: - - ~$ - - ^\. - - Flags: - FollowSymlinks: true - -endef - -export CONANEXAMPLECONF - -$(CONAN_CONFIG): - $(QUIET) $(ECHO) "$$CONANEXAMPLECONF" >> $@ - diff --git a/makefiles/directories-go-lib.mk b/makefiles/directories-go-lib.mk deleted file mode 100644 index 5dd1070..0000000 --- a/makefiles/directories-go-lib.mk +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DIRECTORIES -## -############################################################################################# -############################################################################################# - -APPLICATION_PATH ?= $(PROJECT_ROOT) -DEPLOYMENT_PATH ?= $(PROJECT_ROOT) -DEVELOPMENT_PATH ?= $(PROJECT_ROOT) -DOCUMENTATION_PATH ?= $(PROJECT_ROOT) - -RESOURCE_PATH ?= $(APPLICATION_PATH) -SOURCE_PATH ?= $(APPLICATION_PATH) - -## SCRIPTS_PATH IS DEPRECATED -SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ - -DEVELOPMENT_SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ -BUILD_PATH ?= $(DEPLOYMENT_PATH)build/ -VENDOR_PATH ?= $(DEPLOYMENT_PATH)vendor/ - -DEPLOYMENT_SCRIPTS_PATH ?= $(DEPLOYMENT_PATH)script/ -LICENSE_PATH ?= $(PROJECT_ROOT) - -PROJECT_DIRECTORIES := $(PROJECT_DIRECTORIES) \ - $(APPLICATION_PATH) \ - $(VENDOR_PATH) \ - $(DEVELOPMENT_SCRIPTS_PATH) \ - $(BUILD_PATH) - diff --git a/makefiles/directories-go-utilities.mk b/makefiles/directories-go-utilities.mk deleted file mode 100644 index d70ae18..0000000 --- a/makefiles/directories-go-utilities.mk +++ /dev/null @@ -1,39 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DIRECTORIES -## -############################################################################################# -############################################################################################# - -APPLICATION_PATH ?= $(PROJECT_ROOT)application/ -DEPLOYMENT_PATH ?= $(PROJECT_ROOT)deployment/ -DEVELOPMENT_PATH ?= $(PROJECT_ROOT)development/ -DOCUMENTATION_PATH ?= $(PROJECT_ROOT)documentation/ - -RESOURCE_PATH ?= $(APPLICATION_PATH)resource/ -SOURCE_PATH ?= $(APPLICATION_PATH)source/ - -## SCRIPTS_PATH IS DEPRECATED -SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ - -DEVELOPMENT_SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ -BUILD_PATH ?= $(DEPLOYMENT_PATH)build/ -VENDOR_PATH ?= $(DEPLOYMENT_PATH)vendor/ - -DEPLOYMENT_SCRIPTS_PATH ?= $(DEPLOYMENT_PATH)script/ -LICENSE_PATH ?= $(PROJECT_ROOT) - -PROJECT_DIRECTORIES := $(PROJECT_DIRECTORIES) \ - $(APPLICATION_PATH) \ - $(RESOURCE_PATH) \ - $(SOURCE_PATH) \ - $(DEPLOYMENT_PATH) \ - $(VENDOR_PATH) \ - $(DEVELOPMENT_PATH) \ - $(DEVELOPMENT_SCRIPTS_PATH) \ - $(DEPLOYMENT_SCRIPTS_PATH) \ - $(DOCUMENTATION_PATH) \ - $(LICENSE_PATH) \ - $(BUILD_PATH) - diff --git a/makefiles/directories-platform-part.mk b/makefiles/directories-platform-part.mk deleted file mode 100644 index 2ed3ec8..0000000 --- a/makefiles/directories-platform-part.mk +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DIRECTORIES -## -############################################################################################# -############################################################################################# - -SOURCE_PATH ?= $(PROJECT_ROOT)source/ - -RELATIVE_SCRIPT_PATH ?= script/ - -SCRIPT_PATH ?= $(PROJECT_ROOT)$(RELATIVE_SCRIPT_PATH) -VENDOR_PATH ?= $(PROJECT_ROOT)vendor/ -NODE_PATH ?= $(PROJECT_ROOT)node_modules/ -TEST_PATH ?= $(PROJECT_ROOT)test/ -DEVELOPMENT_PATH ?= $(PROJECT_ROOT) - -LICENSE_PATH ?= $(PROJECT_ROOT) -DIST_PATH ?= $(PROJECT_ROOT)dist/ - -PROJECT_DIRECTORIES := $(PROJECT_DIRECTORIES) \ - $(SOURCE_PATH) \ - $(SCRIPT_PATH) \ - $(VENDOR_PATH) \ - $(NODE_PATH) \ - $(TEST_PATH) \ - $(LICENSE_PATH) \ No newline at end of file diff --git a/makefiles/directories-standard.mk b/makefiles/directories-standard.mk deleted file mode 100644 index 7a543a8..0000000 --- a/makefiles/directories-standard.mk +++ /dev/null @@ -1,52 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DIRECTORIES -## -############################################################################################# -############################################################################################# - -APPLICATION_PATH ?= $(PROJECT_ROOT)application/ -DEPLOYMENT_PATH ?= $(PROJECT_ROOT)deployment/ -DEVELOPMENT_PATH ?= $(PROJECT_ROOT)development/ -DOCUMENTATION_PATH ?= $(PROJECT_ROOT)documentation/ -REQUIREMENT_PATH ?= $(PROJECT_ROOT)requirement/ -CREDENTIALS_PATH ?= $(PROJECT_ROOT)credential/ - -TUTORIALS_PATH ?= $(DOCUMENTATION_PATH)tutorial/ -DOCUMENTATION_CONFIG_PATH ?= $(DOCUMENTATION_PATH)config/ - -RESOURCE_PATH ?= $(APPLICATION_PATH)resource/ -SOURCE_PATH ?= $(APPLICATION_PATH)source/ -WEB_PATH ?= $(APPLICATION_PATH)web/ - -## SCRIPTS_PATH IS DEPRECATED -SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ - -DEVELOPMENT_SCRIPTS_PATH ?= $(DEVELOPMENT_PATH)script/ -BUILD_PATH ?= $(DEPLOYMENT_PATH)build/ -VENDOR_PATH ?= $(DEPLOYMENT_PATH)vendor/ -ALVINE_VENDOR_PATH ?= $(VENDOR_PATH)alvine/ -TEST_PATH ?= $(DEVELOPMENT_PATH)tests/ - -DEPLOYMENT_SCRIPTS_PATH ?= $(DEPLOYMENT_PATH)script/ -LICENSE_PATH ?= $(PROJECT_ROOT) - -PROJECT_DIRECTORIES := $(PROJECT_DIRECTORIES) \ - $(APPLICATION_PATH) \ - $(RESOURCE_PATH) \ - $(SOURCE_PATH) \ - $(WEB_PATH) \ - $(DEPLOYMENT_PATH) \ - $(VENDOR_PATH) \ - $(ALVINE_VENDOR_PATH) \ - $(TEST_PATH) \ - $(DEVELOPMENT_PATH) \ - $(DEVELOPMENT_SCRIPTS_PATH) \ - $(DEPLOYMENT_SCRIPTS_PATH) \ - $(DOCUMENTATION_PATH) \ - $(REQUIREMENT_PATH) \ - $(CREDENTIALS_PATH) \ - $(LICENSE_PATH) \ - $(BUILD_PATH) - diff --git a/makefiles/docker.mk b/makefiles/docker.mk deleted file mode 100644 index 4bc7f6c..0000000 --- a/makefiles/docker.mk +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DOCKER -## -############################################################################################# -############################################################################################# - -DOCKER ?= docker -EXECUTABLES = $(EXECUTABLES:-) $(DOCKER); - diff --git a/makefiles/docman.mk b/makefiles/docman.mk deleted file mode 100644 index cc61cff..0000000 --- a/makefiles/docman.mk +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DOCMAN -## -############################################################################################# -############################################################################################# - - -DOCMAN_BIN ?= $(VENDOR_PATH)docman diff --git a/makefiles/git.mk b/makefiles/git.mk deleted file mode 100644 index 5521077..0000000 --- a/makefiles/git.mk +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################################# -############################################################################################# -## -## GIT -## -############################################################################################# -############################################################################################# - -GIT ?= git -UUIDGEN ?= uuidgen - -EXECUTABLES = $(EXECUTABLES:-) $(UUIDGEN) $(GIT) \ No newline at end of file diff --git a/makefiles/gitignore.mk b/makefiles/gitignore.mk deleted file mode 100644 index 3ff75ff..0000000 --- a/makefiles/gitignore.mk +++ /dev/null @@ -1,530 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INSTALL .gitignore -## -############################################################################################# -############################################################################################# - -define GITIGNOREDS - -# Makefile comes from update -Makefile.example - -# Vendor -/development/vendor/ -/deployment/vendor/ - -# Created by https://www.toptal.com/developers/gitignore/api/intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn -# Edit at https://www.toptal.com/developers/gitignore?templates=intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn - -### DBeaver ### -# ide config file -.dbeaver-data-sources*.xml - -### Git ### -# Created by git for backups. To disable backups in Git: -# $ git config --global mergetool.keepBackup false -*.orig - -# Created by git when using merge tools for conflicts -*.BACKUP.* -*.BASE.* -*.LOCAL.* -*.REMOTE.* -*_BACKUP_*.txt -*_BASE_*.txt -*_LOCAL_*.txt -*_REMOTE_*.txt - -### Go ### -# If you prefer the allow list template instead of the deny list, see community template: -# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore -# -# Binaries for programs and plugins -*.exe -*.exe~ -*.dll -*.so -*.dylib - -# Test binary, built with `go test -c` -*.test - -# Output of the go coverage tool, specifically when used with LiteIDE -*.out - -# Dependency directories (remove the comment below to include it) -# vendor/ - -# Go workspace file -go.work - -### Go Patch ### -/vendor/ -/Godeps/ - -### Intellij+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### Intellij+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -### Intellij+iml ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff - -# AWS User-specific - -# Generated files - -# Sensitive or high-churn files - -# Gradle - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake - -# Mongo Explorer plugin - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin - -# SonarLint plugin - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client - -# Android studio 3.1+ serialized cache file - -### Intellij+iml Patch ### -# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 - -*.iml -modules.xml -.idea/misc.xml -*.ipr - -### NetBeans ### -**/nbproject/private/ -**/nbproject/Makefile-*.mk -**/nbproject/Package-*.bash -build/ -nbbuild/ -dist/ -nbdist/ -.nb-gradle/ - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# Optional stylelint cache - -# SvelteKit build / generate output -.svelte-kit - -### PhpStorm ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff - -# AWS User-specific - -# Generated files - -# Sensitive or high-churn files - -# Gradle - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake - -# Mongo Explorer plugin - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin - -# SonarLint plugin - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client - -# Android studio 3.1+ serialized cache file - -### PhpStorm Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint -.idea/**/sonarlint/ - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator-enh.xml -.idea/**/markdown-navigator/ - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/$CACHE_FILE$ - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream -.idea/codestream.xml - -# Azure Toolkit for IntelliJ plugin -# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij -.idea/**/azureSettings.xml - -### PHPUnit ### -# Covers PHPUnit -# Reference: https://phpunit.de/ - -# Generated files -.phpunit.result.cache -.phpunit.cache - -# PHPUnit -/app/phpunit.xml -/phpunit.xml - -# Build data -/build/ - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -*~ -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# Support for Project snippet scope -.vscode/*.code-snippets - -# Ignore code-workspaces -*.code-workspace - -### yarn ### -# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored - -.yarn/* -!.yarn/releases -!.yarn/patches -!.yarn/plugins -!.yarn/sdks -!.yarn/versions - -# if you are NOT using Zero-installs, then: -# comment the following lines -!.yarn/cache - -# and uncomment the following lines -# .pnp.* - -endef - -export GITIGNOREDS -$(PROJECT_ROOT).gitignore: - $(QUIET) $(ECHO) "$$GITIGNOREDS" >> $@ - - - diff --git a/makefiles/go.mk b/makefiles/go.mk deleted file mode 100644 index 6cb58e9..0000000 --- a/makefiles/go.mk +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COMMANDS GO -## -############################################################################################# -############################################################################################# - -# path and binaries -GO := go - -EXECUTABLES = $(EXECUTABLES:-) $(GO); - -ifeq ($(shell command -v $(GO) 2> /dev/null),) - $(error "go is not installed. Please install go <https://go.dev/doc/install>") -endif - -GOPATH=$(shell go env GOPATH) - -ifeq ($(GOPATH),) - DIRS := bin pkg src - GOPATH=$(DEPLOYMENT_PATH)/go/ - $(shell mkdir -p $(GOPATH)) - $(shell $(foreach entry,$(DIRS),mkdir -p "$(GOPATH)$(entry)";)) - export PATH=$(PATH):$(GOPATH)/bin -endif - diff --git a/makefiles/jsdoc-json.mk b/makefiles/jsdoc-json.mk deleted file mode 100644 index e5315ac..0000000 --- a/makefiles/jsdoc-json.mk +++ /dev/null @@ -1,115 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INSTALL jsdoc.json -## -############################################################################################# -############################################################################################# - -define JSDOCJSON -{ - "tags": { - "allowUnknownTags": true - }, - "source": { - "include": "$(SOURCE_PATH)", - "includePattern": "\\.js$$", - "excludePattern": "" - }, - "plugins": [ - "plugins/markdown", - "jsdoc-plantuml" - ], - "opts": { - "template": "node_modules/clean-jsdoc-theme", - "encoding": "utf8", - "destination": "$(BUILD_PATH)/docs/", - "recurse": true, - "verbose": true, - "theme_opts": { - "theme": "light", - "title": "$(COMPONENT_NAME)", - "meta": [ - { - "name": "author", - "content": "schukai GmbH" - }, - { - "name": "description", - "content": "javascript library for ..." - } - ], - "search": true, - "add_style_path": [ - { - "href": "https://monsterjs.org/assets/prettify.css", - "crossorigin": "anonymous", - "rel": "stylesheet" - } - ], - "add_script_path": [ - { - "src": "https://code.jquery.com/jquery-3.5.1.js", - "integrity": "sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=", - "crossorigin": "anonymous" - }, - ], - "footer": "<a href='https://about.schukai.com/de/impressum/'>Imprint</a>", - "overlay_scrollbar": { - "options": { - } - }, - "resizeable": { - "navbar": { - "min": "300", - "max": "600" - } - }, - "codepen": { - "enable_for": [ - "examples" - ], - "options": { - "title": "javascript library by schukai GmbH", - "description": "the example ...", - "editors": "0012" - } - }, - "sections": [ - "Tutorials", - "Namespaces", - "Classes", - "Modules", - "Externals", - "Events", - "Mixins", - "Interfaces", - "Global", - "Menu" - ] - } - }, - "templates": { - "cleverLinks": true, - "monospaceLinks": false, - "default": { - "outputSourceFiles": false - } - }, - "plantuml": { - "puml": { - "create": true, - "destination": "$(BUILD_PATH)/docs/puml" - }, - "images": { - "create": true, - "destination": "$(BUILD_PATH)/docs/images", - "defaultFormat": "svg" - } - } -} -endef - -export JSDOCJSON -$(DEPLOYMENT_PATH)jsdoc.json: - $(QUIET) $(ECHO) "$$JSDOCJSON" >> $@ \ No newline at end of file diff --git a/makefiles/jsdoc.mk b/makefiles/jsdoc.mk deleted file mode 100644 index f565f53..0000000 --- a/makefiles/jsdoc.mk +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COMMANDS JSDOC -## -############################################################################################# -############################################################################################# - -# path and binaries -JSDOC ?= $(NODE_MODULES_BIN_DIR)jsdoc - -EXECUTABLES = $(EXECUTABLES:-) $(JSDOC); \ No newline at end of file diff --git a/makefiles/license-agpl3.mk b/makefiles/license-agpl3.mk deleted file mode 100644 index 9b3a5a9..0000000 --- a/makefiles/license-agpl3.mk +++ /dev/null @@ -1,700 +0,0 @@ -############################################################################################# -############################################################################################# -## -## AGPL 3.0 LICENSE -## -############################################################################################# -############################################################################################# - -## License used in the project -LICENSE_TEXT ?= AGPL 3.0 - -## The spdx license identifier -SPDX_LICENSE_ID ?= AGPL-3.0 - -## Copyright holder of the project -COPYRIGHT_TEXT ?= © schukai GmbH, Released under the $(LICENSE_TEXT) License. - -## Copyright URL -COPYRIGHT_URL ?= [AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html) - -## The owner of the project -COPYRIGHT_OWNER ?= schukai GmbH - - -define LICENSE_FILE_CONTENT -LICENSE - -* All content residing under the "documentation/" directory of this repository is licensed under "Creative Commons: CC BY-SA 4.0 license". -* All content that resides under the "application/" directory of this repository, if that directory exists, is licensed under the license defined in "application/LICENSE". -* All third-party components that are integrated into our software are licensed under the original licence provided by the owner of the respective component. -* Content outside the above directories or restrictions is available under the "AGPL 3.0" licence as defined here: https://www.gnu.org/licenses/agpl-3.0.en.html - -endef - - -define LICENSE_AGPL_FILE_CONTENT - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -<https://www.gnu.org/licenses/>. -endef - - diff --git a/makefiles/license-all-rights-reserved.mk b/makefiles/license-all-rights-reserved.mk deleted file mode 100644 index ea690fc..0000000 --- a/makefiles/license-all-rights-reserved.mk +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################################# -############################################################################################# -## -## AGPL 3.0 LICENSE -## -############################################################################################# -############################################################################################# - -## License used in the project -LICENSE_TEXT ?= All rights reserved - -## The spdx license identifier -SPDX_LICENSE_ID ?= - -## Copyright holder of the project -COPYRIGHT_TEXT ?= © schukai GmbH, $(LICENSE_TEXT). - -## The owner of the project -COPYRIGHT_OWNER ?= schukai GmbH - -COPYRIGHT_URL ?= [LICENSE](https://www.schukai.com/) - -define LICENSE_FILE_CONTENT -The schukai Enterprise License (the "Enterprise License"). -Copyright © 2022 schukai GmbH. - -Regarding this Software, schukai GmbH is the licensor and you are the licensee. - -By using the Software, you agree to all the terms and conditions set forth below. - -This software and associated documentation files (the "Software") may be used in production only if you (and any company -you represent) have a valid Enterprise License corresponding to your use. Subject to the preceding sentence, you are free -to modify this Software and to release patches for the Software. You agree that schukai and/or its licensors (as applicable) -retain all right, title and interest in and to all such modifications and/or patches, and that all such modifications -and/or patches may be used, copied, modified, displayed, distributed or otherwise exploited only with a valid Enterprise -License for the appropriate use. Notwithstanding the foregoing, you may copy and modify the Software for development and -testing purposes without requiring a subscription. - -You agree that schukai and/or its licensors (if applicable) retain all right, title and interest in and to all such -modifications. No additional rights are granted to you beyond those expressly set forth herein. Subject to the foregoing, -you may not copy, merge, publish, distribute, sublicense and/or sell the Software. - -THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIMS, DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING OUT -OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. - -For any third-party components incorporated into schukai's software, such components are licensed under the original license -provided by the owner of the applicable component. - -endef - - - - diff --git a/makefiles/license-unlicensed.mk b/makefiles/license-unlicensed.mk deleted file mode 100644 index 953b34b..0000000 --- a/makefiles/license-unlicensed.mk +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################################# -############################################################################################# -## -## UNLICENSED -## -############################################################################################# -############################################################################################# - -## License used in the project -LICENSE_TEXT ?= UNLICENSED - -## The spdx license identifier -SPDX_LICENSE_ID ?= - -## Copyright holder of the project -COPYRIGHT_TEXT ?= © schukai GmbH, $(LICENSE_TEXT). - -COPYRIGHT_URL ?= [LICENSE](https://www.schukai.com/) - -## The owner of the project -COPYRIGHT_OWNER ?= schukai GmbH diff --git a/makefiles/licenses.mk b/makefiles/licenses.mk deleted file mode 100644 index 7d8f56d..0000000 --- a/makefiles/licenses.mk +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -ifneq "$(wildcard $(SOURCE_PATH) )" "" - ## Files wich should be checked for license headers - LICENSE_FILE_PATTERN ?= $(shell find $(SOURCE_PATH) -type f \( -iname \*.go -o -iname \*.php -o -iname \*.js -o -iname \*.mjs -o -iname \*.cjs \) ) -endif - -# https://spdx.github.io/spdx-spec/v2.3/SPDX-license-list/ -ADDLICENSE_BIN ?= addlicense -ifeq ($(shell command -v $(ADDLICENSE_BIN) 2> /dev/null),) - $(shell $(GO) install github.com/google/addlicense@latest) - EXECUTABLES = $(EXECUTABLES:-) $(ADDLICENSE_BIN); -endif - -EXECUTABLES = $(EXECUTABLES:-) $(ADDLICENSE_BIN) diff --git a/makefiles/node.mk b/makefiles/node.mk deleted file mode 100644 index 4c1bf4e..0000000 --- a/makefiles/node.mk +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COMMANDS NODEJS -## -############################################################################################# -############################################################################################# - -# path and binaries -NODEJS ?= node -NODE ?= node -NPM ?= pnpm - -EXECUTABLES = $(EXECUTABLES:-) $(NPM); - -NODE_PACKAGES := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*') -NODE_MODULES := $(shell find $(PROJECT_ROOT) -type d -name 'node_modules' -prune) - -NODE_MODULES_MODIFIED := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*' -exec sh -c 'F=$$(dirname {}); echo $${F}/node_modules/.modified' \;) - -$(NODE_MODULES_MODIFIED): $(NODE_PACKAGES) - $(ECHOMARKER) "Updating node modules..." - $(QUIET) for p in $(NODE_PACKAGES); do \ - DIR=$$(dirname $$p); \ - echo "Updating package: $${DIR}" ;\ - $(NPM) install --prefix $${DIR} ;\ - if [ -d $${DIR}/node_modules/ ]; then \ - touch $${DIR}/node_modules/.modified ;\ - fi ;\ - done - -## Main Develpoment Node Repos -NODE_ROOT_DIR ?= $(DEVELOPMENT_PATH) -NODE_MODULES_DIR ?= $(NODE_ROOT_DIR)node_modules/ -NODE_PACKAGE_PATH ?= $(NODE_ROOT_DIR)package.json -NODE_MODULES_BIN_DIR ?= $(NODE_MODULES_DIR).bin/ - -ESBUILD ?= $(NODE_MODULES_BIN_DIR)esbuild -WEBPACK ?= $(NODE_MODULES_BIN_DIR)webpack -BABEL ?= $(NODE_MODULES_BIN_DIR)babel -UGLIFYJS ?= $(NODE_MODULES_BIN_DIR)uglifyjs -C8 ?= $(NODE_MODULES_BIN_DIR)c8 -MOCHA ?= $(NODE_MODULES_BIN_DIR)mocha - -PACKAGE_JSON ?= $(NODE_ROOT_DIR)package.json - -ifneq "$(wildcard $(SOURCE_PATH) )" "" - MJS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs') - MJS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs' -exec realpath --relative-to $(PROJECT_ROOT) {} \; ) - - JS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js') - JS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js' -exec realpath --relative-to $(PROJECT_ROOT) {} \; ) -endif - - diff --git a/makefiles/output.mk b/makefiles/output.mk deleted file mode 100644 index 9aa5bb7..0000000 --- a/makefiles/output.mk +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COLORS -## -############################################################################################# -############################################################################################# - -INFO := $(GREEN) -COMMENT := $(YELLOW) - -############################################################################################# -############################################################################################# -## -## OUTPUT CONTROL AND STANDARD OUTPUTS -## -############################################################################################# -############################################################################################# - -MARKER := $(BLUE)[+]$(RESET) -ERRORMARKER := $(RED)[-]$(RESET) - -############################################################################################# -############################################################################################# -## -## DEACTIVATE THE QUIET MODE BY OVERWRITING THE VALUE WITH SPACE -## -############################################################################################# -############################################################################################# - -ifndef DEBUG - QUIET = @ -else - QUIET = -endif - -ifndef DONTOPENBROWSER - OPENBROWSER = false -else - OPENBROWSER = true -endif - -############################################################################################# -############################################################################################# -## -## COMMANDS -## -############################################################################################# -############################################################################################# - -ECHO := @echo -ECHOMARKER := @echo "$(MARKER) $0" -ECHOERRORMARKER := @echo "$(ERRORMARKER) $0" - diff --git a/makefiles/placeholder.mk b/makefiles/placeholder.mk deleted file mode 100644 index 7b79026..0000000 --- a/makefiles/placeholder.mk +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################################# -############################################################################################# -## -## PLACEHOLDER -## -############################################################################################# -############################################################################################# - -COMPONENT_SLUG := $(shell echo "$(COMPONENT_NAME)" | tr '[:upper:]' '[:lower:]') diff --git a/makefiles/readme-go-lib.mk b/makefiles/readme-go-lib.mk deleted file mode 100644 index ae10cdc..0000000 --- a/makefiles/readme-go-lib.mk +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - - -define README_FILE_CONTENT -# $(COMPONENT_NAME) - -$(COMPONENT_NAME) is ... - -## Documentation - -To check out docs and examples, visit .... - -## Installation - -```shell -go get $(shell git config --get remote.origin.url | sed -E 's/^\s*.*:\/\///g') -``` - -**Note:** This library uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies. - -## Usage - -## Contributing - -Merge requests are welcome. For major changes, please open an issue first to discuss what -you would like to change. **Please make sure to update tests as appropriate.** - -Versioning is done with [SemVer](https://semver.org/). -Changelog is generated with [git-chglog](https://github.com/git-chglog/git-chglog#git-chglog) - -Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification. -Messages are started with a type, which is one of the following: - -- **feat**: A new feature -- **fix**: A bug fix -- **doc**: Documentation only changes -- **refactor**: A code change that neither fixes a bug nor adds a feature -- **perf**: A code change that improves performance -- **test**: Adding missing or correcting existing tests -- **chore**: Other changes that don't modify src or test files - -The footer would be used for a reference to an issue or a breaking change. - -A commit that has a footer `BREAKING CHANGE:`, or appends a ! after the type/scope, -introduces a breaking API change (correlating with MAJOR in semantic versioning). -A BREAKING CHANGE can be part of commits of any type. - -the following is an example of a commit message: - -```text -feat: add 'extras' field -``` - -## Questions - -For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/). -The issue list of this repo is exclusively for bug reports and feature requests. - -## Issues - -Please make sure to read the Issue Reporting Checklist before opening an -issue. Issues not conforming to the guidelines may be closed immediately. - -## License - -$(COPYRIGHT_TEXT) - -$(COPYRIGHT_URL) - -You can also purchase a commercial license. - - -endef - diff --git a/makefiles/readme-go-utilities.mk b/makefiles/readme-go-utilities.mk deleted file mode 100644 index ae10cdc..0000000 --- a/makefiles/readme-go-utilities.mk +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - - -define README_FILE_CONTENT -# $(COMPONENT_NAME) - -$(COMPONENT_NAME) is ... - -## Documentation - -To check out docs and examples, visit .... - -## Installation - -```shell -go get $(shell git config --get remote.origin.url | sed -E 's/^\s*.*:\/\///g') -``` - -**Note:** This library uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies. - -## Usage - -## Contributing - -Merge requests are welcome. For major changes, please open an issue first to discuss what -you would like to change. **Please make sure to update tests as appropriate.** - -Versioning is done with [SemVer](https://semver.org/). -Changelog is generated with [git-chglog](https://github.com/git-chglog/git-chglog#git-chglog) - -Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification. -Messages are started with a type, which is one of the following: - -- **feat**: A new feature -- **fix**: A bug fix -- **doc**: Documentation only changes -- **refactor**: A code change that neither fixes a bug nor adds a feature -- **perf**: A code change that improves performance -- **test**: Adding missing or correcting existing tests -- **chore**: Other changes that don't modify src or test files - -The footer would be used for a reference to an issue or a breaking change. - -A commit that has a footer `BREAKING CHANGE:`, or appends a ! after the type/scope, -introduces a breaking API change (correlating with MAJOR in semantic versioning). -A BREAKING CHANGE can be part of commits of any type. - -the following is an example of a commit message: - -```text -feat: add 'extras' field -``` - -## Questions - -For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/). -The issue list of this repo is exclusively for bug reports and feature requests. - -## Issues - -Please make sure to read the Issue Reporting Checklist before opening an -issue. Issues not conforming to the guidelines may be closed immediately. - -## License - -$(COPYRIGHT_TEXT) - -$(COPYRIGHT_URL) - -You can also purchase a commercial license. - - -endef - diff --git a/makefiles/readme-platform-part.mk b/makefiles/readme-platform-part.mk deleted file mode 100644 index 6b3aba1..0000000 --- a/makefiles/readme-platform-part.mk +++ /dev/null @@ -1,92 +0,0 @@ -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - - -define README_FILE_CONTENT -# $(COMPONENT_NAME) - -$(COMPONENT_NAME) is a part of the Alvine/Agenor project. - -This app is built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import) -and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export). - -For some functions, you need additional [polyfills](#polyfill). - -## Documentation - -To check out docs and examples, visit [doc.alvine.io](https://doc.alvine.io). - -## Installation - -`pnpm install @oss/$(COMPONENT_SLUG)` - -## Usage - -A simple example of the use of functionality from $(COMPONENT_NAME). We create a small file `index.mjs`. -The `m` in `.mjs` stands for module. In the example we want to make substitutions in a string. - -```js -// script -``` - -To integrate this function into a website it is recommended to use a bundler like [esbuild](https://esbuild.github.io/). - -```sh -esbuild index.mjs --outfile dist.js -``` - -We can now integrate that into our website. - -```html -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>$(COMPONENT_NAME)</title> - <script src="dist.js"></script> -</head> -<body> -``` - -Voila! - - -### Polyfill - -We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection. - -However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased. - -```js -<script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?..." - crossorigin="anonymous" - referrerpolicy="no-referrer"></script> -``` - -## Questions - -For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/). -The issue list of this repo is exclusively for bug reports and feature requests. - -## Issues - -Please make sure to read the Issue Reporting Checklist before opening an -issue. Issues not conforming to the guidelines may be closed immediately. - -## License - -$(COPYRIGHT_TEXT) - -$(COPYRIGHT_URL) - -## Changelog - -Detailed changes for each release are documented in the CHANGELOG. - -endef - diff --git a/makefiles/readme-standard.mk b/makefiles/readme-standard.mk deleted file mode 100644 index d9fd70e..0000000 --- a/makefiles/readme-standard.mk +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - - -define README_FILE_CONTENT -# $(COMPONENT_NAME) - -$(COMPONENT_NAME) is ... - -## Documentation - -To check out docs and examples, visit .... - -## Installation - - -## Usage - - -## Questions - -For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/). -The issue list of this repo is exclusively for bug reports and feature requests. - -## Issues - -Please make sure to read the Issue Reporting Checklist before opening an -issue. Issues not conforming to the guidelines may be closed immediately. - -## License - -$(COPYRIGHT_TEXT) - -$(COPYRIGHT_URL) - -You can also purchase a commercial license. - - -endef - diff --git a/makefiles/readme-webcomponents.mk b/makefiles/readme-webcomponents.mk deleted file mode 100644 index ed89adf..0000000 --- a/makefiles/readme-webcomponents.mk +++ /dev/null @@ -1,98 +0,0 @@ -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - - -define README_FILE_CONTENT -# $(COMPONENT_NAME) - -$(COMPONENT_NAME) is a lightweight, robust and easy-to-use form library with modest ambitions. -The component easily integrates with your existing websites without taking over everything. - -One design target is to reach the shiny sun with as little JavaScript as possible. - -Monster was built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import) -and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export). - -For some functions, you need additional [polyfills](#polyfill). - -## Documentation - -To check out docs and examples, visit [monsterjs.org/en/doc/$(COMPONENT_SLUG)/](https://monsterjs.org/en/doc/$(COMPONENT_SLUG)/). - -## Installation - -`npm install @schukai/component-$(COMPONENT_SLUG)`, `yarn install @schukai/component-$(COMPONENT_SLUG)` or `pnpm install @schukai/component-$(COMPONENT_SLUG)` - -## Usage - -A simple example of the use of functionality from $(COMPONENT_NAME). We create a small file `index.mjs`. -The `m` in `.mjs` stands for module. In the example we want to make substitutions in a string. - -```js -// example -``` - -To integrate this function into a website it is recommended to use a bundler like [esbuild](https://esbuild.github.io/). - -```sh -esbuild index.mjs --outfile dist.js -``` - -We can now integrate that into our website. - -```html -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>$(COMPONENT_NAME)</title> - <script src="dist.js"></script> -</head> -<body> -``` - -Voila! - - -### Polyfill - -We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection. - -However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased. - -```js -<script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?..." - crossorigin="anonymous" - referrerpolicy="no-referrer"></script> -``` - -## Questions - -For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/). -The issue list of this repo is exclusively for bug reports and feature requests. - -## Issues - -Please make sure to read the Issue Reporting Checklist before opening an -issue. Issues not conforming to the guidelines may be closed immediately. - -## License - -$(COPYRIGHT_TEXT) - -$(COPYRIGHT_URL) - -You can also purchase a commercial license. - -## Changelog - -Detailed changes for each release are documented in -the [CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/web-components/$(COMPONENT_SLUG)). - -endef - diff --git a/makefiles/reqman.mk b/makefiles/reqman.mk deleted file mode 100644 index 64f4e1a..0000000 --- a/makefiles/reqman.mk +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################################# -############################################################################################# -## -## REQMAN -## -############################################################################################# -############################################################################################# - - -REQMAN_BIN ?= $(VENDOR_PATH)reqman diff --git a/makefiles/s3.mk b/makefiles/s3.mk deleted file mode 100644 index 9569d7e..0000000 --- a/makefiles/s3.mk +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################################# -############################################################################################# -## -## AMAZON S3 -## -############################################################################################# -############################################################################################# - -# path and binaries -AWS ?= aws -EXECUTABLES = $(EXECUTABLES:-) $(AWS) - -## Set AWS profile -AWS_PROFILE ?= schukai diff --git a/makefiles/target-add-licenses.mk b/makefiles/target-add-licenses.mk deleted file mode 100644 index 4750f21..0000000 --- a/makefiles/target-add-licenses.mk +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################################# -############################################################################################# -## -## ADD SPDX LICENSES -## -## For commercial projects, it is not necessary to add the SPDX license identifier. -## The license header in each file is only for open-source projects, for example under -## the AGPL 3.0 license. -## -############################################################################################# -############################################################################################# - -ifeq ($(ADDLICENSE_BIN),) - $(error "addlicense is not installed. Please check your makefile and include the licenses.mk") -endif - -.PHONY: add-licenses -## Add license headers to all go files -add-licenses: - $(ECHOMARKER) "Add license headers to all sourche files" -ifeq ($(LICENSE_FILE_PATTERN),) - $(error "LICENSE_FILE_PATTERN is not set. Please check your makefile and include the licenses.mk") -endif - -ifndef SPDX_LICENSE_ID - $(error "SPDX_LICENSE_ID is not defined. Please check your makefile and include the licenses.mk") -endif - $(QUIET) $(ADDLICENSE_BIN) -c "$(COPYRIGHT_OWNER)" -s -l "$(SPDX_LICENSE_ID)" $(LICENSE_FILE_PATTERN) \ No newline at end of file diff --git a/makefiles/target-caddy.mk b/makefiles/target-caddy.mk deleted file mode 100644 index 4387423..0000000 --- a/makefiles/target-caddy.mk +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################################# -############################################################################################# -## -## SERVER CADDY -## -############################################################################################# -############################################################################################# - -CADDY_VENDOR_PATH ?= $(VENDOR_PATH)caddy/ -CADDY_BIN ?= $(CADDY_VENDOR_PATH)caddy -CADDY_CONFIG ?= $(CADDY_VENDOR_PATH)caddy.conf -CADDY_PIDFILE ?= $(shell mktemp -d)/caddy.pid - -$(CADDY_BIN): - $(QUIET) $(MKDIR) -p $(CADDY_VENDOR_PATH) - $(QUIET) $(WGET) -O $(CADDY_BIN) "https://caddyserver.com/api/download?os=linux&arch=amd64&idempotency=75143981108035" - $(QUIET) $(CHMOD) u+x $(CADDY_BIN) - -.PHONY: run-caddy -## run caddy webserver -run-caddy: $(CADDY_BIN) - $(QUIET) $(CADDY_BIN) run -config $(CADDY_CONFIG) -pidfile $(CADDY_PIDFILE) -watch - diff --git a/makefiles/target-conan.mk b/makefiles/target-conan.mk deleted file mode 100644 index 4a9a06f..0000000 --- a/makefiles/target-conan.mk +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################################# -############################################################################################# -## -## SERVER CONAN -## -############################################################################################# -############################################################################################# - -ifeq ($(CONAN_BIN),) - $(error $(ERRORMARKER) Conan is not defined, check your Makefile if conan.mk is included) -endif - - -$(CONAN_BIN): - $(QUIET) $(MKDIR) -p $(VENDOR_PATH) - $(QUIET) $(WGET) -O $(CONAN_BIN) http://download.schukai.com/tools/conan/conan-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`) - $(QUIET) $(CHMOD) u+x $(CONAN_BIN) - -.PHONY: run-conan -## run conan webserver -run-conan: $(CONAN_BIN) $(CONAN_CONFIG) - $(QUIET) $(CONAN_BIN) server serve --config $(CONAN_CONFIG) diff --git a/makefiles/target-deploy-tool.mk b/makefiles/target-deploy-tool.mk deleted file mode 100644 index 4e69db8..0000000 --- a/makefiles/target-deploy-tool.mk +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################################# -############################################################################################# -## -## DEPLOY TOOLS -## -############################################################################################# -############################################################################################# - - -UPLOAD_TOOL_URL ?= s3://download.schukai.com/tools/$(COMPONENT_SLUG)/ - -.PHONY: deploy -## compile and deploy to S3 -deploy: compile - $(QUIET) AWS_PROFILE=$(AWS_PROFILE) find $(BUILD_PATH) -iname $(COMPONENT_SLUG)-* -exec $(AWS) s3 cp {} $(UPLOAD_TOOL_URL) \; - -.PHONY: overview-to-s3 -## overview-to-s3 -overview-to-s3: - $(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.html $(UPLOAD_TOOL_URL) - $(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.css $(UPLOAD_TOOL_URL) - $(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.js $(UPLOAD_TOOL_URL) \ No newline at end of file diff --git a/makefiles/target-docman.mk b/makefiles/target-docman.mk deleted file mode 100644 index 0503740..0000000 --- a/makefiles/target-docman.mk +++ /dev/null @@ -1,38 +0,0 @@ - -############################################################################################# -############################################################################################# -## -## DOCMAN-TARGETS -## -############################################################################################# -############################################################################################# - -ifeq ($(DOCMAN_BIN),) - $(error "$(DOCMAN_BIN) is not installed. Please check your makefile and include the docman.mk") -endif - -$(DOCMAN_BIN): - $(QUIET) $(MKDIR) -p $(VENDOR_PATH) - $(QUIET) $(WGET) -O $(DOCMAN_BIN) http://download.schukai.com/tools/docman/docman-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`) - $(QUIET) $(CHMOD) u+x $(DOCMAN_BIN) - -$(PROJECT_ROOT)deployment/build/manual.html: $(DOCMAN_BIN) - $(DOCMAN_BIN) document html --config $(PROJECT_ROOT)documentation/config.yaml - -$(PROJECT_ROOT)deployment/build/manual.pdf: $(DOCMAN_BIN) - $(DOCMAN_BIN) document pdf --config $(PROJECT_ROOT)documentation/config.yaml - -.PHONY: build-doc-pdf -## creating the documentation in pdf format -build-doc-pdf: $(PROJECT_ROOT)deployment/build/manual.pdf - -.PHONY: build-doc-html -## creating the documentation in html format -build-doc-html: $(PROJECT_ROOT)deployment/build/manual.html - - -.PHONY: build-doc -## creating the documentation in pdf and html format -build-doc: build-doc-pdf build-doc-html - - diff --git a/makefiles/target-git.mk b/makefiles/target-git.mk deleted file mode 100644 index d4ac20d..0000000 --- a/makefiles/target-git.mk +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################################# -############################################################################################# -## -## GIT-TARGETS -## -############################################################################################# -############################################################################################# - -ifeq ($(GIT),) - $(error $(ERRORMARKER) Git is not defined, check your Makefile if git.mk is included) -endif - -## Current Branch-GIT_TAG -GIT_TAG := - - -## Git Commit GIT_MESSAGE for git-push -GIT_MESSAGE := current status - -.PHONY: git-branch -## create new branch (use GIT_TAG-Variable) -git-branch: - $(QUIET) export BRANCH="b$(GIT_TAG)/$(shell uuidgen --random)" ; \ - $(QUIET) $(GIT) checkout -b $${BRANCH} && \ - RESULT=$$($(GIT) push origin $$BRANCH 2>&1) && \ - RESULT2=$$($(GIT) branch --set-upstream-to=origin/$$BRANCH $$BRANCH) && \ - GITLABURL=$$(echo "$$RESULT" | tr '\n' '\#' | grep -o 'remote\:\s*https:\/\/gitlab\.schukai\.com[^ ]*' | cut -d " " -f2-9 | sed -e 's/^[ \t]*//') && \ - if $(OPENBROWSER) ; then google-chrome --profile-directory="Default" $$GITLABURL ; fi - -.PHONY: git-to-master -## git checkout master, fetch and merge -git-to-master: - $(QUIET) $(GIT) checkout master && $(GIT) fetch -pP && $(GIT) merge - -.PHONY: git-push-to-server -## git push changes to server -git-push-to-server: - $(QUIET) $(GIT) add -A - $(QUIET) $(GIT) commit -m"$(GIT_MESSAGE)" - $(QUIET) $(GIT) push - -.PHONY: git-push -## git create branch and push changes to server -git-push: git-branch git-push-to-server - -.PHONY: git-tag -## git create version tag -git-tag: - $(QUIET) $(GIT) tag -a "$(COMPONENT_VERSION)" -m "release $(COMPONENT_VERSION)" - -.PHONY: git-prune-remote -## removes your local remote tracking branches where the branch no longer exists on the remote -git-prune-remote: - $(QUIET) $(GIT) remote prune origin - -.PHONY: git-prune-local -## deletes local merged branches except the master branch -git-prune-local: - $(QUIET) $(GIT) branch --merged master | grep -v '^[ *]*master$$' | xargs git branch -d \ No newline at end of file diff --git a/makefiles/target-go-build.mk b/makefiles/target-go-build.mk deleted file mode 100644 index 23139cd..0000000 --- a/makefiles/target-go-build.mk +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################################# -############################################################################################# -## -## BUILD GO -## -############################################################################################# -############################################################################################# - -ifeq ($(GO),) - $(error $(ERRORMARKER) Go is not defined, check your Makefile if go.mk is included) -endif - -GO_RELEASE_PACKAGE_NAME ?= main - -.PHONY: compile -## Compiling for every OS and Platform -compile: next-patch-version - $(ECHOMARKER) "Compiling for every OS and Platform" - $(ECHO) "Version: $(PROJECT_VERSION)" - $(ECHO) "Build: $(PROJECT_BUILD_DATE)" - - $(QUIET) cd $(SOURCE_PATH) ; \ - GO111MODULE=on GOOS=linux GOARCH=arm $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm ; \ - GOOS=linux GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-amd64 ; \ - GOOS=linux GOARCH=arm64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm64 ; \ - GOOS=linux GOARCH=386 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-386 ; \ - GOOS=windows GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-windows ; \ - cd $(PROJECT_ROOT); diff --git a/makefiles/target-go-fetch-licenses.mk b/makefiles/target-go-fetch-licenses.mk deleted file mode 100644 index 65fe5cd..0000000 --- a/makefiles/target-go-fetch-licenses.mk +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################################# -############################################################################################# -## -## GET LICENSES -## -############################################################################################# -############################################################################################# - -ifeq ($(GO),) - $(error $(ERRORMARKER) Go is not defined, check your Makefile if go.mk is included) -endif - -GO_MOD_FILE := $(SOURCE_PATH)go.mod -GO_LICENSES_BIN := $(shell command -v go-licenses) - - -ifeq ($(GO_LICENSES_BIN),) - $(shell $(GO) install github.com/google/go-licenses@latest) - GO_LICENSES_BIN := $(shell command -v go-licenses 2> /dev/null) - EXECUTABLES = $(EXECUTABLES:-) go-licenses; -endif - -ifeq ($(shell test -e $(GO_MOD_FILE) && echo -n yes),yes) - GO_CURRENT_MODULE := $(shell cat $(GO_MOD_FILE) | head -n1 | cut -d" " -f2) -endif - -.PHONY: go-fetch-licenses -## Fetch licenses for all modules -go-fetch-licenses: -ifeq ($(GO_CURRENT_MODULE),) - $(QUIET) $(ECHOERRORMARKER) "no go.mod file found, skipping fetching licenses" -else - $(ECHOMARKER) "Fetch licenses" - $(QUIET) cd $(SOURCE_PATH); $(GO_LICENSES_BIN) save $(GO_CURRENT_MODULE) $(GO_LICENSES_IGNORE_PACKAGES) --force --save_path $(DOCUMENTATION_PATH)licenses/ ; cd - -endif - diff --git a/makefiles/target-help.mk b/makefiles/target-help.mk deleted file mode 100644 index abe1f92..0000000 --- a/makefiles/target-help.mk +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################################# -############################################################################################# -## -## HELP-TARGETS -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.DEFAULT_GOAL := help - -.PHONY: print -## Print Path -print: - $(ECHO) "THIS_MAKEFILE: $(THIS_MAKEFILE)" - $(ECHO) "THIS_MAKEFILE_PATH: $(THIS_MAKEFILE_PATH)" - $(ECHO) "PROJECT_ROOT: $(PROJECT_ROOT)" - -# Add a comment to the public targets so that it appears -# in this help Use two # characters for a help comment -.PHONY: help -help: - @printf "${COMMENT}Usage:${RESET}\n" - @printf " make [target] [arg=\"val\"...]\n\n" - @printf "${COMMENT}Available targets:${RESET}\n" - @awk '/^[a-zA-Z\-\\_0-9\.@]+:/ { \ - helpMessage = match(lastLine, /^## (.*)/); \ - if (helpMessage) { \ - helpCommand = substr($$1, 0, index($$1, ":")); \ - helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \ - printf " ${INFO}%-22s${RESET} %s\n", helpCommand, helpMessage; \ - } \ - } \ - { lastLine = $$0 }' $(MAKEFILE_LIST) - @printf "\n${COMMENT}Available arguments:${RESET}\n\n" - @awk '/^(([a-zA-Z\-\\_0-9\.@]+)\s[?:]?=)/ { \ - helpMessage = match(lastLine, /^## (.*)/); \ - if (helpMessage) { \ - helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \ - printf " ${INFO}%-22s${RESET} %s (Default: %s)\n", $$1, helpMessage, $$3; \ - } \ - } \ - { lastLine = $$0 }' $(MAKEFILE_LIST) - - - diff --git a/makefiles/target-init-go-lib.mk b/makefiles/target-init-go-lib.mk deleted file mode 100644 index 69c165e..0000000 --- a/makefiles/target-init-go-lib.mk +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-STANDARD -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: init-go-lib - -# The default directories are defined in the -# directories-standard.mk file, but all other -# targets can define directories as well. - -$(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) - -## init go lib project -init-go-lib: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE - $(ECHOMARKER) "Run init-go-lib" - $(ECHO) "Done" - -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -export LICENSE_FILE_CONTENT -$(LICENSE_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_FILE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - -export README_FILE_CONTENT -$(PROJECT_ROOT)README.md: - $(QUIET) $(ECHO) "$$README_FILE_CONTENT" >> $@ - - diff --git a/makefiles/target-init-go-utilities.mk b/makefiles/target-init-go-utilities.mk deleted file mode 100644 index 586e755..0000000 --- a/makefiles/target-init-go-utilities.mk +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-STANDARD -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: init-go-utilities - -# The default directories are defined in the -# directories-standard.mk file, but all other -# targets can define directories as well. - -$(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) - -## init go utilities project -init-go-utilities: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE - $(ECHOMARKER) "Run init-go-utilities" - $(ECHO) "Done" - -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -export LICENSE_FILE_CONTENT -$(LICENSE_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_FILE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - -export README_FILE_CONTENT -$(PROJECT_ROOT)README.md: - $(QUIET) $(ECHO) "$$README_FILE_CONTENT" >> $@ - - diff --git a/makefiles/target-init-platform-part.mk b/makefiles/target-init-platform-part.mk deleted file mode 100644 index b252d45..0000000 --- a/makefiles/target-init-platform-part.mk +++ /dev/null @@ -1,138 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-WEBCOMPONENTS -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: init-platform-part - -# The default directories are defined in the -# directories-standard.mk file, but all other -# targets can define directories as well. - -$(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) - -## init standard project -init-platform-part: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)package.json $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE - $(ECHOMARKER) "Run init-webapp" - $(ECHO) "Done" - -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -export LICENSE_FILE_CONTENT -$(LICENSE_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_FILE_CONTENT" >> $@ - - -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - -export README_FILE_CONTENT -$(PROJECT_ROOT)README.md: - $(QUIET) $(ECHO) "$$README_FILE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## BUILD PACKAGE JSON -## -############################################################################################# -############################################################################################# -define PLATFORM_PARTS_BUILD_PACKAGE_CONTENT -{ - "name": "@alvine/$(COMPONENT_SLUG)", - "version": "0.1.0", - "description": "$(COMPONENT_NAME)", - "repository": { - "type": "git", - "url": "https://gitlab.schukai.com/alvine/application/platform-apps/parts/$(COMPONENT_SLUG).git" - }, - "scripts": { - "build-and-publish": "script/build-and-publish.sh", - "semantic-release": "semantic-release", - "build": "vite --config ./vite.config.js build", - "preview": "vite --config ./vite.config.js preview", - "dev": "vite --config ./vite.config.js" - }, - "type": "module", - "author": "schukai GmbH", - "license": "see LICENSE file", - "dependencies": { - "@schukai/component-form": "^2.0.2", - "@schukai/component-notify": "^2.0.0", - "@schukai/component-state": "^2.0.1", - "@schukai/component-style": "^0.6.1", - "@schukai/monster": "^2.0.16" - }, - "devDependencies": { - "@peculiar/webcrypto": "^1.4.0", - "@semantic-release/changelog": "^6.0.1", - "@semantic-release/exec": "^6.0.3", - "@semantic-release/git": "^10.0.1", - "@semantic-release/gitlab": "^9.4.2", - "cli-real-favicon": "^0.0.8", - "@semantic-release/npm": "^9.0.1", - "autoprefixer": "^10.4.13", - "btoa": "^1.2.1", - "c8": "^7.12.0", - "chai": "^4.3.6", - "glob": "^8.0.3", - "chai-dom": "^1.11.0", - "clean-jsdoc-theme": "^4.1.6", - "create-polyfill-service-url": "^2.2.6", - "crypt": "^0.0.2", - "cssnano": "^5.1.14", - "esbuild": "^0.14.53", - "flow-bin": "^0.184.0", - "fs": "^0.0.1-security", - "graphviz": "^0.0.9", - "jsdoc": "^3.6.11", - "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example", - "jsdom": "^19.0.0", - "jsdom-global": "^3.0.2", - "mocha": "^10.0.0", - "postcss": "^8.4.19", - "postcss-color-mod-function": "^3.0.3", - "postcss-fluid": "^1.4.2", - "postcss-for": "^2.1.1", - "postcss-import": "^15.0.0", - "postcss-mixins": "^9.0.4", - "postcss-nesting": "^10.2.0", - "postcss-normalize": "^10.0.1", - "postcss-responsive-type": "^1.0.0", - "postcss-strip-units": "^2.0.1", - "process": "^0.11.10", - "semantic-release": "^19.0.5", - "sinon": "^14.0.0", - "url": "^0.11.0", - "url-exist": "3.0.0", - "util": "^0.12.4", - "vite": "^3.2.3", - "vite-plugin-banner": "^0.6.1", - "vite-plugin-mkcert": "^1.10.1", - "vite-plugin-minify": "^1.5.2" - } -} -endef - -export PLATFORM_PARTS_BUILD_PACKAGE_CONTENT -$(PROJECT_ROOT)package.json: - $(QUIET) $(ECHO) "$$PLATFORM_PARTS_BUILD_PACKAGE_CONTENT" >> $@ - -###### diff --git a/makefiles/target-init-standard.mk b/makefiles/target-init-standard.mk deleted file mode 100644 index 8679e58..0000000 --- a/makefiles/target-init-standard.mk +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-STANDARD -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: init-standard - -# The default directories are defined in the -# directories-standard.mk file, but all other -# targets can define directories as well. - -$(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) - -## init standard project -init-standard: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE - $(ECHOMARKER) "Run init-standard" - $(ECHO) "Done" - -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -export LICENSE_FILE_CONTENT -$(LICENSE_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_FILE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - -export README_FILE_CONTENT -$(PROJECT_ROOT)README.md: - $(QUIET) $(ECHO) "$$README_FILE_CONTENT" >> $@ - - diff --git a/makefiles/target-init-webcomponent.mk b/makefiles/target-init-webcomponent.mk deleted file mode 100644 index 123b3f3..0000000 --- a/makefiles/target-init-webcomponent.mk +++ /dev/null @@ -1,167 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-WEBCOMPONENTS -## -############################################################################################# -############################################################################################# - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: init-webcomponent - -# The default directories are defined in the -# directories-standard.mk file, but all other -# targets can define directories as well. - -$(PROJECT_DIRECTORIES): - $(foreach path,$(PROJECT_DIRECTORIES),\ - $(shell $(MKDIR) -p $(path))) - -## init standard project -init-webcomponent: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(DEVELOPMENT_PATH)package.json $(APPLICATION_PATH)package.json $(PROJECT_ROOT)README.md $(LICENSE_PATH)LICENSE $(APPLICATION_PATH)LICENSE - $(ECHOMARKER) "Run init-webcomponent" - $(ECHO) "Done" - -############################################################################################# -############################################################################################# -## -## LICENSE -## -############################################################################################# -############################################################################################# - -export LICENSE_FILE_CONTENT -$(LICENSE_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_FILE_CONTENT" >> $@ - -export LICENSE_AGPL_FILE_CONTENT -$(APPLICATION_PATH)LICENSE: - $(QUIET) $(ECHO) "$$LICENSE_AGPL_FILE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## README -## -############################################################################################# -############################################################################################# - -export README_FILE_CONTENT -$(PROJECT_ROOT)README.md: - $(QUIET) $(ECHO) "$$README_FILE_CONTENT" >> $@ - - -############################################################################################# -############################################################################################# -## -## PACKAGE JSON -## -############################################################################################# -############################################################################################# -define WEBCOMPONENTS_PACKAGE_CONTENT -{ - "name": "component-$(COMPONENT_SLUG)", - "version": "0.1.0", - "description": "component $(COMPONENT_NAME)", - "repository": { - "type": "git", - "url": "https://gitlab.schukai.com/oss/libraries/javascript/web-components/$(COMPONENT_SLUG).git" - }, - "keywords": [ - "web", - "dom", - "css", - "mobile-first", - "app", - "front-end", - "ui", - "form", - "templates", - "schukai", - "component", - "web-component", - "monster" - ], - "dependencies": { - "@popperjs/core": "^2.9.2", - "@schukai/monster": "^2.0.8" - }, - "main": "source/component.mjs", - "module": "source/component.mjs", - "type": "module", - "homepage": "https://monsterjs.org/", - "repository": { - "type": "git", - "url": "https://gitlab.schukai.com/oss/libraries/javascript/web-components/$(COMPONENT_SLUG).git" - }, - "author": "schukai GmbH", - "license": "AGPL 3.0" -} -endef - -export WEBCOMPONENTS_PACKAGE_CONTENT -$(APPLICATION_PATH)package.json: - $(QUIET) $(ECHO) "$$WEBCOMPONENTS_PACKAGE_CONTENT" >> $@ - -############################################################################################# -############################################################################################# -## -## BUILD PACKAGE JSON -## -############################################################################################# -############################################################################################# -define WEBCOMPONENTS_BUILD_PACKAGE_CONTENT -{ - "name": "component-$(COMPONENT_SLUG)", - "version": "0.1.0", - "description": "component $(COMPONENT_NAME)", - "repository": { - "type": "git", - "url": "https://gitlab.schukai.com/oss/libraries/javascript/web-components/$(COMPONENT_SLUG).git" - }, - "scripts": { - "test": "npx mocha --recursive test/cases/", - "web-test": "script/web-test.sh", - "publish": "script/release-and-publish.sh", - "build-doc": "script/build-doc.sh" - }, - "type": "module", - "author": "schukai GmbH", - "license": "see LICENSE file", - "dependencies": { - "@popperjs/core": "^2.11.2", - "@schukai/monster": "^2.0.8" - }, - "devDependencies": { - "@peculiar/webcrypto": "^1.4.0", - "btoa": "^1.2.1", - "c8": "^7.12.0", - "chai": "^4.3.6", - "chai-dom": "^1.11.0", - "clean-jsdoc-theme": "^4.1.6", - "create-polyfill-service-url": "^2.2.6", - "crypt": "^0.0.2", - "esbuild": "^0.14.53", - "flow-bin": "^0.184.0", - "fs": "^0.0.1-security", - "graphviz": "^0.0.9", - "jsdoc": "^3.6.11", - "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example", - "jsdoc-plantuml": "^1.0.2", - "jsdom": "^19.0.0", - "jsdom-global": "^3.0.2", - "mocha": "^10.0.0", - "node-plantuml": "^0.9.0", - "sinon": "^14.0.0", - "url": "^0.11.0", - "url-exist": "3.0.0", - "util": "^0.12.4" - } -} -endef - -export WEBCOMPONENTS_BUILD_PACKAGE_CONTENT -$(DEVELOPMENT_PATH)package.json: - $(QUIET) $(ECHO) "$$WEBCOMPONENTS_BUILD_PACKAGE_CONTENT" >> $@ - -###### diff --git a/makefiles/target-jekyll.mk b/makefiles/target-jekyll.mk deleted file mode 100644 index 8890741..0000000 --- a/makefiles/target-jekyll.mk +++ /dev/null @@ -1,39 +0,0 @@ -############################################################################################# -############################################################################################# -## -## JEKYLL-TARGETS -## -############################################################################################# -############################################################################################# - - -JEKYLL_VERSION := snapshot -JEKYLL_BIN := $(ALVINE_VENDOR_PATH)jekyll-$(JEKYLL_VERSION).phar -JEKYLL_PUBKEY := $(JEKYLL_BIN).pubkey - -$(JEKYLL_PUBKEY): - $(MKDIR) -p $(ALVINE_VENDOR_PATH) - $(WGET) -O $(JEKYLL_PUBKEY) http://download.alvine.io/phar/jekyll-$(JEKYLL_VERSION).phar.pubkey - -$(JEKYLL_BIN): $(JEKYLL_PUBKEY) - $(MKDIR) -p $(ALVINE_VENDOR_PATH) - $(WGET) -O $(JEKYLL_BIN) http://download.alvine.io/phar/jekyll-$(JEKYLL_VERSION).phar - $(CHMOD) u+x $(JEKYLL_BIN) - -.PHONY: run-jekyll -## run jekyll -run-jekyll: init $(JEKYLL_BIN) $(JEKYLL_PUBKEY) $(TEMP_PATH)jekyll.lock - $(ECHOMARKER) "Jekyll finished" - -.PHONY: run-jekyll-force -## run jekyll (-f) -run-jekyll-force: init $(JEKYLL_BIN) $(JEKYLL_PUBKEY) - $(RM) $(TEMP_PATH)jekyll.lock - $(MAKE) run-jekyll - $(ECHOMARKER) "Jekyll finished" - -$(TEMP_PATH)jekyll.lock: $(THIS_DIR).jekyll - $(ECHOMARKER) "Run Jekyll" - $(JEKYLL_BIN) fetch --force - $(JEKYLL_BIN) update - touch $(TEMP_PATH)jekyll.lock \ No newline at end of file diff --git a/makefiles/target-jsdoc-build.mk b/makefiles/target-jsdoc-build.mk deleted file mode 100644 index 3328151..0000000 --- a/makefiles/target-jsdoc-build.mk +++ /dev/null @@ -1,23 +0,0 @@ - -############################################################################################# -############################################################################################# -## -## JSDOC-TARGETS -## -############################################################################################# -############################################################################################# - -FIXBROKENPLANTUML := $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js - -.PHONY: jsdoc-build -## generate js api docs -jsdoc-build: $(DOCUMENTATION_CONFIG_PATH)jsdoc.json $(FIXBROKENPLANTUML).fixed - $(ECHOMARKER) "create api doc" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build-doc - - -$(FIXBROKENPLANTUML).fixed: - $(ECHOMARKER) "fix broken plantuml" - $(QUIET) chmod u+x $(FIXBROKENPLANTUML) - $(QUIET) $(NODE) $(FIXBROKENPLANTUML) - $(QUIET) $(TOUCH) $(FIXBROKENPLANTUML).fixed \ No newline at end of file diff --git a/makefiles/target-node-build.mk b/makefiles/target-node-build.mk deleted file mode 100644 index 98b4fed..0000000 --- a/makefiles/target-node-build.mk +++ /dev/null @@ -1,24 +0,0 @@ -############################################################################################# -############################################################################################# -## -## BUILD NODE -## -############################################################################################# -############################################################################################# - -SPONGE ?= sponge - -EXECUTABLES = $(EXECUTABLES:-) $(SPONGE); - -.PHONY: node-build -## Build Node Components -node-build: $(NODE_MODULES_MODIFIED) $(NODE_PACKAGES) - $(ECHOMARKER) "Building Node Components" - $(ECHO) "Version: $(PROJECT_VERSION)" - $(ECHO) "Source Path: $(SOURCE_PATH)" - $(QUIET) $(JQ) '.version = "$(PROJECT_VERSION)"' $(PACKAGE_JSON) | $(SPONGE) $(PACKAGE_JSON) - $(QUIET) for p in $(NODE_PACKAGES); do $(JQ) '.version = "$(PROJECT_VERSION)"' $${p} | $(SPONGE) $${p}; done - $(QUIET) $(SCRIPTS_PATH)update-version.sh - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run --if-present build - - diff --git a/makefiles/target-node-test.mk b/makefiles/target-node-test.mk deleted file mode 100644 index 0a03f40..0000000 --- a/makefiles/target-node-test.mk +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################################# -############################################################################################# -## -## BUILD NODE -## -############################################################################################# -############################################################################################# - -.PHONY: node-test -## Test JS Components -node-test: $(NODE_MODULES_MODIFIED) - $(ECHOMARKER) "Test Node Components" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run test - -.PHONY: node-web-test -## Test JS Components -node-web-test: $(NODE_MODULES_MODIFIED) - $(ECHOMARKER) "Test Node Components" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run web-test - diff --git a/makefiles/target-npm-publish.mk b/makefiles/target-npm-publish.mk deleted file mode 100644 index d7f8b39..0000000 --- a/makefiles/target-npm-publish.mk +++ /dev/null @@ -1,35 +0,0 @@ -############################################################################################# -############################################################################################# -## -## NPM -## -############################################################################################# -############################################################################################# - -.PHONY: npm-publish-major -## release major version of package -npm-publish-major: - $(ECHOMARKER) "release major version" - $(QUIET) $(MAKE) tag-major-version - $(QUIET) $(MAKE) node-build - $(QUIET) $(MAKE) node-test - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run publish - -.PHONY: npm-publish-minor -## release minor version of package -npm-publish-minor: - $(ECHOMARKER) "release minor version" - $(QUIET) $(MAKE) tag-minor-version - $(QUIET) $(MAKE) node-build - $(QUIET) $(MAKE) node-test - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run publish - -.PHONY: npm-publish-patch -## release patch version of package -npm-publish-patch: - $(ECHOMARKER) "release patch version" - $(QUIET) $(MAKE) tag-patch-version - $(QUIET) $(MAKE) node-build - $(QUIET) $(MAKE) node-test - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run publish - diff --git a/makefiles/target-npm.mk b/makefiles/target-npm.mk deleted file mode 100644 index ebd4405..0000000 --- a/makefiles/target-npm.mk +++ /dev/null @@ -1,29 +0,0 @@ -############################################################################################# -############################################################################################# -## -## RUN NPM BUILD, TEST AND DEV TASKS -## -############################################################################################# -############################################################################################# - -.PHONY: npm-dev -## run npm dev server -npm-dev: - $(ECHOMARKER) "start npm dev server" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run dev - -.PHONY: npm-build -## build npm project -npm-build: - $(ECHOMARKER) "build npm project" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build - -.PHONY: npm-preview -## preview npm project -npm-preview: - $(ECHOMARKER) "preview npm project" - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build - $(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run preview - - - diff --git a/makefiles/target-phpunit.mk b/makefiles/target-phpunit.mk deleted file mode 100644 index 0d27705..0000000 --- a/makefiles/target-phpunit.mk +++ /dev/null @@ -1,67 +0,0 @@ -############################################################################################# -############################################################################################# -## -## PHPUNIT -## -############################################################################################# -############################################################################################# - -# path and binaries -PARALLEL ?= parallel - -EXECUTABLES = $(EXECUTABLES:-) $(PARALLEL); - -PHPUNIT_PATH := $(VENDOR_PATH)phpunit/ -PHPUNIT_BIN := $(PHPUNIT_PATH)phpunit -PHPUNIT_SCRIPT_PATH := $(BUILD_PATH)/script - - -ifeq ($(shell command -v $(PARALLEL) 2> /dev/null),) - $(error "parallel is not installed. Please install parallel") -endif - -ifneq ($(shell test -d $(PHPUNIT_SCRIPT_PATH) && echo -n yes),yes) - $(shell mkdir -p $(PHPUNIT_SCRIPT_PATH)) -endif - -define UNITTEST_SH_SCRIPT -#!/bin/bash - -BIN=$$1 -BOOTSTRAP=$$2 -CONFIG=$$3 -TESTFILES=$$4 - -export DOCOVERAGE=true - -groups=$$($${BIN} \ - --list-groups \ - --bootstrap $${BOOTSTRAP} \ - --configuration $${CONFIG} \ - development/tests/ | sed -n -e '/^ - /p' | cut -d"-" -f2 | tr -d ' ') - -parallel \ - $${BIN} \ - --group {} \ - --configuration $${CONFIG} \ - --whitelist application/source/ \ - --bootstrap $${BOOTSTRAP} \ - $${TESTFILES} ::: $${groups} -endef - -export UNITTEST_SH_SCRIPT - -$(PHPUNIT_SCRIPT_PATH)/unittests.sh: - $(QUIET) $(ECHO) "$$UNITTEST_SH_SCRIPT" >> $@ - $(CHMOD) u+x $(PHPUNIT_SCRIPT_PATH)/unittests.sh - -$(PHPUNIT_BIN): - $(MKDIR) -p $(PHPUNIT_PATH) - $(WGET) -O $(PHPUNIT_BIN) https://phar.phpunit.de/phpunit-9.phar - $(CHMOD) u+x $(PHPUNIT_BIN) - $(CHMOD) u+x $(PHPUNIT_SCRIPT_PATH)/unittests.sh - -.PHONY: run-phpunit-tests -## run PHPUNIT Tests -run-phpunit-tests: $(PHPUNIT_SCRIPT_PATH)/unittests.sh $(PHPUNIT_BIN) - $(BUILD_SCRIPTS_PATH)unittests.sh "$(PHPUNIT_BIN)" "$(TEST_PATH)script/bootstrap.inc.php" "$(TEST_PATH)config/phpunit.xml" "$(TEST_PATH)" diff --git a/makefiles/target-reqman.mk b/makefiles/target-reqman.mk deleted file mode 100644 index 37db2ec..0000000 --- a/makefiles/target-reqman.mk +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################################# -############################################################################################# -## -## REQMAN-TARGETS -## -############################################################################################# -############################################################################################# - - -# @TODO not working, check if this is a bug in this definition!!! - -ifeq ($(REQMAN_BIN),) - $(error "$(REQMAN_BIN) is not installed. Please check your makefile and include the reqman.mk") -endif - -$(REQMAN_BIN): - $(QUIET) $(MKDIR) -p $(VENDOR_PATH) - $(QUIET) $(WGET) -O $(REQMAN_BIN) http://download.schukai.com/tools/reqman/reqman-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`) - $(QUIET) $(CHMOD) u+x $(REQMAN_BIN) - -$(PROJECT_ROOT)deployment/build/manual.html: $(DOCMAN_BIN) - $(REQMAN_BIN) print html --config $(PROJECT_ROOT)requirement/config.yaml - -$(PROJECT_ROOT)deployment/build/manual.pdf: $(DOCMAN_BIN) - $(REQMAN_BIN) print pdf --config $(PROJECT_ROOT)requirement/config.yaml - -.PHONY: build-req-pdf -## creating the requirement in pdf format -build-req-pdf: $(PROJECT_ROOT)deployment/build/requirement.pdf - -.PHONY: build-req-html -## creating the requirement in html format -build-req-html: $(PROJECT_ROOT)deployment/build/requirement.html - - -.PHONY: build-req -## creating the requirement in pdf and html format -build-req: build-req-pdf build-req-html - - diff --git a/makefiles/target-update-makefiles.mk b/makefiles/target-update-makefiles.mk deleted file mode 100644 index 284df84..0000000 --- a/makefiles/target-update-makefiles.mk +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################################# -############################################################################################# -## -## INIT-TARGETS -## -############################################################################################# -############################################################################################# - -ifeq ($(GIT),) - $(error $(ERRORMARKER) Git is not defined, check your Makefile if git.mk is included) -endif - -# @see .PHONY https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets -.PHONY: update-makefiles - -ifeq ($(QUIET),) - _COPYVERBOSE = -v -endif - -## update standard makefiles -update-makefiles: - $(ECHOMARKER) "update standard makefiles" - $(QUIET) $(eval TEMPD := $(shell mktemp -d)) - $(QUIET) $(GIT) clone --quiet --depth=1 https://gitlab.schukai.com/schukai/utilities/makefile.git/ "$(TEMPD)" - $(QUIET) $(CP) -r $(_COPYVERBOSE) $(TEMPD)/makefiles/* $(MAKEFILE_IMPORT_PATH) - $(QUIET) $(CP) -r $(_COPYVERBOSE) $(TEMPD)/Makefile $(PROJECT_ROOT)Makefile.example - $(QUIET) $(RM) -rf $(TEMPD) - - - - - diff --git a/makefiles/target-variable.mk b/makefiles/target-variable.mk deleted file mode 100644 index 3ad8267..0000000 --- a/makefiles/target-variable.mk +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################################# -############################################################################################# -## -## VARIABLES-TARGETS -## -############################################################################################# -############################################################################################# - -.PHONY: variables -## Print all variables -variables: - $(ECHOMARKER) "print all variables" - $(QUIET) $(foreach v, $(.VARIABLES), $(if $(filter file,$(origin $(v))), $(info $(INFO)$(v)$(RESET)=$($(v))$(RESET)))) \ No newline at end of file diff --git a/makefiles/target-version.mk b/makefiles/target-version.mk deleted file mode 100644 index 71c274d..0000000 --- a/makefiles/target-version.mk +++ /dev/null @@ -1,71 +0,0 @@ -############################################################################################# -############################################################################################# -## -## VARIABLES-TARGETS -## -############################################################################################# -############################################################################################# - -ifeq ($(VERSION_BIN),) - $(error "$(VERSION_BIN) is not installed. Please check your makefile and include the version.mk") -endif - -ifeq ($(GIT),) - $(error $(ERRORMARKER) Git is not defined, check your Makefile if git.mk is included) -endif - -ifeq ($(GIT_CHGLOG_BIN),) - $(error $(ERRORMARKER) Chglog is not defined, check your Makefile if changelog.mk is included) -endif - -$(VERSION_BIN): - $(QUIET) $(MKDIR) -p $(VENDOR_PATH) - $(QUIET) $(WGET) -O $(VERSION_BIN) http://download.schukai.com/tools/version/version-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`) - $(QUIET) $(CHMOD) u+x $(VERSION_BIN) - - -.PHONY: next-patch-version -next-patch-version: check-clean-repo $(VERSION_BIN) - $(ECHOMARKER) "Creating next version" - $(QUIET) $(VERSION_BIN) patch --path $(RELEASE_FILE) --selector "version" - $(QUIET) $(GIT) add $(RELEASE_FILE) && $(GIT) commit -m "Bump version to $$(cat $(RELEASE_FILE) | jq -r .version)" - -.PHONY: next-minor-version -next-minor-version: check-clean-repo $(VERSION_BIN) - $(ECHOMARKER) "Creating next minor version" - $(QUIET) $(VERSION_BIN) minor --path $(RELEASE_FILE) --selector "version" - $(QUIET) $(GIT) add $(RELEASE_FILE) && $(GIT) commit -m "Bump version to $$( cat $(RELEASE_FILE) | jq -r .version)" - -.PHONY: next-major-version -next-major-version: check-clean-repo $(VERSION_BIN) - $(ECHOMARKER) "Creating next minor version" - $(QUIET) $(VERSION_BIN) major --path $(RELEASE_FILE) --selector "version" - $(QUIET) $(GIT) add $(RELEASE_FILE) && $(GIT) commit -m "Bump version to $$(cat $(RELEASE_FILE) | jq -r .version)" - -.PHONY: check-clean-repo -check-clean-repo: - $(QUIET) $(GIT) diff-index --quiet HEAD || (echo "There are uncommitted changes after running make. Please commit or stash them before running make."; exit 1) - -## tag repository with next patch version -tag-patch-version: $(GIT_CHGLOG_CONFIG_DIR)/config.yml $(GIT_CHGLOG_CONFIG_DIR)/CHANGELOG.tpl.md next-patch-version - $(ECHOMARKER) "Tagging patch version" - $(eval PROJECT_VERSION := $(shell cat $(RELEASE_FILE) | jq -r .version)) - $(GIT_CHGLOG_BIN) --next-tag v$(PROJECT_VERSION) -o $(CHANGELOG_FILE) - $(QUIET) $(GIT) add $(CHANGELOG_FILE) && $(GIT) commit -m "Update changelog" - $(QUIET) $(GIT) tag -a v$(PROJECT_VERSION) -m "Version $(PROJECT_VERSION)" - -## tag repository with next minor version -tag-minor-version: $(GIT_CHGLOG_CONFIG_DIR)/config.yml $(GIT_CHGLOG_CONFIG_DIR)/CHANGELOG.tpl.md next-minor-version - $(ECHOMARKER) "Tagging minor version" - $(eval PROJECT_VERSION := $(shell cat $(RELEASE_FILE) | jq -r .version)) - $(GIT_CHGLOG_BIN) --next-tag v$(PROJECT_VERSION) -o $(CHANGELOG_FILE) - $(QUIET) $(GIT) add $(CHANGELOG_FILE) && $(GIT) commit -m "Update changelog" - $(QUIET) $(GIT) tag -a v$(PROJECT_VERSION) -m "Version $(PROJECT_VERSION)" - -## tag repository with next major version -tag-major-version: $(GIT_CHGLOG_CONFIG_DIR)/config.yml $(GIT_CHGLOG_CONFIG_DIR)/CHANGELOG.tpl.md next-major-version - $(ECHOMARKER) "Tagging major version" - $(eval PROJECT_VERSION := $(shell cat $(RELEASE_FILE) | jq -r .version)) - $(GIT_CHGLOG_BIN) --next-tag v$(PROJECT_VERSION) -o $(CHANGELOG_FILE) - $(QUIET) $(GIT) add $(CHANGELOG_FILE) && $(GIT) commit -m "Update changelog" - $(QUIET) $(GIT) tag -a v$(PROJECT_VERSION) -m "Version $(PROJECT_VERSION)" diff --git a/makefiles/terminal-check.mk b/makefiles/terminal-check.mk deleted file mode 100644 index 5db23c8..0000000 --- a/makefiles/terminal-check.mk +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################################# -############################################################################################# -## -## TERMINAL CHECK -## -############################################################################################# -############################################################################################# - - - -# Executable Programs the Installed be have to -K := $(foreach exec,$(EXECUTABLES),\ - $(if $(shell which $(exec)),some string,$(error "Missing $(exec) in PATH; please install"))) \ No newline at end of file diff --git a/makefiles/terminal.mk b/makefiles/terminal.mk deleted file mode 100644 index 905b88a..0000000 --- a/makefiles/terminal.mk +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################################# -############################################################################################# -## -## COMMANDS -## -############################################################################################# -############################################################################################# - -# Use bash instead of sh -## Sets the shell used -SHELL = bash - -# path and binaries -AWK ?= awk -CP ?= cp -CD ?= cd -KILL ?= kill -MV ?= mv -RM ?= rm -MKDIR ?= mkdir -SED ?= sed -FIND ?= find -SORT ?= sort -TOUCH ?= touch -WGET ?= wget -CHMOD ?= chmod -RSYNC ?= rsync -XARGS ?= xargs -GREP ?= grep -MAKE ?= make -LN ?= ln -TOUCH ?= touch -TEST ?= test -JQ ?= jq - - -EXECUTABLES = $(EXECUTABLES:-) $(JQ) $(AWK) $(CP) $(KILL) $(MV) $(SED) $(FIND) $(SORT) $(TOUCH) $(WGET) $(CHMOD) $(RSYNC) $(XARGS) $(GREP) $(MAKE) $(LN) - - - \ No newline at end of file diff --git a/makefiles/version.mk b/makefiles/version.mk deleted file mode 100644 index 0f643ee..0000000 --- a/makefiles/version.mk +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################################# -############################################################################################# -## -## VERSIONS -## -############################################################################################# -############################################################################################# - -VERSION_BIN ?= $(VENDOR_PATH)version -RELEASE_FILE ?= $(PROJECT_ROOT)release.json - -ifeq ("$(wildcard $(RELEASE_FILE))","") - $(shell echo '{"version":"0.1.0"}' > $(RELEASE_FILE)) -endif - -PROJECT_VERSION ?= $(shell cat $(RELEASE_FILE) | jq -r .version) -PROJECT_BUILD_DATE ?= $(shell $(VERSION_BIN) date) diff --git a/release.json b/release.json deleted file mode 100644 index 5fb9597..0000000 --- a/release.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"0.2.0"} -- GitLab