Why a build script instead of a straight normal script?

A build shall not run tasks which are unnecessary
- because the input did not change since last time and
- the output is the same as last time produced (e.g. file not deleted or modified)
Call it "guarded execution".

But most build systems introduce a new language. Why?

I use Pythonbuilder for Java, Python, Typescript. It is plain Python plus guarded execution.

https://codeberg.org/harald/pythonbuilder#img-src-config-pythonbuilder-logo-png-width-60-pythonbuilder-mdash-pythonic-project-builder

#pythonbuilder #buildsystem #buildtool #dev

pythonbuilder

Build system written and specified in Python.

Codeberg.org
Release 1.1.0 · rife2/bld-testng

Summary Add command line options to specify: Test names Test classes Test methods Test groups Test groups to exclude What's Changed in 1.1.0 Bump PMD extension to version 1.4.2 in b1eb774 Add...

GitHub
Release 1.4.2 · rife2/bld-pmd

Summary Support for PMD 7.21.0 Fix specifying the cache location What's Changed in 1.4.2 Bump PMD to version 7.21.0 in 394a9f8 Bump AssertJ to version 3.27.7 in a468ccb Fix specifying the cache ...

GitHub

I've just released version 1.1.0 of the Command Line Execution Extension for bld

#bld #buildsystem #buildtool #cli #github #java

https://github.com/rife2/bld-exec/releases/tag/1.1.0

Release 1.1.0 · rife2/bld-exec

Summary New OS detection logic methods Use List<> instead of Collection<> What's Changed in 1.1.0 Add OS detection logic methods in e21a88d Update README with project example in 9b56bdb Bump PMD...

GitHub
Release 1.4.1 · rife2/bld-pmd

Summary Support for PMD 7.20.0 What's Changed in 1.4.1 Bump PMD to version 7.20.0 in 0a2dc05 Bump Testing Helpers to version 0.9.5 in 9247ab0 Bump SpotBugs extension to version 0.9.0= in 6cb7b79...

GitHub
Release 0.9.0 · rife2/bld-spotbugs

Summary Initial release

GitHub

I've just released version 0.9.2 of the JUnit Reporter Extension for bld

#bld #buildsystem #buildtool #github #java #junit #testing

https://github.com/rife2/bld-junit-reporter/releases/tag/0.9.2

Release 0.9.2 · rife2/bld-junit-reporter

Summary Fix --all argument option and usage Check the failOnSummary flag before setting the exit status What's Changed in 0.9.2 Document --reports-dir option in README in c158156 Bump Mockito to...

GitHub

Pythonbuilder update. Removes a feature described in the last post about #pythonbuilder. 🤦‍♀️ But we have new features which are hopefully better:😎

- Save build state of successfully created targets even if the build stops with an exception.
- Simplify state computation for Paths object. A Paths object is a bit like a combination of a Path + rglob.

https://codeberg.org/harald/pythonbuilder

Feedback welcome.

#pythonbuilder
#buildmachine
#bashbuilder
#buildsystem
#buildtool
#softwaredevelopment
#programming

pythonbuilder

Build system written and specified in Python.

Codeberg.org
Release 1.4.0 · rife2/bld-pmd

Summary Support for PMD 7.19.0 Fields and public accessors previously declared with type Collection<…> were changed to List<…> What's Changed in 1.4.0 Bump PMD to version 7.19.0 in ab097de Use l...

GitHub
Release 1.0.4 · rife2/bld-spring-boot

Summary Support for Spring Boot 3.5.8 Various internal improvements What's Changed in 1.0.4 Use constant for file size units in 5eb7e8a Improve manifest creation in 03996fd Improve File to Path ...

GitHub