Hi everyone,
PasBuild 1.3.0 has been released.
PasBuild 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.
Homepage:
https://github.com/graemeg/pasbuild
Quick Overview
--------------
Install 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 Instructions
--------------------
Replace 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 started
---------------
Documentation 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
Links
-----
1. Quick Start Guide:
https://github.com/graemeg/pasbuild/blob/main/docs/quick-start-guide.adoc
2. Design Document:
https://github.com/graemeg/pasbuild/blob/main/docs/dependency-management-design.adoc
PasBuild is free software released under the BSD-3-Clause license.
Regards,
- Graeme -
