commit 41f3514be467dece0cf1af58499d8d29747dc4f9 Author: William Petit Date: Mon Aug 21 19:08:40 2023 -0600 feat: initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d32c80 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# MkTools + +Tâches [Make]() génériques à utiliser de projet en projet. + +![](./misc/share_all.png) + +## Utilisation + +1. Dans le fichier `Makefile` de votre projet, ajouter à la fin de celui ci: + + ```makefile + build: + # Votre propre tâche + + # [...] + + # Inclure les lignes suivantes: + + mktools: + curl -q https://forge.cadoles.com/Cadoles/make-tools/raw/branch/master/install.sh | $(SHELL) + + -include .mktools/*.mk + ``` + +2. Synchroniser le répertoire des tâches + + ```shell + make mktools + ``` + +3. Vous pouvez commencer à utiliser les tâches Make partagées ! + +## Tâches disponibles + +|Tâches|Description|Documentation| +|------|-----------|-------------| +|`make mkt-webdav-upload`|Téléverser un fichier dans un répertoire WebDAV (Nextcloud)|[Voir ./doc/tasks/webdav.md](./doc/tasks/webdav.md)| \ No newline at end of file diff --git a/doc/tasks/webdav.md b/doc/tasks/webdav.md new file mode 100644 index 0000000..a0c738d --- /dev/null +++ b/doc/tasks/webdav.md @@ -0,0 +1,3 @@ +# Tâches WebDAV + +## `make _webdav-upload` \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..0ef3390 --- /dev/null +++ b/install.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +TASKS_DIR=.mktools +TASKS_FILES="webdav" + +main() { + # Create $TASKS_DIR + mkdir -p "$TASKS_DIR" + + # Download each referenced task files in $TASKS_DIR + for f in $TASKS_FILES; do + curl -o "$TASKS_DIR/$f.mk" "https://forge.cadoles.com/Cadoles/make-tools/raw/branch/master/tasks/$f.mk" + done + + # Ignore $TASKS_DIR + grep -qF -- "$TASKS_DIR/" ".gitignore" || echo "$TASKS_DIR/" >> ".gitignore" +} + +main \ No newline at end of file diff --git a/misc/share_all.png b/misc/share_all.png new file mode 100644 index 0000000..78a7e6b Binary files /dev/null and b/misc/share_all.png differ diff --git a/tasks/webdav.mk b/tasks/webdav.mk new file mode 100644 index 0000000..771e2bf --- /dev/null +++ b/tasks/webdav.mk @@ -0,0 +1,17 @@ +MKT_WEBDAV_USER ?= +MKT_WEBDAV_PASSWD ?= +MKT_WEBDAV_REMOTE_URL ?= +MKT_WEBDAV_DIR ?= +MKT_WEBDAV_FILE ?= + +mkt-webdav-upload: + curl \ + -u '$(MKT_WEBDAV_USER):$(MKT_WEBDAV_PASSWD)' \ + -X MKCOL \ + "$(MKT_WEBDAV_REMOTE_URL)/$(MKT_WEBDAV_DIR)" + curl \ + -u '$(MKT_WEBDAV_USER):$(MKT_WEBDAV_PASSWD)' \ + -T "$(PWD)/$(MKT_WEBDAV_FILE)" \ + "$(MKT_WEBDAV_REMOTE_URL)/$(MKT_WEBDAV_DIR)/$(shell basename $(MKT_WEBDAV_FILE))" + +.PHONY: mkt-webdav-upload \ No newline at end of file