Pmake Cheatsheet

So this thing should theoretically be easy enough to use with all the information needed for it on one cheatsheet. You can invoke pogmake with either pogmake or pog. It’ll do the same thing.

Specifying jobs

pogmake will start parsing pogfiles. Importing the root pogfile as a python object and start registering jobs. Jobs are functions decorated with the @job decorator.

   @job("dependency1", "dependency2", desc="Can't think of a good description", default=True)
   def my_jobname():
        # ...

Dependencies are specified in a list, and all arguments to the @job decorator are optional.

pogfile Features

pogfiles are python files with a few python imports set.

import subprocess
import sys
import argparse
import os
import shutil

Additionally there are a few library functions from pogmake that get imported as well.

    mod.job = job  # job decorator
    mod.cli_args = cli_args  # parsed command line arguments
    mod.pogmake_core = core  # Access to all pogmake
    # internals but not the importer or the frontend
    mod.orig_dir = orig_dir  # absolute path to origin of this pogfile

By default all pogfiles in inferior pathsto the root are searched for.

Use exclude_paths to skip them.

include_paths will also bypass this. And allow you to pull in pogfiles of any any name.

exclude_paths = ["dont_test", "unittests"]
include_paths = ["test_simple.py", "dont_test/test_anyway/"]