Eclipse Buckminster

Last updated
Buckminster
Developer(s) Eclipse Foundation
Stable release
1.2 / June 23, 2010 (2010-06-23)
Written in Java
Operating system Cross-platform
Platform Java platform
License Eclipse Public License
Eclipse Distribution License
Website http://www.eclipse.org/buckminster/

The Buckminster Project is an Eclipse (software) technology sub-project focused on component assembly.[ clarification needed ] 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.

Contents

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, Subversion, Apache Maven, Perforce 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.

See also


Related Research Articles

The Jakarta Project created and maintained open source software for the Java platform. It operated as an umbrella project under the auspices of the Apache Software Foundation, and all Jakarta products are released under the Apache License. As of December 21, 2011 the Jakarta project was retired because no subprojects were remaining.

Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus enabling hardware and software co-development. ClearCase includes revision control and forms the basis for configuration management at large and medium-sized businesses, accommodating projects with hundreds or thousands of developers. It is developed by IBM.

<span class="mw-page-title-main">Apache Ant</span> Java software tool

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 language and requires the Java platform. Unlike Make, which uses the Makefile format, Ant uses XML to describe the code build process and its dependencies.

Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.

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 formerly part of the Jakarta Project.

Eclipse Jetty is a Java web server and Java Servlet container. While web servers are usually associated with serving documents to people, Jetty is now often used for machine to machine communications, usually within larger software frameworks. Jetty is developed as a free and open source project as part of the Eclipse Foundation. The web server is used in products such as Apache ActiveMQ, Alfresco, Scalatra, Apache Geronimo, Apache Maven, Apache Spark, Google App Engine, Eclipse, FUSE, iDempiere, Twitter's Streaming API and Zimbra. Jetty is also the server in open source projects such as Lift, Eucalyptus, OpenNMS, Red5, Hadoop and I2P. Jetty supports the latest Java Servlet API as well as protocols HTTP/2 and WebSocket.

Sandcastle is a documentation generator from Microsoft. It automatically produces MSDN-style code documentation out of reflection information of .NET assemblies and XML documentation comments found in the source code of these assemblies. It can also be used to produce user documentation from Microsoft Assistance Markup Language (MAML) with the same look and feel as reference documentation.

OpenESB is a Java-based open-source enterprise service bus. It can be used as a platform for both enterprise application integration and service-oriented architecture. OpenESB allows developers to integrate legacy systems, external and internal partners and new development in business processes. It supports a multitude of integration technologies including standard JBI, XML with support for XML Schemas, WSDL, and BPEL with the aim of simplicity, efficiency, long-term durability, and low TCO.

Apache Gump is an open source continuous integration system, which aims to build and test all the open source Java projects, every night. Its aim is to make sure that all the projects are compatible, at both the API level and in terms of functionality matching specifications. It is hosted at gump.apache.org, and runs every night on the official Sun JVM.

<span class="mw-page-title-main">Apache Ivy</span>

Apache Ivy is a transitive package manager. It is a sub-project of the Apache Ant project, with which Ivy works to resolve project dependencies. An external XML file defines project dependencies and lists the resources necessary to build a project. Ivy then resolves and downloads resources from an artifact repository: either a private repository or one publicly available on the Internet.

Liquibase is an open-source database-independent library for tracking, managing and applying database schema changes. It was started in 2006 to allow easier tracking of database changes, especially in an agile software development environment.

Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow service-oriented architecture principles. The technology, created by major software vendors, including IBM, Oracle Corporation and TIBCO Software, encompasses a wide range of technologies and as such is specified in independent specifications to maintain programming language and application environment neutrality. Many times it uses an enterprise service bus (ESB).

<span class="mw-page-title-main">Apache Buildr</span> Open-source build system

Buildr was an open-source build system mainly intended to build Java applications. It gave the developer a full-blown scripting language (Ruby) while writing their build scripts, which are usually missing in XML-based building environments such as Apache Ant or Apache Maven. The Apache Buildr project has been retired in July 2022.

<span class="mw-page-title-main">Spring Roo</span> Open-source software tool

Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.

sbt (software) Open-source build tool for Scala and Java projects

sbt is an open-source build tool for Scala and Java projects, similar to Apache's Maven and Gradle.

<span class="mw-page-title-main">Gradle</span> Free software build automation tool

Gradle is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing. Supported languages include Java, C/C++, and JavaScript. It also collects statistical data about the usage of software libraries around the globe.

iDempiere

iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.

A software supply chain is composed of the components, libraries, tools, and processes used to develop, build, and publish a software artifact.