Metadata-Version: 1.2
Name: distributionPackage
Version: 0.3.0
Summary: A packaging utility for creating packages of files for distribution based on a YAML manifest.
Home-page: https://gitlab.com/blueskyjunkie/distribution-package
License: UNKNOWN
Keywords: manifest package distribution file
Author: Russell Smiley
Author-email: im.russell.smiley@gmail.com
Requires-Python: >=3
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Requires-Dist: packageManifest

distributionPackage
-------------------

|pipeline| |coverage|

.. |pipeline| image:: https://gitlab.com/blueskyjunkie/distribution-package/badges/master/pipeline.svg
   :target: https://gitlab.com/blueskyjunkie/distribution-package/commits/master
   :alt: pipeline status

.. |coverage| image:: https://gitlab.com/blueskyjunkie/distribution-package/badges/master/coverage.svg
   :target: https://gitlab.com/blueskyjunkie/distribution-package/commits/master
   :alt: coverage report


A tool for packaging a set of files for distribution using a YAML manifest definition from the
`packageManifest project <https://gitlab.com/blueskyjunkie/package-manifest>`_.

.. contents::

.. section-numbering::


Main Features
=============

* Simple default operation
* zip or tar-gzip package generation (or both)
* Specify project path to build package from


Installation
============

The simplest way to acquire ``distributionPackage`` is using ``pip``.

.. code-block:: bash

   pip install distributionPackage

It's highly recommended that you install the package into a
`Python virtual environment <http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_.


Getting Started
===============

Define a package manifest in a YAML file. The default name expected by ``distributionPackage`` is ``manifest.yml``. The example
below constructs a simple manifest for a hypothetical C++ project.

.. code-block:: yaml

   - include:
       files: [ 'README.md', 'LICENSE', 'VERSION' ]
   - global-include:
       files: [ '*.h', '*.cpp' ]
   - prune:
       directory: 'scripts'

Assuming that you have installed ``distributionPackage`` and that the ``makePackage`` command is in your path,

.. code-block:: bash

   makePackage

By default ``makePackage`` will acquire the manifest definitions from ``./manifest.yml``, output a file
``distribution-out.tar.gz`` in the current directory and assume that the current directory is the root directory of the
project to be packaged (for the basis of constructing the package file names from the manifest).

.. code-block:: bash

   makePackage --help

Using the ``--help`` option will describe the various options available.

