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

Reply via email to