<commit_before>[buildout]
extensions = mr.developer
#index = http://d.pypi.python.org/simple
allow-hosts = *.python.org
prefer-final = false
show-picked-versions= true
extends =
    versions.cfg
versions = versions
parts =
     dirs
     source_env
     adhocracy
     omelette
     sphinx_documentation
     sphinx_build_adhocracy
     test_run_all
     test_run_unittests_with_coverage
     flake
     pylint
     remove_double_quotes_in_python_files
     show_forbbiden_imports
     check_code
     pre_commit_hook
     checkversions
     nodejs
     tslint_shortcut
     bower
     AdhocracySpec.ts
     AdhocracyIg.ts
     resources
     javascript
     rubygems
     compass
     compass.min
     stylesheets
     hologram
     styleguide
     phantomjs
     supervisor
auto-checkout = *
develop =
     .
     src/adhocracy_core
     src/adhocracy_sample
     src/adhocracy_frontend
     src/substanced
     src/rubygemsrecipe

[sources]
supervisor = git https://github.com/Supervisor/supervisor.git rev=d29860c682f3e050aeaaf8f984a9521f62fccbad
sphinx-autodoc-annotation = git https://github.com/hsoft/sphinx-autodoc-annotation.git rev=5a5bb637dbde91ac3dde70546b6da4949851bf1c

[dirs]
recipe = z3c.recipe.mkdir
paths = var/blobs
        var/uploads_tmp
        var/mail
        var/mail/cur
        var/mail/new
        var/mail/tmp

[source_env]
recipe = collective.recipe.template
input = inline:
   #!/bin/bash
   export PATH=${buildout:bin-directory}:$PATH
output =${buildout:directory}/source_env

[adhocracy]
recipe = zc.recipe.egg
dependent-scripts = true
eggs = 
    adhocracy[test]
    adhocracy_core[debug]

frontend.static_dir = src/adhocracy_frontend/adhocracy_frontend/static

[omelette]
recipe = collective.recipe.omelette
eggs =
    ${flake:eggs}
    ${adhocracy:eggs}

[sphinx_build_adhocracy]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}/docs/
    rm -rf ${buildout:directory}/docs/doctrees
    make html
output = ${buildout:bin-directory}/sphinx_build_adhocracy
mode = 755

[sphinx_documentation]
recipe = zc.recipe.egg
dependent-scripts = true
eggs = Sphinx
       sphinx-autodoc-annotation
       sphinxcontrib-zopeext
       sphinxcontrib-napoleon
       adhocracy
       adhocracy_core
       adhocracy_sample
       adhocracy_frontend

[test_run_all]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}
    source ./source_env
    bin/py.test --capture=fd --timeout=60 src/adhocracy* tests "$@"
output = ${buildout:bin-directory}/py.test_run_all
mode = 755

[test_run_unittests_with_coverage]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}
    bin/coverage run bin/py.test -m"not functional and not jasmine" src/adhocracy* "$@"
    bin/coverage report
    bin/coverage html
output = ${buildout:bin-directory}/py.test_run_unittests_with_coverage
mode = 755

[flake]
recipe = zc.recipe.egg
eggs =
    flake8
    flake8_docstrings
    flake8-quotes
    pep8-naming

[tslint_json]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/tslint.json.in
output = ${buildout:directory}/etc/tslint.json
mode = 644

[scsslint_yml]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/scss-lint.yml.in
output = ${buildout:directory}/etc/scss-lint.yml
mode = 644

[tslint_shortcut]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    ret_code=0
    while read line; do
        ${buildout:bin-directory}/tslint -c ${tslint_json:output} -f "$line"
        ret_code=$(($ret_code + $?))
    done < <(git ls-files | grep '\.ts$' | grep -v '\.d\.ts$')
    exit $ret_code
output = ${buildout:bin-directory}/tslint_check_adhocracy
mode = 755

[pylint]
recipe = zc.recipe.egg
eggs =
    pylint
    ${adhocracy:eggs}
initialization =
    from pylint import run_pylint
    sys.argv[1:1] = [
      '--output-format=colorized',
      '--zope=y'
      ]
entry-points =
    pylint_adhoc=pylint:run_pylint
# pylint is broken, we have set a custom entry point
scripts =
    pylint=pylint_original
    pylint_adhoc=pylint

[check_code]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash

    # This script will always run all tests.
    # The return codes are collected in `ret_code`.
    ret_code=0

    ${buildout:bin-directory}/flake8 --ignore=N805,D101,D102 --exclude=bootstrap.py,conf.py,.svn,CVS,.bzr,.hg,.git,__pycache__,test_*,${adhocracy:frontend.static_dir}/lib --max-complexity=14 src/adhocracy_core/adhocracy_core src/adhocracy src/adhocracy_sample/adhocracy_sample src/adhocracy_frontend/adhocracy_frontend tests
    ret_code=$(($ret_code + $?))

    ${buildout:bin-directory}/scss-lint -c ${scsslint_yml:output} ${buildout:directory}/${adhocracy:frontend.static_dir}/stylesheets/scss/**
    ret_code=$(($ret_code + $?))

    while read line; do
        ${buildout:bin-directory}/tslint -c  ${tslint_json:output} -f "$line"
        ret_code=$(($ret_code + $?))
    done < <(git diff --staged --name-only | grep '\.ts$' | grep -v '\.d\.ts$')

    exit $ret_code
output = ${buildout:bin-directory}/check_code
mode = 755

[remove_double_quotes_in_python_files]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/\"\"\"/3QUOTEMARKER/g"
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/\"/\'/g"
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/3QUOTEMARKER/\"\"\"/g"
output = ${buildout:bin-directory}/remove_double_quotes_in_python_files
mode = 755

[show_forbbiden_imports]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    BASE_PACKAGES='\.interfaces|\.events|\.utils|\.graph|\.schema'
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/rest  | grep -v "\.rest" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/registry  | grep -v "\.registry" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/sheets  | grep -v "\.sheets" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/resources  | grep -v "\.resources" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/subscriber  | grep -v "\.subcriber" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/evolution  | grep -v "\.evolution" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/folder  | grep -v "\.folder" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/graph  | grep -v "\.graph" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/schema  | grep -v "\.schema" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/utils  | grep -v "\.utils" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/events  | grep -v "\.utils" | egrep -v -i $BASE_PACKAGES
output = ${buildout:bin-directory}/show_forbbiden_imports
mode = 755

[pre_commit_hook]
recipe = collective.recipe.template
input = ${buildout:directory}/buildout/git-hooks/pre-commit
output = ${buildout:directory}/.git/hooks/pre-commit
mode = 755

# check for new python packages with something like
# bin/checkversions -v -l 0 versions.cfg | grep was
[checkversions]
recipe = zc.recipe.egg
eggs = z3c.checkversions [buildout]

[nodejs]
recipe = gp.recipe.node
version = 0.10.28
npms = typescript@1.0.1 tslint@0.4.12 bower@1.3.8 jasmine-node@2.0.0 q@1.0.1 lodash@2.4.1 node-fs@0.1.7 underscore.string@2.3.3
# a list of extra directory to add to NODE_PATH
#node-path =
scripts = node tsc tslint bower jasmine-node

[bower]
recipe = bowerrecipe
packages =
    jquery#1.11.1
    angular#1.2.21
    angular-route#1.2.21
    angular-animate#1.2.21
    angular-translate#2.4.0
    angular-translate-loader-static-files#2.4.0
    angular-elastic#2.4.0
    lodash#2.4.1
    requirejs#2.1.14
    requirejs-text#2.0.12
    DefinitelyTyped#9d2478b8a80febe1d89a5d35cdf6051d121f5437
    jasmine#2.0.1
    blanket#1.1.5
    q#1.0.1
    moment#2.8.2
executable = ${buildout:bin-directory}/bower
base-directory = ${adhocracy:frontend.static_dir}/lib
downloads = .

[AdhocracySpec.ts]
recipe = plone.recipe.command
command = make -C ${adhocracy:frontend.static_dir}/js/ AdhocracySpec.ts
update-command = ${:command}

[AdhocracyIg.ts]
recipe = plone.recipe.command
command = make -C ${adhocracy:frontend.static_dir}/js/ AdhocracyIg.ts
update-command = ${:command}

[resources]
recipe = plone.recipe.command
command =
    cd ${adhocracy:frontend.static_dir}/js/  # must be in this relative path
    git ls-files --other ./Resources_ | xargs rm -f
    ${buildout:bin-directory}/prequest ${buildout:directory}/etc/noserver.ini /meta_api > ${buildout:directory}/etc/meta_api.json
    ${buildout:bin-directory}/tsc --module commonjs --sourcemap ./mkResources.ts
    ${buildout:bin-directory}/node ./mkResources.js ${buildout:directory}/etc/meta_api.json .
update-command = ${resources:command}

[javascript]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/tsc -m amd -d --sourcemap ${adhocracy:frontend.static_dir}/js/Adhocracy*.ts
update-command = ${javascript:command}

[rubygems]
recipe = rubygemsrecipe
gems =
    sass==3.4.1
    compass==1.0.1
    hologram==1.2.0
    scss-lint==0.27.0
    susy==2.1.3

[compass]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/compass.rb.in
output = ${buildout:directory}/etc/compass.rb

[compass.min]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/compass.min.rb.in
output = ${buildout:directory}/etc/compass.min.rb

[stylesheets]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/compass compile --force -c ${buildout:directory}/etc/compass.rb
    ${buildout:bin-directory}/compass compile --force -c ${buildout:directory}/etc/compass.min.rb
update-command = ${stylesheets:command}

[hologram]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/hologram.yml.in
output = ${buildout:directory}/etc/hologram.yml
mode = 644

[styleguide]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/hologram ${hologram:output}
update-command = ${styleguide:command}

[phantomjs]
recipe = gp.recipe.phantomjs

[supervisor]
recipe = collective.recipe.supervisor
port = 127.0.0.1:8005
environment =
programs =
    10 zeo (stdout_logfile=var/log/zeo.log stderr_logfile=NONE startsecs=5 stopwaitsecs=10) ${buildout:bin-directory}/runzeo [-C etc/zeo.conf] ${buildout:directory} true
    20 autobahn (stdout_logfile=var/log/autobahn.log stderr_logfile=NONE) ${buildout:bin-directory}/start_ws_server [etc/development.ini] ${buildout:directory} true
    30 adhocracy (stdout_logfile=var/log/adhocracy.log stderr_logfile=NONE startsecs=5 stopwaitsecs=10) ${buildout:bin-directory}/gunicorn [--paste etc/development.ini] ${buildout:directory} true
    40 adhocracy_frontend (stdout_logfile=var/log/adhocracy_frontend.log stderr_logfile=NONE) ${buildout:bin-directory}/gunicorn [--paste etc/frontend_development.ini] ${buildout:directory} true
<commit_msg>Add --add-forwarded-ips to gunicorn start<commit_after>[buildout]
extensions = mr.developer
#index = http://d.pypi.python.org/simple
allow-hosts = *.python.org
prefer-final = false
show-picked-versions= true
extends =
    versions.cfg
versions = versions
parts =
     dirs
     source_env
     adhocracy
     omelette
     sphinx_documentation
     sphinx_build_adhocracy
     test_run_all
     test_run_unittests_with_coverage
     flake
     pylint
     remove_double_quotes_in_python_files
     show_forbbiden_imports
     check_code
     pre_commit_hook
     checkversions
     nodejs
     tslint_shortcut
     bower
     AdhocracySpec.ts
     AdhocracyIg.ts
     resources
     javascript
     rubygems
     compass
     compass.min
     stylesheets
     hologram
     styleguide
     phantomjs
     supervisor
auto-checkout = *
develop =
     .
     src/adhocracy_core
     src/adhocracy_sample
     src/adhocracy_frontend
     src/substanced
     src/rubygemsrecipe

[sources]
supervisor = git https://github.com/Supervisor/supervisor.git rev=d29860c682f3e050aeaaf8f984a9521f62fccbad
sphinx-autodoc-annotation = git https://github.com/hsoft/sphinx-autodoc-annotation.git rev=5a5bb637dbde91ac3dde70546b6da4949851bf1c

[servers]
proxy_ip = 127.0.0.1

[dirs]
recipe = z3c.recipe.mkdir
paths = var/blobs
        var/uploads_tmp
        var/mail
        var/mail/cur
        var/mail/new
        var/mail/tmp

[source_env]
recipe = collective.recipe.template
input = inline:
   #!/bin/bash
   export PATH=${buildout:bin-directory}:$PATH
output =${buildout:directory}/source_env

[adhocracy]
recipe = zc.recipe.egg
dependent-scripts = true
eggs = 
    adhocracy[test]
    adhocracy_core[debug]

frontend.static_dir = src/adhocracy_frontend/adhocracy_frontend/static

[omelette]
recipe = collective.recipe.omelette
eggs =
    ${flake:eggs}
    ${adhocracy:eggs}

[sphinx_build_adhocracy]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}/docs/
    rm -rf ${buildout:directory}/docs/doctrees
    make html
output = ${buildout:bin-directory}/sphinx_build_adhocracy
mode = 755

[sphinx_documentation]
recipe = zc.recipe.egg
dependent-scripts = true
eggs = Sphinx
       sphinx-autodoc-annotation
       sphinxcontrib-zopeext
       sphinxcontrib-napoleon
       adhocracy
       adhocracy_core
       adhocracy_sample
       adhocracy_frontend

[test_run_all]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}
    source ./source_env
    bin/py.test --capture=fd --timeout=60 src/adhocracy* tests "$@"
output = ${buildout:bin-directory}/py.test_run_all
mode = 755

[test_run_unittests_with_coverage]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    cd ${buildout:directory}
    bin/coverage run bin/py.test -m"not functional and not jasmine" src/adhocracy* "$@"
    bin/coverage report
    bin/coverage html
output = ${buildout:bin-directory}/py.test_run_unittests_with_coverage
mode = 755

[flake]
recipe = zc.recipe.egg
eggs =
    flake8
    flake8_docstrings
    flake8-quotes
    pep8-naming

[tslint_json]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/tslint.json.in
output = ${buildout:directory}/etc/tslint.json
mode = 644

[scsslint_yml]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/scss-lint.yml.in
output = ${buildout:directory}/etc/scss-lint.yml
mode = 644

[tslint_shortcut]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    ret_code=0
    while read line; do
        ${buildout:bin-directory}/tslint -c ${tslint_json:output} -f "$line"
        ret_code=$(($ret_code + $?))
    done < <(git ls-files | grep '\.ts$' | grep -v '\.d\.ts$')
    exit $ret_code
output = ${buildout:bin-directory}/tslint_check_adhocracy
mode = 755

[pylint]
recipe = zc.recipe.egg
eggs =
    pylint
    ${adhocracy:eggs}
initialization =
    from pylint import run_pylint
    sys.argv[1:1] = [
      '--output-format=colorized',
      '--zope=y'
      ]
entry-points =
    pylint_adhoc=pylint:run_pylint
# pylint is broken, we have set a custom entry point
scripts =
    pylint=pylint_original
    pylint_adhoc=pylint

[check_code]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash

    # This script will always run all tests.
    # The return codes are collected in `ret_code`.
    ret_code=0

    ${buildout:bin-directory}/flake8 --ignore=N805,D101,D102 --exclude=bootstrap.py,conf.py,.svn,CVS,.bzr,.hg,.git,__pycache__,test_*,${adhocracy:frontend.static_dir}/lib --max-complexity=14 src/adhocracy_core/adhocracy_core src/adhocracy src/adhocracy_sample/adhocracy_sample src/adhocracy_frontend/adhocracy_frontend tests
    ret_code=$(($ret_code + $?))

    ${buildout:bin-directory}/scss-lint -c ${scsslint_yml:output} ${buildout:directory}/${adhocracy:frontend.static_dir}/stylesheets/scss/**
    ret_code=$(($ret_code + $?))

    while read line; do
        ${buildout:bin-directory}/tslint -c  ${tslint_json:output} -f "$line"
        ret_code=$(($ret_code + $?))
    done < <(git diff --staged --name-only | grep '\.ts$' | grep -v '\.d\.ts$')

    exit $ret_code
output = ${buildout:bin-directory}/check_code
mode = 755

[remove_double_quotes_in_python_files]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/\"\"\"/3QUOTEMARKER/g"
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/\"/\'/g"
    find $1 -name "*.py" | grep -v "bootstrap.py\|conf.py" | xargs sed -i "s/3QUOTEMARKER/\"\"\"/g"
output = ${buildout:bin-directory}/remove_double_quotes_in_python_files
mode = 755

[show_forbbiden_imports]
recipe = collective.recipe.template
input = inline:
    #!/bin/bash
    BASE_PACKAGES='\.interfaces|\.events|\.utils|\.graph|\.schema'
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/rest  | grep -v "\.rest" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/registry  | grep -v "\.registry" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/sheets  | grep -v "\.sheets" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/resources  | grep -v "\.resources" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/subscriber  | grep -v "\.subcriber" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/evolution  | grep -v "\.evolution" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/folder  | grep -v "\.folder" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/graph  | grep -v "\.graph" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/schema  | grep -v "\.schema" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/utils  | grep -v "\.utils" | egrep -v -i $BASE_PACKAGES
    grep -r "from adhocracy_core" src/adhocracy_core/adhocracy_core/events  | grep -v "\.utils" | egrep -v -i $BASE_PACKAGES
output = ${buildout:bin-directory}/show_forbbiden_imports
mode = 755

[pre_commit_hook]
recipe = collective.recipe.template
input = ${buildout:directory}/buildout/git-hooks/pre-commit
output = ${buildout:directory}/.git/hooks/pre-commit
mode = 755

# check for new python packages with something like
# bin/checkversions -v -l 0 versions.cfg | grep was
[checkversions]
recipe = zc.recipe.egg
eggs = z3c.checkversions [buildout]

[nodejs]
recipe = gp.recipe.node
version = 0.10.28
npms = typescript@1.0.1 tslint@0.4.12 bower@1.3.8 jasmine-node@2.0.0 q@1.0.1 lodash@2.4.1 node-fs@0.1.7 underscore.string@2.3.3
# a list of extra directory to add to NODE_PATH
#node-path =
scripts = node tsc tslint bower jasmine-node

[bower]
recipe = bowerrecipe
packages =
    jquery#1.11.1
    angular#1.2.21
    angular-route#1.2.21
    angular-animate#1.2.21
    angular-translate#2.4.0
    angular-translate-loader-static-files#2.4.0
    angular-elastic#2.4.0
    lodash#2.4.1
    requirejs#2.1.14
    requirejs-text#2.0.12
    DefinitelyTyped#9d2478b8a80febe1d89a5d35cdf6051d121f5437
    jasmine#2.0.1
    blanket#1.1.5
    q#1.0.1
    moment#2.8.2
executable = ${buildout:bin-directory}/bower
base-directory = ${adhocracy:frontend.static_dir}/lib
downloads = .

[AdhocracySpec.ts]
recipe = plone.recipe.command
command = make -C ${adhocracy:frontend.static_dir}/js/ AdhocracySpec.ts
update-command = ${:command}

[AdhocracyIg.ts]
recipe = plone.recipe.command
command = make -C ${adhocracy:frontend.static_dir}/js/ AdhocracyIg.ts
update-command = ${:command}

[resources]
recipe = plone.recipe.command
command =
    cd ${adhocracy:frontend.static_dir}/js/  # must be in this relative path
    git ls-files --other ./Resources_ | xargs rm -f
    ${buildout:bin-directory}/prequest ${buildout:directory}/etc/noserver.ini /meta_api > ${buildout:directory}/etc/meta_api.json
    ${buildout:bin-directory}/tsc --module commonjs --sourcemap ./mkResources.ts
    ${buildout:bin-directory}/node ./mkResources.js ${buildout:directory}/etc/meta_api.json .
update-command = ${resources:command}

[javascript]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/tsc -m amd -d --sourcemap ${adhocracy:frontend.static_dir}/js/Adhocracy*.ts
update-command = ${javascript:command}

[rubygems]
recipe = rubygemsrecipe
gems =
    sass==3.4.1
    compass==1.0.1
    hologram==1.2.0
    scss-lint==0.27.0
    susy==2.1.3

[compass]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/compass.rb.in
output = ${buildout:directory}/etc/compass.rb

[compass.min]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/compass.min.rb.in
output = ${buildout:directory}/etc/compass.min.rb

[stylesheets]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/compass compile --force -c ${buildout:directory}/etc/compass.rb
    ${buildout:bin-directory}/compass compile --force -c ${buildout:directory}/etc/compass.min.rb
update-command = ${stylesheets:command}

[hologram]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/hologram.yml.in
output = ${buildout:directory}/etc/hologram.yml
mode = 644

[styleguide]
recipe = plone.recipe.command
command =
    ${buildout:bin-directory}/hologram ${hologram:output}
update-command = ${styleguide:command}

[phantomjs]
recipe = gp.recipe.phantomjs

[supervisor]
recipe = collective.recipe.supervisor
port = 127.0.0.1:8005
environment =
programs =
    10 zeo (stdout_logfile=var/log/zeo.log stderr_logfile=NONE startsecs=5 stopwaitsecs=10) ${buildout:bin-directory}/runzeo [-C etc/zeo.conf] ${buildout:directory} true
    20 autobahn (stdout_logfile=var/log/autobahn.log stderr_logfile=NONE) ${buildout:bin-directory}/start_ws_server [etc/development.ini] ${buildout:directory} true
    30 adhocracy (stdout_logfile=var/log/adhocracy.log stderr_logfile=NONE startsecs=5 stopwaitsecs=10) ${buildout:bin-directory}/gunicorn [--paste etc/development.ini --forwarded-allow-ips="${servers:proxy_ip}"] ${buildout:directory} true
    40 adhocracy_frontend (stdout_logfile=var/log/adhocracy_frontend.log stderr_logfile=NONE) ${buildout:bin-directory}/gunicorn [--paste etc/frontend_development.ini] ${buildout:directory} true

{'fraction_non_alphanumeric': 0.1311453860310227, 'fraction_numerical': 0.02217158881780738, 'mean_word_length': 3.849766255843604, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 3, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6456592', 'n_tokens_mistral': 8981, 'n_tokens_neox': 8338, 'n_words': 1530}