1
0
Fork 0
kirsle.net/www/wiki/Publishing-RiveScript-Modul...

2.2 KiB

Publishing RiveScript Modules

My personal notes on how to distribute releases of RiveScript to various language module repositories.

Python

If this is the first time publishing from a new computer, create ~/.pypirc with your PyPI credentials:

[distutils]
index-servers=pypi

[pypi]
repository = https://pypi.python.org/pypi
username = $USERNAME
password = $PASSWORD

Make sure everything's ready to go (version numbers incremented, documentation rebuilt, etc.) and run this command to create all the distributable items:

# Install the requirements to get the bdist_wheel command
$ pip install -r requirements.txt
$ python setup.py sdist bdist_wheel

This generates files in the dist/ folder:

  • sdist creates the source tarball
  • bdist_wheel creates a portable pre-built wheel file (the new "egg")
  • bdist_rpm creates an RPM (not necessary to upload this to PyPI)
  • bdist_wininst creates a Win32 installer (not necessary to upload this to PyPI)

And to upload to PyPI:

$ pip install twine
$ twine upload dist/*

See also: https://python-packaging-user-guide.readthedocs.org/en/latest/distributing/#packaging-your-project

Build RPM

See also: https://fedoraproject.org/wiki/Packaging:Python

To build the RPM for Fedora:

$ rpmbuild -ba python-rivescript.spec

JavaScript

  • Prepare it for NPM distribution:
    1. Build distributable (compiled JS) files: grunt dist
    2. Test an installation from a different directory: npm install ../rivescript-js and make sure it works.
    3. From the rivescript-js folder, npm login if it's the first time on a new PC and npm publish to publish.
  • Create release tarballs for GitHub binary distribution:
    1. Build distributable files: grunt dist
    2. Remove cruft: rm -rf node_modules
    3. Go up a directory to create zip/tar files
      • zip -r rivescript-js-1.1.2.zip rivescript-js -x '*.git*'
      • tar -czvf rivescript-js-1.1.2.tar.gz rivescript-js --exclude .git

See also: npm developers

Perl

  1. perl Makefile.PL
  2. make
  3. make dist

Upload resulting tarball to PAUSE for indexing on CPAN.