The Buckminster Project is an
Eclipse (software)
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, un ...
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.
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
Concurrent Versions System (CVS, also known as the Concurrent Versioning System) is a revision control system originally developed by Dick Grune in July 1986.
CVS operates as a front end to RCS, an earlier system which operates on single fil ...
,
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
,
Apache Maven
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was ...
,
Perforce
Perforce, legally Perforce Software, Inc., is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle mana ...
and Eclipse platform infrastructures.
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".
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
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
.
See also
*
Build automation
**
List of build automation software
Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes.
Make-based
* GNU make, a make implementation with a ...
*
Apache Maven
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was ...
*
Apache Ant
Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java langu ...
,
External links
Main wiki page for BuckminsterHigh level introduction to BuckminsterTypical usage scenarios, including building virtual distrosFull XML specifications of Buckminster modelBricklaying with Buckminster
Software distribution
Version control systems
Software development process
Eclipse technology
Eclipse software
{{programming-software-stub