The Buckminster Project is an Eclipse (software) technology sub-project focused on component assembly. Buckminster facilitates straightforward sharing of complex assemblies of software components. It is particularly useful for building and sharing virtual distros, distributions of software components which share components across multiple software projects and repositories. In February 2019 project was archived.

Operation

A Buckminster CQUERY (component query) names a component assembly. Using a CQUERY, Buckminster can find and locate all the components necessary to complete that particular configuration. Finding needed components includes transitively finding all the components needed by those components. The process which Buckminster implements to transitively locate and then download and install a full set of components for a particular CQUERY is called materialization. A CQUERY is typically published by a developer (or development team) to denote their work: those interested in accessing and using this software can ask Buckminster to fetch everything necessary by quoting the CQUERY.

Eclipse Buckminster

A Buckminster RMAP (resource map) is associated with a CQUERY, and lists one or more software repositories in which appropriate components can be found. Many popular repository formats are supported, including Concurrent Versions System, Subversion, Apache Maven, Perforce and Eclipse platform infrastructures.

Eclipse Buckminster

A Buckminster CSPEC (component specification) lists appropriate attributes of a component such as how to build it and on what other components it depends on. CSPECs are frequently automatically generated by Buckminster based on meta-information available elsewhere within repositories and the build environment. Automatically generated CSPECs can be manually via CSPECX CSPEC eXtensions."

Eclipse Buckminster

A Buckminster BOM (bill of materials)'' lists in full all the details necessary to fulfill a particular CQUERY, and is automatically generated by Buckminster. BOMs are sometimes saved and re-submitted so as to ensure that specific users materialize precisely the same components, in the right versions, as one another.

Buckminster CQUERYs, RMAPs, CSPECs and BOMs are specified in XML.

See also

Build automation

List of build automation software

Apache Maven

Apache Ant,

External links

Main wiki page for Buckminster

High level introduction to Buckminster

Typical usage scenarios, including building virtual distros

Full XML specifications of Buckminster model

Bricklaying with Buckminster

Software distribution

Version control systems

Software development process

Eclipse technology

Eclipse software