Skip to main content
Jump to: navigation, search

Hello XML World Example (Buckminster)

< To: Buckminster Project
This examples shows several Buckminster features in action.

To run the example, use the File > Open dialog in Eclipse, and enter this URL:

That will start the Buckminster materialization of the project.


The CQuery looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery xmlns:cq=""
    <cq:rootRequest name="" category="plugin" versionType="OSGi"/>
    <cq:advisorNode namePattern="org\.demo\..*" whenNotEmpty="OVERWRITE" useInstalled="false" useMaterialization="false"/>
    <cq:advisorNode namePattern="se\.tada\..*" whenNotEmpty="REUSE" useInstalled="false"/>

This is what the XML in the CQUERY means:

  • The first three lines are the usual XML incantations - this is XML, and this is the syntax of the XML - i.e. CQuery-1.0 and the namespace is called "cq".
  • Next line declares where the resourcemap to use when resolving components is found (we will look at the resource map next).
  • Next line states that the wanted (root) component is called, that is is a plugin and that it follows the OSGi versioning scheme.
  • Then there are two advisor node lines. The first declares that the demo component should be re-materialized even if it already has been materialized (i.e. give me a fresh copy). The second declares that components with "tada" in their name should reuse already materialized results.

For more details see CQUERY


This is what the RMAP looks like:

<?xml version="1.0" encoding="UTF-8"?>

    <rm:searchPath name="default">
    	<rm:provider readerType="cvs" componentType="eclipse-project" mutable="true" source="true">
    	    <pv:uri format=",org.eclipse.buckminster/org.eclipse.buckminster/demo/{0}">
	        <bc:propertyRef key="buckminster.component" />

    <rm:searchPath name="maven">
    	<rm:provider xsi:type="mp:MavenProvider" readerType="maven" componentType="maven" mutable="false" source="false">
    		<pv:uri format=""/>
			<mp:entry name="se.tada.util.sax" groupId="se.tada" artifactId="tada-sax"/>

    <rm:locator searchPathRef="maven" pattern="^se\.tada\..*" />
    <rm:locator searchPathRef="default" pattern="^org\.demo\..*" />


This is what the RMAP XML means:

  • The 7 first lines declares the name spaces and syntax of the rmap and the repository providers needed.

Describe what the demo does

Back to the top