Overview
TODO under construction for zpm updates
A typical xplat.cfg looks like this:
[xplat]
; the version string held in mod_dir_name/lib/version.json
version = '0.0.1'
; the module name (with dashes)
mod_name = 'your-project'
; flag indicating this is a module/library (True) or an app (False)
is_module = False
; indicating if private or public
mod_type = 'private'
; which tech is used for this project: python, cpp, arduino
mod_tech = 'python'
;
; == typically do not change from here on
;
; the license for the module
license = 'MIT'
; the license string for the classifier section
classifier_license = 'License :: OSI Approved :: MIT License'
; the url for the homepage link
homepage_url = 'https://bitbucket.org/arrizza-{mod_type}/{mod_name}/src/master'
; the url for the download link
download_url = 'https://bitbucket.org/arrizza-{mod_type}/{mod_name}/get/master.zip'
; the author name
author = 'JA'
; the contact email
email = 'youremail'
; the type of the description file used
long_desc_type = 'text/markdown'
; --------------------
; additional cfg for do_publish
[do_publish]
; disallow these modules from being published; comma separated list
disallow = module-name, devpy-mod-template
; --------------------
; additional cfg for do_lint
[do_lint]
; include the tools directory
include_tools = False
; for cpp/arduino: src directories
src_dirs = []
; --------------------
; additional cfg for do_doc
[do_doc]
; document description
doxy_desc = 'app full name and description'
; additional exclude directories (if any)
doxy_exclude = './lib/build_info.py'
; additional include directories (if any)
doxy_include =
; --------------------
; additional cfg for do_post_ver
[do_post_ver]
; directory to save verification html files
dst_dir = '~/projects/web-ver'
; directory to get verification html files
src_dir = 'out/ver'
; web slug; use 'N/A' for projects not on the web
slug = 'N/A'
; PyPi URL for python modules; use 'N/A' not a module
; e.g. https://pypi.org/project/{mod_name}
pypi_url = 'N/A'
; repo URL; note can only be public
repo_url = 'N/A'
; --------------------
; additional cfg for do_ut
[do_ut]
; cpp only: the coverage dirs to report
cov_dirs =
xplat section
Holds various names, data and info across all repo types (see "mod_type" below).
Note many of these are used in python modules and ruby gems.
- See tools/pyproject_template.toml
- See tools/gem_template.gemspec
version
The version string used for the module/library.
mod_name
The name of the application/project.
- It must contain only dashes "-". No initial or trailing dashes
- no spaces
- lower case recommended. Upper case has not been tested
Note another item "mod_dir_name" is automatically created based on this value.
mod_dir_name
Automatically created from "mod_name".
This holds the name of the python module in the src directory:
py-dual-sorter <== top level directory
- src
- py_dual_sorter <== pypi module name used in the import
desc
A short description of the app/module. This is used in documentation, license, etc.
slug
The web page name used on arrizza.com.
Typically, it is the same as mod-name but can have a prefix e.g. python-on-the-fly-stats
is_module
Boolean value indicating it is a module or an app.
If it is an app, then it is False. If it is a python module, C/C++ library, Ruby gem, etc. then it is True.
mod_type
Indicates if this module is publicly available.
"public" indicates it can show up on arrizza.com. Some projects are marked public but I have not published them (yet). "private" indicates that it will not be visible.
mod_tech
Indicates the underlying primary technology used by this project. Note that some projects are cross-technology e.g. pyalamake uses python but generates a Makefile which uses C/C++ and Arduino code.
Currently, there are these techs:
- "python" - for python apps and modules
- "cpp" - for C/C++ apps and libraries
- "arduino" - for Arduino apps (libraries are under construction)
- "ruby" - for Ruby apps and gems
- "other" - for perl, dart/flutter, 3D printing, FPGA, and others
lic_year
The "as of" year for the license and copyright. This is an indication of when the project was first publicly posted. See LICENSE.txt for the full license and info.
licence
The license type. Currently only uses "MIT".
source_url
Used in python modules and ruby gems.
download_url
Used in python modules only in the pyproject.toml file. This is used by pypi to indicate how to download the module
author
Used in python modules and ruby gems.
Used in python modules and ruby gems.
long_desc_type
Used by pypi to display the README.md file.
See tools/pyproject_template.toml for an example.
do_publish
Various info used by the do_publish script to publish a Python module or Ruby gem.
disallow
Some repos are only templates but are marked as a module/gem. These should be not be published to pypi or rubygem.org.
do_lint
Various info used by the do_lint script.
include_tools
Boolean flag to indicate of the tools/ directory should be included in the lint
src_dirs
Any additional directories to check. Currently used only in cpp/arduino mod_techs.
do_doc
Various info used by the do_doc script.
doxy_exclude
Various files or directories to exclude from being parsed by doxygen or other doc generators.
Recommend one line per file/directory.
doxy_include
Various directories to include for parsing by doxygen or other doc generators.
do_post_ver
Various info used by the do_post_ver script.
dst_dir
The directory to save the genned verification html files. These are all accumulated and published on arrizza.com/web-ver
dst_dir.win
An override for dst_dir used on Windows since that OS used drive letters.
src_dir
The directory where the verification data is stored. Typically, it is out/ver.
pypi_url
The pypi url that contains the python module.
- if it is an app use "App"
repo_url
The url to for the associated repo. Currently, these are on bitbucket for the repos in arrizza.com
repo_url = 'https://bitbucket.org/arrizza-{mod_type}/{mod_name}'
do_ut
Various info used by the do_ut script.
cov_dirs
Indicates which directories to include in coverage statistics.
Currently used by C/C++ repos only.
exclude
Various directories or files to exclude from coverage.
cpip
Indicates any CPIP common packages to retrieve or publish to.
(CPIP is my very simple "package manager", see CPIP User Guide)
root_dir
The location of the packages. This is a mounted shared drive between my windows, ubuntu and macos laptops.
root_dir.win
An override for windows (because of the drive letter)
packages
A list of packages used by this project