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 -
_______________________________________________
fpc-pascal maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal