diff options
| author | Silvio Rhatto <rhatto@riseup.net> | 2017-10-25 19:05:15 -0200 |
|---|---|---|
| committer | Silvio Rhatto <rhatto@riseup.net> | 2017-10-25 19:05:15 -0200 |
| commit | 36dfb88ea8d25f1364a9b767efa677828d32dfe8 (patch) | |
| tree | 38326b1e42273d2cde52aeedda4fac8ffe9ab085 /project | |
| parent | 1fea0eaa3613c904a6ac61da5e79137e73633fc5 (diff) | |
| download | scripts-36dfb88ea8d25f1364a9b767efa677828d32dfe8.tar.gz scripts-36dfb88ea8d25f1364a9b767efa677828d32dfe8.tar.bz2 | |
Rename project to templater
Diffstat (limited to 'project')
| -rwxr-xr-x | project | 238 |
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 :)" |
