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.3.tar.gz
(5.7 kB
view details)
Built Distribution
File details
Details for the file buildme-0.3.3.tar.gz
.
File metadata
- Download URL: buildme-0.3.3.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7cd8165c52d0f4077483fe24aa0bd2704e0e73dee5c2daf14b35a54b42f2a68 |
|
MD5 | 5d66eee521212d5d42f274ef50f581fb |
|
BLAKE2b-256 | fb8ead64e6862c26bda4aeba44c2641d930c08077391516f976fc53f6b402082 |
File details
Details for the file buildme-0.3.3-py2.py3-none-any.whl
.
File metadata
- Download URL: buildme-0.3.3-py2.py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f62b7fd4054ebf2f186c811f0b6ab4d2aee8e043dff0bbc6d4757253d2a28934 |
|
MD5 | 266ae9043d0ff6c16f16c94f0968db74 |
|
BLAKE2b-256 | a2b73e15ee5f5a4b1963a86390faaca38813b8ae216c53bac6a38e8c247dec32 |