Yep, Its another build system
Project description
BuildMe 🛠️
Another build system. A simple command runner thats it.
What is BuildMe 🤔️
Well this pretty much sums it up.
Why???
IDK. I saw this comic and decided that I want a build system of my own.
And,
- Makefile's are shit.
- Cmake is complicated
- Meson requires two dependencies (Meson and Ninja)
- Bazel, corporate BS
It does come with some feature.
- It is just command runner (Does not give an f about the file or it's mod time)
- v0.3.0 onwards, buildme does give an f about the file and it's mod times (times have changed)
- It's just python. Anything that works on python works on buildme script.
- you want a build script that has access to
pandas
, well you can now have it.
- you want a build script that has access to
Docs 🧾️
- Install buildme
pip3 install git+https://github.com/Adwaith-Rajesh/buildme.git
OR
pip3 install buildme
- Create a
buildme
scriptThe shebang is IMPORTANT (This thingy -> #!/bin/env buildme)
#!/bin/env buildme
from buildme import CommandRunner, target
cr = CommandRunner()
@target()
def foo(_, __):
print('This is the foo target')
@target()
def bar(_, __):
cr.run('echo this is from bar target')
@target(depends=['foo', 'bar'])
def all(_, __): pass
- Make it executable
$ ./buildme foo
This is the foo target
$ ./buildme bar
================================================================================
[CMD]: echo this is from bar target
this is from bar target
================================================================================
$ ./buildme all
This is the foo target
================================================================================
[CMD]: echo this is from bar target
this is from bar target
================================================================================
More docs can be found here: Docs
- Buildme
- Target
- CommandRunner
- Receiving Command line args
- Getting info about the target itself
- Dynamic 'creates'
- Combining Ideas
- Helper functions
Bye....
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
buildme-0.3.2.tar.gz
(5.6 kB
view hashes)
Built Distribution
Close
Hashes for buildme-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 874c2f6c120211b903cd7c6f0fbf67ebc2d7ba27e8d199fc5308830a195862c5 |
|
MD5 | 68d7537e667690023a84fbcad50c8418 |
|
BLAKE2b-256 | a1a76c74628e98bf9203ab38eff348415e02c1bc1ed598d1b90794059e67f22a |