This is project scaffolding tool somewhat similar to pyscaffold, but it supports a range of programming languages and it implements Robert Važan's personal conventions and policies. It can be executed repeatedly to keep generated files up to date.
If you come across one of my repositories that have project files generated by this tool,
just edit the generated files by hand like you would in any other project
and I will update scaffolding configuration in repository's scripts/configure.py
after merge.
The following are notes to myself.
To use this tool, create scripts/configure.py
in the repository that looks like this:
import rvscaffold as scaffold
class Project(scaffold.Java):
def script_path_text(self): return __file__
def repository_name(self): return 'sourceafis-java'
def pretty_name(self): return 'SourceAFIS for Java'
def pom_name(self): return 'SourceAFIS'
def dependencies(self):
yield from super().dependencies()
yield self.use('com.machinezoo.fingerprintio:fingerprintio:1.3.0')
yield self.use_fastutil()
yield self.use_commons_io()
Project().generate()
See real examples for supported languages:
- Java: sourceafis-java
- NET: sourceafis-net
There are lots of options for all supported languages. See source code of this tool.
In addition to options specified in configure.py
,
there should be a standalone file scripts/version.txt
that contains only one line with project version.
To run configure.py
, make sure that PYTHONPATH
includes src
directory in checked out rvscaffold
.
This tool is not currently available from PyPI.