From fafb427928c37840724b2ffc4c54d7c988dd7dab Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Mon, 14 Feb 2011 11:28:14 +0100 Subject: [PATCH] implement cdist-code-gen (in theory) Signed-off-by: Nico Schottelius --- bin/cdist-code-gen | 43 +++++++++++++++++++++++++++++++++++++++++++ bin/cdist-config | 1 + 2 files changed, 44 insertions(+) create mode 100755 bin/cdist-code-gen diff --git a/bin/cdist-code-gen b/bin/cdist-code-gen new file mode 100755 index 00000000..33c67b08 --- /dev/null +++ b/bin/cdist-code-gen @@ -0,0 +1,43 @@ +#!/bin/sh +# +# 2011 Nico Schottelius (nico-cdist at schottelius.org) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# +# +# Generate code from one object (object must be relative path!) +# + +. cdist-config + +[ $# -eq 2 ] || __cdist_usage "" "" + +set -ue + +export __cdist_target_host="$1"; shift +export __cdist_object="$1"; shift + +# Get type from object path +export __cdist_type=${__cdist_object%%/*} + +# Full path to where the executable should exist, if the type has one +export __cdist_gencode="${__cdist_type_dir}/$__cdist_type/$__cdist_name_gencode" + + +# Call gencode of type with __cdist_object +if [ -x "$__cdist_gencode" ]; then + "$__cdist_gencode" +fi diff --git a/bin/cdist-config b/bin/cdist-config index e2846021..9aafe1d9 100755 --- a/bin/cdist-config +++ b/bin/cdist-config @@ -30,6 +30,7 @@ : ${__cdist_name_cache:=cache} : ${__cdist_name_code:=code} : ${__cdist_name_explorer:=explorers} +: ${__cdist_name_gencode:=gencode} : ${__cdist_name_host:=hosts} : ${__cdist_name_init:=init} : ${__cdist_name_manifest:=manifests}