Jump to: navigation, search

Difference between revisions of "Sample headless configuration (Buckminster)"

(Installing required features)
(Following these instructions verbatim will lead to a corrupt installation (as stated here http://www.eclipse.org/forums/index.php/mv/msg/205126/656684/#msg_656684))
 
(7 intermediate revisions by 3 users not shown)
Line 13: Line 13:
 
Using <tt>listsite</tt> is very simple - just provide it with a path or URL and it will list any features it finds there. Sample:
 
Using <tt>listsite</tt> is very simple - just provide it with a path or URL and it will list any features it finds there. Sample:
 
<pre>
 
<pre>
buckminster listsite http://download.eclipse.org/tools/buckminster/updates/headless-site.xml
+
buckminster listsite http://download.eclipse.org/tools/buckminster/headless-3.6/
  
 
Features:
 
Features:
   org.eclipse.buckminster.core.headless.feature_0.1.0.v20070427 (Buckminster - Core Headless (Incubation))
+
   org.eclipse.buckminster.core.headless.feature (%featureName)
   org.eclipse.buckminster.cvs.headless.feature_0.1.0.v20070413 (Buckminster - CVS support for headless operation (Incubation))
+
  org.eclipse.buckminster.core.headless.source.feature (%featureName)
   org.eclipse.buckminster.maven.feature_0.1.0.v20070427 (org.eclipse.buckminster.maven.feature_0.1.0.v20070427)
+
   org.eclipse.buckminster.cvs.headless.feature (%featureName)
    only the reference was found. Unable to locate the actual feature
+
  org.eclipse.buckminster.cvs.headless.source.feature (%featureName)
   org.eclipse.buckminster.p4.headless.feature_0.1.0.v20070413 (Buckminster - Perforce support for headless operation (Incubation))
+
   org.eclipse.buckminster.emma.headless.feature (%featureName)
   org.eclipse.buckminster.pde.headless.feature_0.1.0.v20070427-r32x (Buckminster - PDE support for headless operation (Incubation))
+
  org.eclipse.buckminster.emma.headless.source.feature (%featureName)
   org.eclipse.buckminster.svn.headless.feature_0.1.0.v20070413 (Buckminster - Subversion support for headless operation (Incubation))
+
  org.eclipse.buckminster.git.headless.feature (%featureName)
 +
  org.eclipse.buckminster.git.headless.source.feature (%featureName)
 +
  org.eclipse.buckminster.maven.headless.feature (%featureName)
 +
   org.eclipse.buckminster.maven.headless.source.feature (%featureName)
 +
  org.eclipse.buckminster.pde.headless.feature (%featureName)
 +
   org.eclipse.buckminster.pde.headless.source.feature (%featureName)
 +
  org.eclipse.buckminster.product (Buckminster Product)
 +
  org.eclipse.buckminster.product.source (Source for Buckminster Product)
 +
  org.eclipse.buckminster.psf.feature (%featureName)
 +
   org.eclipse.buckminster.psf.source.feature (%featureName)
 +
  org.eclipse.equinox.p2.director.feature (%featureName)
 +
  org.eclipse.equinox.p2.director.source.feature (%featureName)
 
</pre>
 
</pre>
  
Line 44: Line 55:
 
First off, we need to install the Buckminster core feature:
 
First off, we need to install the Buckminster core feature:
 
<pre>
 
<pre>
buckminster install http://download.eclipse.org/tools/buckminster/updates/headless-site.xml org.eclipse.buckminster.core.headless.feature
+
buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.core.headless.feature
 
</pre>
 
</pre>
  
Line 50: Line 61:
 
the assembly builder will use Ant so we need to endow our buckminster with providers for those:
 
the assembly builder will use Ant so we need to endow our buckminster with providers for those:
 
<pre>
 
<pre>
buckminster install http://download.eclipse.org/tools/buckminster/updates/headless-site.xml org.eclipse.buckminster.cvs.headless.feature
+
buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.cvs.headless.feature
  
buckminster install http://download.eclipse.org/tools/buckminster/updates/headless-site.xml org.eclipse.buckminster.maven.feature
+
buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.maven.headless.feature
 
</pre>
 
</pre>
  
 
At this point we have a functional setup but there are a couple of other features that deserves a mention:
 
At this point we have a functional setup but there are a couple of other features that deserves a mention:
* <tt>org.eclipse.buckminster.headless.pde.feature</tt>
+
* <tt>org.eclipse.buckminster.pde.headless.feature</tt>
 
*:This feature will enable the Eclipse platform Java and PDE functionality. You will need it when you work with plugin and feature projects.
 
*:This feature will enable the Eclipse platform Java and PDE functionality. You will need it when you work with plugin and feature projects.
 
* <tt>org.eclipse.buckminster.subversive.headless.feature</tt>
 
* <tt>org.eclipse.buckminster.subversive.headless.feature</tt>
*:Provides the Subversion repository provider using the subversive interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external updatesite. You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both.
+
*:Provides the Subversion repository provider using the subversive interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external-3.6 updatesite (http://download.cloudsmith.com/buckminster/archivedsites/). You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both. This feature contains the subversive team provider and does not require a separate subversive installation!
 
* <tt>org.eclipse.buckminster.subclipse.headless.feature</tt>
 
* <tt>org.eclipse.buckminster.subclipse.headless.feature</tt>
*:Provides the Subversion repository provider using the subclipse interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external updatesite. You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both.
+
*:Provides the Subversion repository provider using the subclipse interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external-3.6 updatesite (http://download.cloudsmith.com/buckminster/archivedsites/). You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both. This feature contains the subclipse team provider and does not require a separate subclipse installation!
 
* <tt>org.eclipse.buckminster.p4.headless.feature</tt>
 
* <tt>org.eclipse.buckminster.p4.headless.feature</tt>
 
*:Provides the Perforce repository provider.
 
*:Provides the Perforce repository provider.

Latest revision as of 08:47, 29 June 2011

< To: Buckminster Project

Who should read this Example?

This example is a detailed description of how to install Buckminster features in a minimal Buckminster Headless. In order to benefit from this example, you must first have looked at what the headless stuff is all about. To see all the headless related articles go.

Goal of Example

The ultimate goal for this description is to install the rest of Buckminster in a headless configuration, specifically in order to install Buckminster commands beyond the basic ones. But, to do this, a number of dependencies must be fulfilled first.

The dependencies are on other features (and their plugins). These features can be downloaded from update sites (or actually, from other 'things' that are usable as 'sites'). All dependencies shown here are fulfilled by the buckminster update site.

Using the update mechanisms

There are three commands available: listsite, install and uninstall. Actually, there is also a command (currently hidden) that may be of use during configuration: dumpinfo. This command is generally for support reasons and will dump various information including features and plugins installed.

Using listsite is very simple - just provide it with a path or URL and it will list any features it finds there. Sample:

buckminster listsite http://download.eclipse.org/tools/buckminster/headless-3.6/

Features:
  org.eclipse.buckminster.core.headless.feature (%featureName)
  org.eclipse.buckminster.core.headless.source.feature (%featureName)
  org.eclipse.buckminster.cvs.headless.feature (%featureName)
  org.eclipse.buckminster.cvs.headless.source.feature (%featureName)
  org.eclipse.buckminster.emma.headless.feature (%featureName)
  org.eclipse.buckminster.emma.headless.source.feature (%featureName)
  org.eclipse.buckminster.git.headless.feature (%featureName)
  org.eclipse.buckminster.git.headless.source.feature (%featureName)
  org.eclipse.buckminster.maven.headless.feature (%featureName)
  org.eclipse.buckminster.maven.headless.source.feature (%featureName)
  org.eclipse.buckminster.pde.headless.feature (%featureName)
  org.eclipse.buckminster.pde.headless.source.feature (%featureName)
  org.eclipse.buckminster.product (Buckminster Product)
  org.eclipse.buckminster.product.source (Source for Buckminster Product)
  org.eclipse.buckminster.psf.feature (%featureName)
  org.eclipse.buckminster.psf.source.feature (%featureName)
  org.eclipse.equinox.p2.director.feature (%featureName)
  org.eclipse.equinox.p2.director.source.feature (%featureName)

Note that it works just as well for the product itself:

buckminster.exe listsite C:\buckminster
Features:
    org.eclipse.buckminster.product_0.1.0.v20070413-r32x (Buckminster Product (Incubation))

In fact, if listsite is given without arguments, it will list the local site, i.e. the product itself:

buckminster listsite
Features:
    org.eclipse.buckminster.product_0.1.0.v20070413-r32x (Buckminster Product (Incubation))

Commands for install/uninstall are very similar: for install, point to a site and a feature you wish to install (and an optional version of it if there are multiple, default is to take the latest). For uninstall, just give the feature name and optional version.

Installing required features

First off, we need to install the Buckminster core feature:

buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.core.headless.feature

The Buckminster tests are stored in a CVS repository, the RMAP it uses will reference a Maven repository, and the assembly builder will use Ant so we need to endow our buckminster with providers for those:

buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.cvs.headless.feature

buckminster install http://download.eclipse.org/tools/buckminster/headless-3.6/ org.eclipse.buckminster.maven.headless.feature

At this point we have a functional setup but there are a couple of other features that deserves a mention:

  • org.eclipse.buckminster.pde.headless.feature
    This feature will enable the Eclipse platform Java and PDE functionality. You will need it when you work with plugin and feature projects.
  • org.eclipse.buckminster.subversive.headless.feature
    Provides the Subversion repository provider using the subversive interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external-3.6 updatesite (http://download.cloudsmith.com/buckminster/archivedsites/). You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both. This feature contains the subversive team provider and does not require a separate subversive installation!
  • org.eclipse.buckminster.subclipse.headless.feature
    Provides the Subversion repository provider using the subclipse interface. This feature includes third party plugins which can not be hosted on the eclipse site, so you must install from the http://download.cloudsmith.com/buckminster/external-3.6 updatesite (http://download.cloudsmith.com/buckminster/archivedsites/). You must install either org.eclipse.buckminster.subversive.headless.feature or org.eclipse.buckminster.subclipse.headless.feature to support buckminster's integration with subversion, but not both. This feature contains the subclipse team provider and does not require a separate subclipse installation!
  • org.eclipse.buckminster.p4.headless.feature
    Provides the Perforce repository provider.


Let's try loading a workspace with some very simple test components:

buckminster -data /temp/bar resolve http://www.eclipse.org/buckminster/samples/queries/build_a.cquery
Using workspace at file:/C:/Temp/bar/...
[start buckminster.test.build_a#buckminster.prebind]
[ant] Buildfile: C:\Temp\bar\buckminster.test.build_a\assembly_buckminster.ant
[ant]
[ant] assembly:
[ant] Entrypoint: ASSEMBLY
[ant] Created dir: C:\Temp\bar\buckminster.test.build_a\assembled
[end buckminster.test.build_a#buckminster.prebind]
=== START: Normal (Ant Builder) - buckminster.test.build_a ===
[ant] Buildfile: C:\Temp\bar\buckminster.test.build_a\normal_buckminster.ant
[ant]
[ant] full:
[ant] Entrypoint: FULL
[ant]
[ant] build:
[ant]
[ant] Property for component is: 'buckminster.test.build_a'
[ant] Property for kind is: 'FULL'
[ant]
[ant] Copying 1 file to C:\Temp\bar\buckminster.test.build_a\derived
=== END: Normal (Ant Builder) - buckminster.test.build_a ===
=== START: Normal (Ant Builder) - buckminster.test.build_b ===
[ant] Buildfile: C:\Temp\bar\buckminster.test.build_b\buckminster.ant
[ant]
[ant] full:
[ant] Entrypoint: FULL
[ant]
[ant] build:
[ant]
[ant] Property for component is: 'buckminster.test.build_b'
[ant] Property for kind is: 'FULL'
[ant]
[ant] Copying 1 file to C:\Temp\bar\buckminster.test.build_b\derived
=== END: Normal (Ant Builder) - buckminster.test.build_b ===
=== START: Normal (Ant Builder) - buckminster.test.build_c ===
[ant] Buildfile: C:\Temp\bar\buckminster.test.build_c\buckminster.ant
[ant]
[ant] full:
[ant] Entrypoint: FULL
[ant]
[ant] build:
[ant]
[ant] Property for component is: 'buckminster.test.build_c'
[ant] Property for kind is: 'FULL'
[ant]
[ant] Copying 1 file to C:\Temp\bar\buckminster.test.build_c\derived
=== END: Normal (Ant Builder) - buckminster.test.build_c ===
=== START: Normal (Ant Builder) - buckminster.test.build_d ===
[ant] Buildfile: C:\Temp\bar\buckminster.test.build_d\buckminster.ant
[ant]
[ant] full:
[ant] Entrypoint: FULL
[ant]
[ant] build:
[ant]
[ant] Property for component is: 'buckminster.test.build_d'
[ant] Property for kind is: 'FULL'
[ant]
[ant] Copying 1 file to C:\Temp\bar\buckminster.test.build_d\derived
=== END: Normal (Ant Builder) - buckminster.test.build_d ===
Query complete.