Hi everyone,
PasBuild 1.3.0 has been released.
PasBuild is a Maven-inspired build automation tool for Free
Pascal projects. It provides convention-based project structure,
dependency management, multi-module builds, resource filtering,
and packaging.
Homepage:
https://github.com/graemeg/pasbuildWhat's New in 1.3.0PasBuild now supports cross-project dependency management. Projects
can declare external dependencies in project.xml, install compiled
artifacts to a local repository, and have them automatically
resolved at compile time — including transitive dependencies.
Quick OverviewInstall a library to the local repository (~/.pasbuild/repository/):
cd my-library
pasbuild install
Declare the dependency in the consumer’s project.xml:
<dependencies>
<dependency>
<name>my-library</name>
<version>1.0.0</version>
</dependency>
</dependencies>
Compile — dependencies are resolved automatically:
cd my-application
pasbuild compile
Highlights* Local repository at ~/.pasbuild/repository/ stores .ppu and .o files
per name, version, and FPC target triplet (e.g.: x86_64-linux-3.2.2)
* Transitive resolution — if A depends on B, and you depend on A, both
are resolved automatically
* Multi-module support — the reactor installs each module in dependency
order
* Metadata tracking — each artifact includes metadata.xml for version
and target validation
* Path quoting — compiler arguments now handle paths with spaces
* Fully backward compatible — projects without <dependencies> work
exactly as before
A sample project is included under samples/dependency-management/. For
full details, see the Quick Start Guide[1] and the Design Document[2].
Feedback and contributions are welcome on the project’s issue tracker.
Upgrade InstructionsReplace your existing pasbuild binary with the new 1.3.0 build. You can
use your existing pasbuild binary to build the new version. No project
configuration changes are required, as the external dependency
management is 100% optional.
Getting startedDocumentation includes:
- Updated quick-start guide with dependency management examples
- Sample projects demonstrating simple and complex scenarios
- Project creation via 'pasbuild init'
- Full design specification with architecture details
Links1. Quick Start Guide:
https://github.com/graemeg/PasBuild/blob/master/docs/quick-start-guide.adoc2. Design Document:
https://github.com/graemeg/PasBuild/blob/master/docs/dependency-management-design.adocPasBuild is free software released under the BSD-3-Clause
license.
Regards,
- Graeme -