Scripts that simplify polyglot development.
This project contains a set of commands that unify information retrieval and
code updates across supported project types. Term project type
here means,
for example:
- gradle based projects or libraries
- maven based projects or libraries
- grails projects or plugins
- playframework based projects
- sphinx based projects
version
is a command that simply outputs the current project or plugin
version.
Hypothetical scenario:
$ cd gradle-project
$ version
0.9
$ cd ../grails-plugin
$ version
2.0.1
$ cd ../maven-project
$ version
1.0.6
Do you have napalm?
$ napalm install polydevel latest
If not then:
- download this project
- add all scripts in
bin
to/usr/local/bin
Sometimes you have a project that doesn't conform to what can be recognized by poly-devel. In that can you can customize the behavior of certain scripts by creating appropriate files.
To support getting the current project version (emitted by version
), just
create a file poly-devel/version.sh
(must be executable!) and implement the
logic there. See napalm as example.
To support updating the version, create poly-devel/update-version.sh
(must be
executable!). See napalm as example.
To customize the release process, create a file release.sh
(must be
executable!) and implement the logic there. See
napalm as example.
Note that in between release-pre
and release-post
you can do anything you
want, for example, create and upload the artifact.
- Homepage: https://github.com/mbezjak/poly-devel
- License: MIT (see LICENSE file)