aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2017-10-25 19:05:15 -0200
committerSilvio Rhatto <rhatto@riseup.net>2017-10-25 19:05:15 -0200
commit36dfb88ea8d25f1364a9b767efa677828d32dfe8 (patch)
tree38326b1e42273d2cde52aeedda4fac8ffe9ab085 /project
parent1fea0eaa3613c904a6ac61da5e79137e73633fc5 (diff)
downloadscripts-36dfb88ea8d25f1364a9b767efa677828d32dfe8.tar.gz
scripts-36dfb88ea8d25f1364a9b767efa677828d32dfe8.tar.bz2
Rename project to templater
Diffstat (limited to 'project')
-rwxr-xr-xproject238
1 files changed, 0 insertions, 238 deletions
diff --git a/project b/project
deleted file mode 100755
index 1d596c2..0000000
--- a/project
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/bash
-#
-# Setup a new code project.
-#
-
-# Parameters
-PROGRAM="$0"
-BASENAME="`basename $0`"
-PROJECT="$1"
-shift
-MODULES="$*"
-BOOTSTRAP="https://git.fluxo.info/puppet-bootstrap.git"
-TEMPLATES="https://git.fluxo.info/templates.git"
-
-# Read a parameter from user
-function __project_ask {
- local input
- local function="$1"
- local default="n"
- shift 2
-
- read -rep "Setup $function? (defaults to $default): " input
-
- if [ "$input" == "y" ]; then
- project_$function
- fi
-}
-
-# Return list of implementations
-function __project_implementations {
- # Do not sort this list: the order in which functions are present in the code is important
- grep "^function project_" $PROGRAM | cut -d ' ' -f 2 | sed -e 's/project_//'
-}
-
-# Checkout to develop branch if available
-function __project_checkout_develop {
- (
- cd $PROJECT
-
- if git branch --list develop | grep -q develop; then
- git checkout develop
- fi
- )
-}
-
-# Initialize project
-function __project_init {
- if [ ! -d "$PROJECT" ]; then
- echo "Initializing $PROJECT..."
- mkdir -p $PROJECT
- fi
-}
-
-# Git implementation
-function project_git {
- if [ ! -d "$PROJECT/.git" ]; then
- (
- cd $PROJECT
- touch .gitignore
-
- echo "$PROJECT" > README.md
- echo "=========`echo $PROJECT | sed -e 's|.|=|g'`" >> README.md
- echo "" >> README.md
- echo "This is the $PROJECT repository." >> README.md
-
- echo "TODO" > TODO.md
- echo "====" >> TODO.md
- echo "" >> TODO.md
- echo "* Nothing here? :P" >> TODO.md
-
- git init
- git add .
- git commit -m "Initial import"
-
- if which git-hooks &> /dev/null; then
- echo ""
- echo "Installing hooks..."
- git hooks --install
- fi
- )
- fi
-}
-
-# Setup git-flow implementation
-function project_gitflow {
- if ! grep -q '^\[gitflow' $PROJECT/.git/config; then
- (
- cd $PROJECT
-
- if ! git branch --list develop | grep -q develop; then
- git branch develop
-
- if [ -e "/usr/lib/git-core/git-flow" ]; then
- echo ""
- echo "Setting up git-flow..."
- git flow init -d
- fi
- fi
- )
- fi
-}
-
-# Vagrant implementation
-function project_vagrant {
- if [ ! -e "$PROJECT/Vagrantfile" ]; then
- (
- echo ""
- echo "Setting up vagrant implementation..."
- cd $PROJECT
- #__project_checkout_develop
- vagrant init
- echo '.vagrant' >> .gitignore
- git commit -a -m "Adds vagrant support"
- )
- fi
-}
-
-# KVMX implementation
-function project_kvmx {
- if [ ! -e "$PROJECT/kvmxfile" ]; then
- (
- echo ""
- echo "Setting up vagrant implementation..."
- cd $PROJECT
- kvmx init
- git commit -a -m "Adds kvmx support"
- )
- fi
-}
-
-# Puppet implementation
-function project_puppet {
- if [ ! -d "$PROJECT/puppet" ]; then
- (
- echo ""
- echo "Setting up puppet implementation..."
- cd $PROJECT
-
- # Use the best approach
- #git clone $BOOSTRAP $PROJECT/puppet
- #git submodule add $BOOSTRAP puppet
- git remote add puppet $BOOTSTRAP
- git subtree add --prefix puppet $BOOTSTRAP master --squash
- )
- fi
-}
-
-# Ikiwiki implementation
-function project_ikiwiki {
- (
- if [ ! -d "$HOME/file/templates" ]; then
- echo "Please clone $TEMPLATES into $HOME/file/templates"
- else
- echo ""
- echo "Setting up ikiwiki implementation..."
- cd $PROJECT
- #__project_checkout_develop
-
- if [ ! -e ".gitignore" ]; then
- cp $HOME/file/templates/ikiwiki/.gitignore .
- elif ! grep -q -f $HOME/file/templates/ikiwiki/.gitignore .gitignore; then
- cat $HOME/file/templates/ikiwiki/.gitignore >> .gitignore
- fi
-
- if [ ! -e "index.mdwn" ]; then
- cp $HOME/file/templates/ikiwiki/index.mdwn .
- fi
-
- if [ ! -e "ikiwiki.setup" ]; then
- cp $HOME/file/templates/ikiwiki/ikiwiki.setup .
- fi
-
- if [ ! -e "Makefile" ]; then
- cp $HOME/file/templates/ikiwiki/Makefile .
- elif ! grep -q ^wiki: Makefile; then
- grep -v '^#' $HOME/file/templates/ikiwiki/Makefile >> Makefile
- fi
-
- if [ ! -d "templates" ]; then
- cp -r $HOME/file/templates/ikiwiki/templates .
- fi
-
- if [ ! -d "bootstrap" ]; then
- cp -r $HOME/file/templates/ikiwiki/bootstrap .
- fi
-
- git add .
- git commit -a -m "Static site generation support using ikiwiki"
- fi
- )
-}
-
-# Sphinx implementation
-function project_sphinx {
- echo "TODO: sphinx"
- true
-}
-
-# Pelican implementation
-function project_pelican {
- echo "TODO: pelican"
- true
-}
-
-# Hugo implementation
-function project_hugo {
- echo "TODO: hugo"
- true
-}
-
-# Syntax check
-if [ -z "$PROJECT" ]; then
- echo "$BASENAME: create a new project folder and/or setup helper utilities"
- echo ""
- echo "usage: $BASENAME <path> [<module1> ... <moduleN>]"
- echo "available modules:"
- echo ""
- __project_implementations | xargs -L 6 | column -t -c 6 | sed -e 's/^/\t/'
- echo ""
- exit 1
-fi
-
-# Initialize
-__project_init
-
-# Setup modules
-if [ ! -z "$MODULES" ]; then
- for project in `__project_implementations`; do
- __project_ask $project
- done
-else
- for module in $MODULES; do
- project_$module
- done
-fi
-
-# Teardown
-echo "Done processing the project :)"