Skip to content

Just a simple collection of odoo scripts. mostly to ease addons development process (allows to install and manage odoo instances in virtualenv)

License

Notifications You must be signed in to change notification settings

OstapYakovenko/odoo-helper-scripts

 
 

Repository files navigation

Odoo helper scripts collection

Master pipeline status coverage report CHANGELOG
Dev pipeline status coverage report CHANGELOG

Overview

This project aims to simplify development process of Odoo addons as much as possible.

Canonical source

The canonical source of odoo-helper-scripts is hosted on GitLab.

Features

  • Easily manage few instances of odoo that ran on same machine
  • High usage of virtualenv for isolation purpose
  • Use nodeenv to install node.js, phantom.js, etc in isolated virtualenv
  • Powerful testing capabilities, including support for:
    • python and js code check via pylint_odoo (which uses ESLint to check JS files)
    • python code check via flake8
    • styles (.css, .scss, .less files) check via stylelint
    • compute test code coverage via coverage.py
    • Test web tours via phantom.js or chromium browser (Odoo 12.0+)
  • Easy addons installation
    • Automatiacly resolve and fetch dependencies
    • Own file format to track addon dependencies: odoo_requirements.txt
    • installation directly from Odoo Market (experimental)
      • Only free addons
      • Including dependencies
      • Semi-automatic upgrade when new version released
    • installation from git repositories
    • installation from Mercurial repositories (experimental)
    • installation of python dependencies from PyPI or any vcs supported by setuptools
    • automatically processing of requirements.txt files located inside repository root and addon directories.
    • shortcuts that simplifies fetching addons from OCA or github
    • works good with long recursive dependencies. One of the reasons for this script collection development was, ability to automaticaly install more that 50 addons, that depend on each other, and where each addon have it's own git repo.
  • Continious Integration related features
    • ensure addon version changed
    • ensure repository version changed
    • ensure each addon have icon
  • Translation management from command line
    • import / export translations by command from shell
    • test translation rate for specified language
    • regenerate translations for specified language
    • load language (for one db or for old databases)
  • Supported odoo versions:
    • 8.0
    • 9.0
    • 10.0
    • 11.0
    • 12.0
    • 13.0 (requires ubuntu 18.04+ or other linux distribution with python 3.6+)
  • OS support:
    • On Ubuntu should work nice
    • Also should work on Debian based systems, but some troubles may happen with installation of system dependencies.
    • Other linux systems - in most cases should work, but system dependecies must be installed manualy.
  • Missed feature? Fill an issue

Documentation

Note Documentaion in this readme, or in other sources, may not be up to date!!! So use --help option, which is available for most of commands.

Usage note

This script collection is designed to simplify life of addons developer. This project is not designed, to install and configure production ready Odoo instances!

For production-ready installations look at crnd-deploy project.

Also take a look at Yodoo Cockpit project.

Installation

For full list of installation options look at installation documentation

Starting from 0.1.7 release odoo-helper-scripts could be installed as .deb packages, but this feature is still experimental. See releases page.

To install odoo-helper-scripts system-wide do folowing:

# Install odoo-helper-scripts
wget -O - https://gitlab.com/katyukha/odoo-helper-scripts/raw/master/install-system.bash | sudo bash -s

# Install system dependencies required for odoo-helper-scripts
# NOTE: Works only on debian-based systems
odoo-helper install pre-requirements

or more explicit way:

# Download installation script
wget -O /tmp/odoo-helper-install.bash https://gitlab.com/katyukha/odoo-helper-scripts/raw/master/install-system.bash;

# Install odoo-helper-scripts
sudo bash /tmp/odoo-helper-install.bash;

#  Intall system pre-requirements for odoo-helper-scripts
# NOTE: Works only on debian-based systems
odoo-helper install pre-requirements

Test your OS support

It is possible to run basic tests via docker. For this task, odoo-helper-scripts repo contains script scripts/run_docker_test.bash. Run bash scripts/run_docker_test.bash --help to see all available options for that script.

For example to test, how odoo-helper-scripts will work on debian:stretch, do following:

cd $ODOO_HELPER_ROOT
bash scripts/run_docker_test.bash --docker-ti --docker-image debian:stretch

Usage

And after install you will have available folowing scripts in your path:

  • odoo-install
  • odoo-helper

Each script have -h or --help option which display most relevant information about script and all possible options and subcommands of script

Also there are some aliases for common commands:

  • odoo-helper-addons
  • odoo-helper-db
  • odoo-helper-fetch
  • odoo-helper-log
  • odoo-helper-restart
  • odoo-helper-server
  • odoo-helper-test

For more info look at documentation. (currently documentation status is work-in-progress). Also look at Frequently used commands and Command reference

Also look at odoo-helper-scripts tests to get complete usage example (look for Start test comment).

Support

Have you any quetions? Just fill an issue or send email

About

Just a simple collection of odoo scripts. mostly to ease addons development process (allows to install and manage odoo instances in virtualenv)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 95.4%
  • Python 4.3%
  • Dockerfile 0.3%