Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Changes to Headless Buckminster in Galileo M6 release
Changes to Headless Buckminster in Galileo M6 release [message #383551] Mon, 23 March 2009 20:01 Go to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080105050306050502000002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

First of all, please note that the following affects the headless
version of Buckminster for Eclipse 3.5 (Galileo) installation. Users on
3.4.x (Ganymede) will not be affected by what's described here.

Starting with the Galileo M6 release, we switched distribution method
for the headless support in Buckminster. The reason for this is that we
now abandon the deprecated old Update Manager to instead rely on P2.

This has two implications:
1. We cannot have more then one update site in one location since
site.xml files are no longer used. As many might have noticed already,
since P2 entered the scene, the Buckminster headless features have been
visible when installing new features using the IDE "Install New
Software" wizard. This is not desirable. So instead of the old sites:

download.eclipse.org/tools/buckminster/updates-3.5/site.xml
download.eclipse.org/tools/buckminster/updates-3.5/headless- site.xml

you will now see the P2 sites:

download.eclipse.org/tools/buckminster/updates-3.5/
download.eclipse.org/tools/buckminster/headless-3.5/

The site.xml/headless-site.xml files are no longer provided.

2. The headless Buckminster product is self managed in the sense that it
is capable of updating itself by installing and uninstalling features.
This is nothing new, but in P2, such a product can not be platform
independent. An installation is always bound to a platform. This left us
with two choices; either we provide one product for each platform as a
zip, or we provide our product as a P2 Installable Unit (IU) from our
repo which we then require the end user to install. We chose the latter.

In order to support headless installation, we now also provide a
headless version of the P2 director application and since it is not
required that this installer can update itself, it can be provided as a
platform independent application. In a headless scenario, this installer
is the bootstrap to get Buckminster headless up and running.

So, how do you go about installing Buckminster then? Well, in short:
1. Download and unzip the director
2. Tell the director to install the buckminster product from the
headless repository.

More details can be found on our downloads page:

http://www.eclipse.org/buckminster/downloads.html

I have attached a build.xml that contains some useful macros/targets
that can be used from Apache Ant. A buckminster command script with a
sample configuration is also attached.

Documentation updates are pending and can be tracked here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=269736

Regards,
Thomas Hallgren


--------------080105050306050502000002
Content-Type: text/xml;
name="build.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="build.xml"

<?xml version="1.0"?>
< !--********************************************************* ***************
* Copyright (c) 2006-2007, Cloudsmith Inc.
* The code, documentation and other materials contained herein have been
* licensed under the Eclipse Public License - v 1.0 by the copyright holder
* listed above, as the Initial Contributor under such license. The text of
* such license is available at www.eclipse.org.
************************************************************ ************-- >

<project name="project">
<!--Optional property file containing overrides for the default properties
-->
<property file="build.properties" />

<!-- Default property settings
-->
<property name="bm.headless.site" value="http://download.eclipse.org/tools/buckminster/headless-3.5/" />
<property name="buildtools" location="${user.home}/buildtools" />
<property name="product.config.script" location="product.config.bmscript" />

<!-- This macro executes the default application of an eclipse installation that resides
in the folder ${buildtools}/@app
-->
<macrodef name="eclipse.launch">
<attribute name="app"/>
<element name="args" optional="true" />
<sequential>
<!-- We assume that the eclipse installation is beneath ${buildtools} -->
<property name="@{app}.deploy.dir" value="${buildtools}/@{app}"/>

<!-- Find the Eclipse launcher and assing its location to the @{app}.launcher property -->
<pathconvert property="@{app}.launcher">
<first count="1">
<sort>
<fileset dir="${@{app}.deploy.dir}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" />
<reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators ">
<date />
</reverse>
</sort>
</first>
</pathconvert>

<!-- Launch the eclipse application -->
<java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}" failonerror="true">
<!-- Uncomment to debug <jvmarg value=" -agentlib:jdwp=transport=dt_socket,address=8000,server=y,sus pend=y "/> -->
<args />
</java>
</sequential>
</macrodef>

<!-- Macro to run a buckminster command -->
<macrodef name="buckminster">
<attribute name="command" default="--scriptfile"/>
<element name="globargs" optional="true" />
<element name="cmdargs" optional="true" />
<sequential>
<eclipse.launch app="buckminster">
<args>
<globargs />
<arg value="@{command}" />
<cmdargs />
</args>
</eclipse.launch>
</sequential>
</macrodef>

<!--Fetch and unzip the director
-->
<property name="director.url" value=" http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminster/products/director_1.0.0.r10030.zip&amp;r=1" />
<available file="${buildtools}/director/director" property="director.exists" />
<target name="get.director" unless="director.exists">
<tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip" property="director.zip" deleteonexit="true"/>
<get src="${director.url}" dest="${director.zip}" />
<unzip src="${director.zip}" dest="${buildtools}" />
</target>

<!--Configure the Buckminster product with needed features
-->
<target name="install.buckminster" depends="get.director">
<delete dir="${buildtools}/buckminster" />
<eclipse.launch app="director">
<args>
<arg value="-ar"/>
<arg value="${bm.headless.site}"/>
<arg value="-mr"/>
<arg value="${bm.headless.site}"/>
<arg value="-dest"/>
<arg value="${buildtools}/buckminster"/>
<arg value="-bundlepool"/>
<arg value="${buildtools}/buckminster"/>
<arg value="-profile"/>
<arg value="Buckminster"/>
<arg value="-installIU"/>
<arg value="org.eclipse.buckminster.cmdline.product"/>
<jvmarg value="-Declipse.p2.data.area=${buildtools}/buckminster/p2"/ >
<jvmarg value="-Declipse.p2.profile=Buckminster"/>
</args>
</eclipse.launch>
</target>

<!--Configure the Buckminster product with needed features
-->
<target name="configure.product" depends="install.buckminster">
<buckminster>
<globargs>
<jvmarg value="-Dbm.headless.site=${bm.headless.site}" />
</globargs>
<cmdargs>
<arg value="${product.config.script}" />
</cmdargs>
</buckminster>
</target>

<target name="clean.all" depends="clean.buckminster">
<delete dir="${buildtools}/director" />
</target>

<target name="clean.buckminster">
<delete dir="${buildtools}/buckminster" />
</target>
</project>

--------------080105050306050502000002
Content-Type: text/plain;
name="product.config.bmscript"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="product.config.bmscript"

install ${bm.headless.site} org.eclipse.buckminster.core.headless.feature
install ${bm.headless.site} org.eclipse.buckminster.maven.feature
install ${bm.headless.site} org.eclipse.buckminster.cvs.headless.feature
install ${bm.headless.site} org.eclipse.buckminster.pde.headless.feature

--------------080105050306050502000002--
Re: Changes to Headless Buckminster in Galileo M6 release [message #383563 is a reply to message #383551] Fri, 27 March 2009 10:37 Go to previous messageGo to next message
Renat Zubairov is currently offline Renat ZubairovFriend
Messages: 30
Registered: July 2009
Member
Hello Thomas,

Thank you for the update, however what you've posted unfortunately does not
work :(.

I run your ANT script using Ant 1.7.1 but it fails when buckminster tries to
dowlnoad it's parts. Here is the how it is happening:

[noname:STPBPMN/build/buckminster] zubairov% !ant
ant -f buckminster35.xml configure.product
Buildfile: buckminster35.xml

get.director:

install.buckminster:
[delete] Deleting directory /Users/zubairov/buildtools/buckminster
[java] Installing org.eclipse.buckminster.cmdline.product
1.1.350.r10034.
[java] Operation completed in 40410 ms.

configure.product:
[java] org.eclipse.buckminster.cmdline.parser.InvalidOptionExceptio n:
The option '--loglevel DEBUG' is invalid

BUILD FAILED
/Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:104
: The following error occurred while executing this line:
/Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:57:
The following error occurred while executing this line:
/Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:44:
Java returned: 1

Total time: 43 seconds

When I tried to install update from the command line with traces enabled
then I see following exception:


An error occurred while installing the items
[0]session context was:(profile=Buckminster,
phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Install,
operand=null --> [R]com.ibm.icu.base 4.0.1.v20090109,
action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.InstallBun
dleAction).
[0]Error while loading manipulator.
Caused by: [0]java.lang.IllegalStateException: Error while loading
manipulator.
at
org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.loadDeleg
ate(LazyManipulator.java:54)
at
org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.getConfig
Data(LazyManipulator.java:108)
at
org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
on.installBundle(InstallBundleAction.java:76)
at
org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
on.execute(InstallBundleAction.java:29)
at
org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio ningAction.execu
te(ParameterizedProvisioningAction.java:33)

BR
Renat


On 23.03.09 21:01, in article gq8pqs$hth$1@build.eclipse.org, "Thomas
Hallgren" <thomas@tada.se> wrote:

> First of all, please note that the following affects the headless
> version of Buckminster for Eclipse 3.5 (Galileo) installation. Users on
> 3.4.x (Ganymede) will not be affected by what's described here.
>
> Starting with the Galileo M6 release, we switched distribution method
> for the headless support in Buckminster. The reason for this is that we
> now abandon the deprecated old Update Manager to instead rely on P2.
>
> This has two implications:
> 1. We cannot have more then one update site in one location since
> site.xml files are no longer used. As many might have noticed already,
> since P2 entered the scene, the Buckminster headless features have been
> visible when installing new features using the IDE "Install New
> Software" wizard. This is not desirable. So instead of the old sites:
>
> download.eclipse.org/tools/buckminster/updates-3.5/site.xml
> download.eclipse.org/tools/buckminster/updates-3.5/headless- site.xml
>
> you will now see the P2 sites:
>
> download.eclipse.org/tools/buckminster/updates-3.5/
> download.eclipse.org/tools/buckminster/headless-3.5/
>
> The site.xml/headless-site.xml files are no longer provided.
>
> 2. The headless Buckminster product is self managed in the sense that it
> is capable of updating itself by installing and uninstalling features.
> This is nothing new, but in P2, such a product can not be platform
> independent. An installation is always bound to a platform. This left us
> with two choices; either we provide one product for each platform as a
> zip, or we provide our product as a P2 Installable Unit (IU) from our
> repo which we then require the end user to install. We chose the latter.
>
> In order to support headless installation, we now also provide a
> headless version of the P2 director application and since it is not
> required that this installer can update itself, it can be provided as a
> platform independent application. In a headless scenario, this installer
> is the bootstrap to get Buckminster headless up and running.
>
> So, how do you go about installing Buckminster then? Well, in short:
> 1. Download and unzip the director
> 2. Tell the director to install the buckminster product from the
> headless repository.
>
> More details can be found on our downloads page:
>
> http://www.eclipse.org/buckminster/downloads.html
>
> I have attached a build.xml that contains some useful macros/targets
> that can be used from Apache Ant. A buckminster command script with a
> sample configuration is also attached.
>
> Documentation updates are pending and can be tracked here:
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=269736
>
> Regards,
> Thomas Hallgren
>
> <?xml version="1.0"?>
> < !--********************************************************* ***************
> * Copyright (c) 2006-2007, Cloudsmith Inc.
> * The code, documentation and other materials contained herein have been
> * licensed under the Eclipse Public License - v 1.0 by the copyright holder
> * listed above, as the Initial Contributor under such license. The text of
> * such license is available at www.eclipse.org.
> ************************************************************ ************-- >
>
> <project name="project">
> <!--Optional property file containing overrides for the default properties
> -->
> <property file="build.properties" />
>
> <!-- Default property settings
> -->
> <property name="bm.headless.site"
> value="http://download.eclipse.org/tools/buckminster/headless-3.5/" />
> <property name="buildtools" location="${user.home}/buildtools" />
> <property name="product.config.script" location="product.config.bmscript" />
>
> <!-- This macro executes the default application of an eclipse installation
> that resides
> in the folder ${buildtools}/@app
> -->
> <macrodef name="eclipse.launch">
> <attribute name="app"/>
> <element name="args" optional="true" />
> <sequential>
> <!-- We assume that the eclipse installation is beneath ${buildtools} -->
> <property name="@{app}.deploy.dir" value="${buildtools}/@{app}"/>
>
> <!-- Find the Eclipse launcher and assing its location to the @{app}.launcher
> property -->
> <pathconvert property="@{app}.launcher">
> <first count="1">
> <sort>
> <fileset dir="${@{app}.deploy.dir}/plugins"
> includes="**/org.eclipse.equinox.launcher_*.jar" />
> <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators ">
> <date />
> </reverse>
> </sort>
> </first>
> </pathconvert>
>
> <!-- Launch the eclipse application -->
> <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}"
> failonerror="true">
> <!-- Uncomment to debug <jvmarg
> value=" -agentlib:jdwp=transport=dt_socket,address=8000,server=y,sus pend=y "/>
> -->
> <args />
> </java>
> </sequential>
> </macrodef>
>
> <!-- Macro to run a buckminster command -->
> <macrodef name="buckminster">
> <attribute name="command" default="--scriptfile"/>
> <element name="globargs" optional="true" />
> <element name="cmdargs" optional="true" />
> <sequential>
> <eclipse.launch app="buckminster">
> <args>
> <globargs />
> <arg value="@{command}" />
> <cmdargs />
> </args>
> </eclipse.launch>
> </sequential>
> </macrodef>
>
> <!--Fetch and unzip the director
> -->
> <property name="director.url"
> value=" http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminster/p
> roducts/director_1.0.0.r10030.zip&amp;r=1" />
> <available file="${buildtools}/director/director" property="director.exists"
> />
> <target name="get.director" unless="director.exists">
> <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip"
> property="director.zip" deleteonexit="true"/>
> <get src="${director.url}" dest="${director.zip}" />
> <unzip src="${director.zip}" dest="${buildtools}" />
> </target>
>
> <!--Configure the Buckminster product with needed features
> -->
> <target name="install.buckminster" depends="get.director">
> <delete dir="${buildtools}/buckminster" />
> <eclipse.launch app="director">
> <args>
> <arg value="-ar"/>
> <arg value="${bm.headless.site}"/>
> <arg value="-mr"/>
> <arg value="${bm.headless.site}"/>
> <arg value="-dest"/>
> <arg value="${buildtools}/buckminster"/>
> <arg value="-bundlepool"/>
> <arg value="${buildtools}/buckminster"/>
> <arg value="-profile"/>
> <arg value="Buckminster"/>
> <arg value="-installIU"/>
> <arg value="org.eclipse.buckminster.cmdline.product"/>
> <jvmarg value="-Declipse.p2.data.area=${buildtools}/buckminster/p2"/ >
> <jvmarg value="-Declipse.p2.profile=Buckminster"/>
> </args>
> </eclipse.launch>
> </target>
>
> <!--Configure the Buckminster product with needed features
> -->
> <target name="configure.product" depends="install.buckminster">
> <buckminster>
> <globargs>
> <jvmarg value="-Dbm.headless.site=${bm.headless.site}" />
> </globargs>
> <cmdargs>
> <arg value="${product.config.script}" />
> </cmdargs>
> </buckminster>
> </target>
>
> <target name="clean.all" depends="clean.buckminster">
> <delete dir="${buildtools}/director" />
> </target>
>
> <target name="clean.buckminster">
> <delete dir="${buildtools}/buckminster" />
> </target>
> </project>
> install ${bm.headless.site} org.eclipse.buckminster.core.headless.feature
> install ${bm.headless.site} org.eclipse.buckminster.maven.feature
> install ${bm.headless.site} org.eclipse.buckminster.cvs.headless.feature
> install ${bm.headless.site} org.eclipse.buckminster.pde.headless.feature
Re: Changes to Headless Buckminster in Galileo M6 release [message #383566 is a reply to message #383563] Fri, 27 March 2009 11:27 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Renat,
Could this be caused by an invalid argument entry?

You would typically get this error if you add something that looks like
this:

<arg value="--loglevel DEBUG" />

instead of:

<arg value="--loglevel" />
<arg value="DEBUG" />

Not sure how this is related to the problems you see when loading the
manipulator though. What platform are you running on?

Regards,
Thomas Hallgren



Renat Zubairov wrote:
> Hello Thomas,
>
> Thank you for the update, however what you've posted unfortunately does not
> work :(.
>
> I run your ANT script using Ant 1.7.1 but it fails when buckminster tries to
> dowlnoad it's parts. Here is the how it is happening:
>
> [noname:STPBPMN/build/buckminster] zubairov% !ant
> ant -f buckminster35.xml configure.product
> Buildfile: buckminster35.xml
>
> get.director:
>
> install.buckminster:
> [delete] Deleting directory /Users/zubairov/buildtools/buckminster
> [java] Installing org.eclipse.buckminster.cmdline.product
> 1.1.350.r10034.
> [java] Operation completed in 40410 ms.
>
> configure.product:
> [java] org.eclipse.buckminster.cmdline.parser.InvalidOptionExceptio n:
> The option '--loglevel DEBUG' is invalid
>
> BUILD FAILED
> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:104
> : The following error occurred while executing this line:
> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:57:
> The following error occurred while executing this line:
> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:44:
> Java returned: 1
>
> Total time: 43 seconds
>
> When I tried to install update from the command line with traces enabled
> then I see following exception:
>
>
> An error occurred while installing the items
> [0]session context was:(profile=Buckminster,
> phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Install,
> operand=null --> [R]com.ibm.icu.base 4.0.1.v20090109,
> action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.InstallBun
> dleAction).
> [0]Error while loading manipulator.
> Caused by: [0]java.lang.IllegalStateException: Error while loading
> manipulator.
> at
> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.loadDeleg
> ate(LazyManipulator.java:54)
> at
> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.getConfig
> Data(LazyManipulator.java:108)
> at
> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
> on.installBundle(InstallBundleAction.java:76)
> at
> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
> on.execute(InstallBundleAction.java:29)
> at
> org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio ningAction.execu
> te(ParameterizedProvisioningAction.java:33)
>
> BR
> Renat
>
>
> On 23.03.09 21:01, in article gq8pqs$hth$1@build.eclipse.org, "Thomas
> Hallgren" <thomas@tada.se> wrote:
>
>> First of all, please note that the following affects the headless
>> version of Buckminster for Eclipse 3.5 (Galileo) installation. Users on
>> 3.4.x (Ganymede) will not be affected by what's described here.
>>
>> Starting with the Galileo M6 release, we switched distribution method
>> for the headless support in Buckminster. The reason for this is that we
>> now abandon the deprecated old Update Manager to instead rely on P2.
>>
>> This has two implications:
>> 1. We cannot have more then one update site in one location since
>> site.xml files are no longer used. As many might have noticed already,
>> since P2 entered the scene, the Buckminster headless features have been
>> visible when installing new features using the IDE "Install New
>> Software" wizard. This is not desirable. So instead of the old sites:
>>
>> download.eclipse.org/tools/buckminster/updates-3.5/site.xml
>> download.eclipse.org/tools/buckminster/updates-3.5/headless- site.xml
>>
>> you will now see the P2 sites:
>>
>> download.eclipse.org/tools/buckminster/updates-3.5/
>> download.eclipse.org/tools/buckminster/headless-3.5/
>>
>> The site.xml/headless-site.xml files are no longer provided.
>>
>> 2. The headless Buckminster product is self managed in the sense that it
>> is capable of updating itself by installing and uninstalling features.
>> This is nothing new, but in P2, such a product can not be platform
>> independent. An installation is always bound to a platform. This left us
>> with two choices; either we provide one product for each platform as a
>> zip, or we provide our product as a P2 Installable Unit (IU) from our
>> repo which we then require the end user to install. We chose the latter.
>>
>> In order to support headless installation, we now also provide a
>> headless version of the P2 director application and since it is not
>> required that this installer can update itself, it can be provided as a
>> platform independent application. In a headless scenario, this installer
>> is the bootstrap to get Buckminster headless up and running.
>>
>> So, how do you go about installing Buckminster then? Well, in short:
>> 1. Download and unzip the director
>> 2. Tell the director to install the buckminster product from the
>> headless repository.
>>
>> More details can be found on our downloads page:
>>
>> http://www.eclipse.org/buckminster/downloads.html
>>
>> I have attached a build.xml that contains some useful macros/targets
>> that can be used from Apache Ant. A buckminster command script with a
>> sample configuration is also attached.
>>
>> Documentation updates are pending and can be tracked here:
>>
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=269736
>>
>> Regards,
>> Thomas Hallgren
>>
>> <?xml version="1.0"?>
>> < !--********************************************************* ***************
>> * Copyright (c) 2006-2007, Cloudsmith Inc.
>> * The code, documentation and other materials contained herein have been
>> * licensed under the Eclipse Public License - v 1.0 by the copyright holder
>> * listed above, as the Initial Contributor under such license. The text of
>> * such license is available at www.eclipse.org.
>> ************************************************************ ************-- >
>>
>> <project name="project">
>> <!--Optional property file containing overrides for the default properties
>> -->
>> <property file="build.properties" />
>>
>> <!-- Default property settings
>> -->
>> <property name="bm.headless.site"
>> value="http://download.eclipse.org/tools/buckminster/headless-3.5/" />
>> <property name="buildtools" location="${user.home}/buildtools" />
>> <property name="product.config.script" location="product.config.bmscript" />
>>
>> <!-- This macro executes the default application of an eclipse installation
>> that resides
>> in the folder ${buildtools}/@app
>> -->
>> <macrodef name="eclipse.launch">
>> <attribute name="app"/>
>> <element name="args" optional="true" />
>> <sequential>
>> <!-- We assume that the eclipse installation is beneath ${buildtools} -->
>> <property name="@{app}.deploy.dir" value="${buildtools}/@{app}"/>
>>
>> <!-- Find the Eclipse launcher and assing its location to the @{app}.launcher
>> property -->
>> <pathconvert property="@{app}.launcher">
>> <first count="1">
>> <sort>
>> <fileset dir="${@{app}.deploy.dir}/plugins"
>> includes="**/org.eclipse.equinox.launcher_*.jar" />
>> <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators ">
>> <date />
>> </reverse>
>> </sort>
>> </first>
>> </pathconvert>
>>
>> <!-- Launch the eclipse application -->
>> <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}"
>> failonerror="true">
>> <!-- Uncomment to debug <jvmarg
>> value=" -agentlib:jdwp=transport=dt_socket,address=8000,server=y,sus pend=y "/>
>> -->
>> <args />
>> </java>
>> </sequential>
>> </macrodef>
>>
>> <!-- Macro to run a buckminster command -->
>> <macrodef name="buckminster">
>> <attribute name="command" default="--scriptfile"/>
>> <element name="globargs" optional="true" />
>> <element name="cmdargs" optional="true" />
>> <sequential>
>> <eclipse.launch app="buckminster">
>> <args>
>> <globargs />
>> <arg value="@{command}" />
>> <cmdargs />
>> </args>
>> </eclipse.launch>
>> </sequential>
>> </macrodef>
>>
>> <!--Fetch and unzip the director
>> -->
>> <property name="director.url"
>> value=" http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminster/p
>> roducts/director_1.0.0.r10030.zip&amp;r=1" />
>> <available file="${buildtools}/director/director" property="director.exists"
>> />
>> <target name="get.director" unless="director.exists">
>> <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip"
>> property="director.zip" deleteonexit="true"/>
>> <get src="${director.url}" dest="${director.zip}" />
>> <unzip src="${director.zip}" dest="${buildtools}" />
>> </target>
>>
>> <!--Configure the Buckminster product with needed features
>> -->
>> <target name="install.buckminster" depends="get.director">
>> <delete dir="${buildtools}/buckminster" />
>> <eclipse.launch app="director">
>> <args>
>> <arg value="-ar"/>
>> <arg value="${bm.headless.site}"/>
>> <arg value="-mr"/>
>> <arg value="${bm.headless.site}"/>
>> <arg value="-dest"/>
>> <arg value="${buildtools}/buckminster"/>
>> <arg value="-bundlepool"/>
>> <arg value="${buildtools}/buckminster"/>
>> <arg value="-profile"/>
>> <arg value="Buckminster"/>
>> <arg value="-installIU"/>
>> <arg value="org.eclipse.buckminster.cmdline.product"/>
>> <jvmarg value="-Declipse.p2.data.area=${buildtools}/buckminster/p2"/ >
>> <jvmarg value="-Declipse.p2.profile=Buckminster"/>
>> </args>
>> </eclipse.launch>
>> </target>
>>
>> <!--Configure the Buckminster product with needed features
>> -->
>> <target name="configure.product" depends="install.buckminster">
>> <buckminster>
>> <globargs>
>> <jvmarg value="-Dbm.headless.site=${bm.headless.site}" />
>> </globargs>
>> <cmdargs>
>> <arg value="${product.config.script}" />
>> </cmdargs>
>> </buckminster>
>> </target>
>>
>> <target name="clean.all" depends="clean.buckminster">
>> <delete dir="${buildtools}/director" />
>> </target>
>>
>> <target name="clean.buckminster">
>> <delete dir="${buildtools}/buckminster" />
>> </target>
>> </project>
>> install ${bm.headless.site} org.eclipse.buckminster.core.headless.feature
>> install ${bm.headless.site} org.eclipse.buckminster.maven.feature
>> install ${bm.headless.site} org.eclipse.buckminster.cvs.headless.feature
>> install ${bm.headless.site} org.eclipse.buckminster.pde.headless.feature
>
Re: Changes to Headless Buckminster in Galileo M6 release [message #383571 is a reply to message #383566] Fri, 27 March 2009 11:55 Go to previous messageGo to next message
Renat Zubairov is currently offline Renat ZubairovFriend
Messages: 30
Registered: July 2009
Member
I'm running on Mac OS X Leopard. With java:
[noname:~] zubairov% java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)

And ANT:
Apache Ant version 1.7.1 compiled on June 27 2008

This can't be argument entry error since I haven't changed the build.xml
you've attached to your post. What is also interesting when I doing it by
hand, so downloading director and executing from command line everything
works, but not from the ANT.

Renat


On 27.03.09 12:27, in article gqid6m$56p$1@build.eclipse.org, "Thomas
Hallgren" <thomas@tada.se> wrote:

> Hi Renat,
> Could this be caused by an invalid argument entry?
>
> You would typically get this error if you add something that looks like
> this:
>
> <arg value="--loglevel DEBUG" />
>
> instead of:
>
> <arg value="--loglevel" />
> <arg value="DEBUG" />
>
> Not sure how this is related to the problems you see when loading the
> manipulator though. What platform are you running on?
>
> Regards,
> Thomas Hallgren
>
>
>
> Renat Zubairov wrote:
>> Hello Thomas,
>>
>> Thank you for the update, however what you've posted unfortunately does not
>> work :(.
>>
>> I run your ANT script using Ant 1.7.1 but it fails when buckminster tries to
>> dowlnoad it's parts. Here is the how it is happening:
>>
>> [noname:STPBPMN/build/buckminster] zubairov% !ant
>> ant -f buckminster35.xml configure.product
>> Buildfile: buckminster35.xml
>>
>> get.director:
>>
>> install.buckminster:
>> [delete] Deleting directory /Users/zubairov/buildtools/buckminster
>> [java] Installing org.eclipse.buckminster.cmdline.product
>> 1.1.350.r10034.
>> [java] Operation completed in 40410 ms.
>>
>> configure.product:
>> [java] org.eclipse.buckminster.cmdline.parser.InvalidOptionExceptio n:
>> The option '--loglevel DEBUG' is invalid
>>
>> BUILD FAILED
>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:104
>> : The following error occurred while executing this line:
>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:57:
>> The following error occurred while executing this line:
>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:44:
>> Java returned: 1
>>
>> Total time: 43 seconds
>>
>> When I tried to install update from the command line with traces enabled
>> then I see following exception:
>>
>>
>> An error occurred while installing the items
>> [0]session context was:(profile=Buckminster,
>> phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Install,
>> operand=null --> [R]com.ibm.icu.base 4.0.1.v20090109,
>> action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.InstallBun
>> dleAction).
>> [0]Error while loading manipulator.
>> Caused by: [0]java.lang.IllegalStateException: Error while loading
>> manipulator.
>> at
>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.loadDeleg
>> ate(LazyManipulator.java:54)
>> at
>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.getConfig
>> Data(LazyManipulator.java:108)
>> at
>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
>> on.installBundle(InstallBundleAction.java:76)
>> at
>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
>> on.execute(InstallBundleAction.java:29)
>> at
>> org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio ningAction.execu
>> te(ParameterizedProvisioningAction.java:33)
>>
>> BR
>> Renat
>>
>>
>> On 23.03.09 21:01, in article gq8pqs$hth$1@build.eclipse.org, "Thomas
>> Hallgren" <thomas@tada.se> wrote:
>>
>>> First of all, please note that the following affects the headless
>>> version of Buckminster for Eclipse 3.5 (Galileo) installation. Users on
>>> 3.4.x (Ganymede) will not be affected by what's described here.
>>>
>>> Starting with the Galileo M6 release, we switched distribution method
>>> for the headless support in Buckminster. The reason for this is that we
>>> now abandon the deprecated old Update Manager to instead rely on P2.
>>>
>>> This has two implications:
>>> 1. We cannot have more then one update site in one location since
>>> site.xml files are no longer used. As many might have noticed already,
>>> since P2 entered the scene, the Buckminster headless features have been
>>> visible when installing new features using the IDE "Install New
>>> Software" wizard. This is not desirable. So instead of the old sites:
>>>
>>> download.eclipse.org/tools/buckminster/updates-3.5/site.xml
>>> download.eclipse.org/tools/buckminster/updates-3.5/headless- site.xml
>>>
>>> you will now see the P2 sites:
>>>
>>> download.eclipse.org/tools/buckminster/updates-3.5/
>>> download.eclipse.org/tools/buckminster/headless-3.5/
>>>
>>> The site.xml/headless-site.xml files are no longer provided.
>>>
>>> 2. The headless Buckminster product is self managed in the sense that it
>>> is capable of updating itself by installing and uninstalling features.
>>> This is nothing new, but in P2, such a product can not be platform
>>> independent. An installation is always bound to a platform. This left us
>>> with two choices; either we provide one product for each platform as a
>>> zip, or we provide our product as a P2 Installable Unit (IU) from our
>>> repo which we then require the end user to install. We chose the latter.
>>>
>>> In order to support headless installation, we now also provide a
>>> headless version of the P2 director application and since it is not
>>> required that this installer can update itself, it can be provided as a
>>> platform independent application. In a headless scenario, this installer
>>> is the bootstrap to get Buckminster headless up and running.
>>>
>>> So, how do you go about installing Buckminster then? Well, in short:
>>> 1. Download and unzip the director
>>> 2. Tell the director to install the buckminster product from the
>>> headless repository.
>>>
>>> More details can be found on our downloads page:
>>>
>>> http://www.eclipse.org/buckminster/downloads.html
>>>
>>> I have attached a build.xml that contains some useful macros/targets
>>> that can be used from Apache Ant. A buckminster command script with a
>>> sample configuration is also attached.
>>>
>>> Documentation updates are pending and can be tracked here:
>>>
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=269736
>>>
>>> Regards,
>>> Thomas Hallgren
>>>
>>> <?xml version="1.0"?>
>>> < !--********************************************************* ***************
>>> * Copyright (c) 2006-2007, Cloudsmith Inc.
>>> * The code, documentation and other materials contained herein have been
>>> * licensed under the Eclipse Public License - v 1.0 by the copyright holder
>>> * listed above, as the Initial Contributor under such license. The text of
>>> * such license is available at www.eclipse.org.
>>> ************************************************************ ************-- >
>>>
>>> <project name="project">
>>> <!--Optional property file containing overrides for the default properties
>>> -->
>>> <property file="build.properties" />
>>>
>>> <!-- Default property settings
>>> -->
>>> <property name="bm.headless.site"
>>> value="http://download.eclipse.org/tools/buckminster/headless-3.5/" />
>>> <property name="buildtools" location="${user.home}/buildtools" />
>>> <property name="product.config.script" location="product.config.bmscript" />
>>>
>>> <!-- This macro executes the default application of an eclipse installation
>>> that resides
>>> in the folder ${buildtools}/@app
>>> -->
>>> <macrodef name="eclipse.launch">
>>> <attribute name="app"/>
>>> <element name="args" optional="true" />
>>> <sequential>
>>> <!-- We assume that the eclipse installation is beneath ${buildtools} -->
>>> <property name="@{app}.deploy.dir" value="${buildtools}/@{app}"/>
>>>
>>> <!-- Find the Eclipse launcher and assing its location to the
>>> @{app}.launcher
>>> property -->
>>> <pathconvert property="@{app}.launcher">
>>> <first count="1">
>>> <sort>
>>> <fileset dir="${@{app}.deploy.dir}/plugins"
>>> includes="**/org.eclipse.equinox.launcher_*.jar" />
>>> <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators ">
>>> <date />
>>> </reverse>
>>> </sort>
>>> </first>
>>> </pathconvert>
>>>
>>> <!-- Launch the eclipse application -->
>>> <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}"
>>> failonerror="true">
>>> <!-- Uncomment to debug <jvmarg
>>> value=" -agentlib:jdwp=transport=dt_socket,address=8000,server=y,sus pend=y "/>
>>> -->
>>> <args />
>>> </java>
>>> </sequential>
>>> </macrodef>
>>>
>>> <!-- Macro to run a buckminster command -->
>>> <macrodef name="buckminster">
>>> <attribute name="command" default="--scriptfile"/>
>>> <element name="globargs" optional="true" />
>>> <element name="cmdargs" optional="true" />
>>> <sequential>
>>> <eclipse.launch app="buckminster">
>>> <args>
>>> <globargs />
>>> <arg value="@{command}" />
>>> <cmdargs />
>>> </args>
>>> </eclipse.launch>
>>> </sequential>
>>> </macrodef>
>>>
>>> <!--Fetch and unzip the director
>>> -->
>>> <property name="director.url"
>>> value=" http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminster
>>> /p
>>> roducts/director_1.0.0.r10030.zip&amp;r=1" />
>>> <available file="${buildtools}/director/director" property="director.exists"
>>> />
>>> <target name="get.director" unless="director.exists">
>>> <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip"
>>> property="director.zip" deleteonexit="true"/>
>>> <get src="${director.url}" dest="${director.zip}" />
>>> <unzip src="${director.zip}" dest="${buildtools}" />
>>> </target>
>>>
>>> <!--Configure the Buckminster product with needed features
>>> -->
>>> <target name="install.buckminster" depends="get.director">
>>> <delete dir="${buildtools}/buckminster" />
>>> <eclipse.launch app="director">
>>> <args>
>>> <arg value="-ar"/>
>>> <arg value="${bm.headless.site}"/>
>>> <arg value="-mr"/>
>>> <arg value="${bm.headless.site}"/>
>>> <arg value="-dest"/>
>>> <arg value="${buildtools}/buckminster"/>
>>> <arg value="-bundlepool"/>
>>> <arg value="${buildtools}/buckminster"/>
>>> <arg value="-profile"/>
>>> <arg value="Buckminster"/>
>>> <arg value="-installIU"/>
>>> <arg value="org.eclipse.buckminster.cmdline.product"/>
>>> <jvmarg value="-Declipse.p2.data.area=${buildtools}/buckminster/p2"/ >
>>> <jvmarg value="-Declipse.p2.profile=Buckminster"/>
>>> </args>
>>> </eclipse.launch>
>>> </target>
>>>
>>> <!--Configure the Buckminster product with needed features
>>> -->
>>> <target name="configure.product" depends="install.buckminster">
>>> <buckminster>
>>> <globargs>
>>> <jvmarg value="-Dbm.headless.site=${bm.headless.site}" />
>>> </globargs>
>>> <cmdargs>
>>> <arg value="${product.config.script}" />
>>> </cmdargs>
>>> </buckminster>
>>> </target>
>>>
>>> <target name="clean.all" depends="clean.buckminster">
>>> <delete dir="${buildtools}/director" />
>>> </target>
>>>
>>> <target name="clean.buckminster">
>>> <delete dir="${buildtools}/buckminster" />
>>> </target>
>>> </project>
>>> install ${bm.headless.site} org.eclipse.buckminster.core.headless.feature
>>> install ${bm.headless.site} org.eclipse.buckminster.maven.feature
>>> install ${bm.headless.site} org.eclipse.buckminster.cvs.headless.feature
>>> install ${bm.headless.site} org.eclipse.buckminster.pde.headless.feature
>>
Re: Changes to Headless Buckminster in Galileo M6 release [message #383575 is a reply to message #383571] Fri, 27 March 2009 14:11 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Renat,

Renat Zubairov wrote:
> This can't be argument entry error since I haven't changed the build.xml
> you've attached to your post.

But that build.xml doesn't use --loglevel at all. So where does that
come from?

Regards,
Thomas Hallgren
Re: Changes to Headless Buckminster in Galileo M6 release [message #383833 is a reply to message #383571] Mon, 30 March 2009 06:48 Go to previous messageGo to next message
Renat Zubairov is currently offline Renat ZubairovFriend
Messages: 30
Registered: July 2009
Member
Hi Thomas,

Sorry it was my mistake, I posted the wrong exception message before, the
one with "-Dloglevel...", when I just trying to run ANT script you posted
before I got following exceptions:

Buildfile: build.xml

BUILD SUCCESSFUL
Total time: 0 seconds
[noname:/tmp/buckminster] zubairov% ant configure.product
Buildfile: build.xml

get.director:
[get] Getting:
http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminster/produc
ts/director_1.0.0.r10030.zip&r=1
[get] To: /tmp/director-768361641.zip
[unzip] Expanding: /tmp/director-768361641.zip into
/Users/zubairov/buildtools

install.buckminster:
[java] Installing org.eclipse.buckminster.cmdline.product
1.1.350.r10034.
[java] Operation completed in 48066 ms.

configure.product:
[java] INFO: install
'http://download.eclipse.org/tools/buckminster/headless-3.5/'
'org.eclipse.buckminster.core.headless.feature'
[java] An error occurred while installing the items
[java] [0]session context was:(profile=Buckminster,
phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Install,
operand=null --> [R]com.ibm.icu.base 4.0.1.v20090109,
action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.InstallBun
dleAction).
[java] [0]Error while loading manipulator.
[java] Caused by:

BUILD FAILED
/private/tmp/buckminster/build.xml:104: The following error occurred while
executing this line:
/private/tmp/buckminster/build.xml:57: The following error occurred while
executing this line:
/private/tmp/buckminster/build.xml:44: Java returned: 1

Renat


On 27.03.09 12:55, in article C5F27D4B.22ED%renat.zubairov@sopera.de, "Renat
Zubairov" <renat.zubairov@sopera.de> wrote:

> I'm running on Mac OS X Leopard. With java:
> [noname:~] zubairov% java -version
> java version "1.5.0_16"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
> Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)
>
> And ANT:
> Apache Ant version 1.7.1 compiled on June 27 2008
>
> This can't be argument entry error since I haven't changed the build.xml
> you've attached to your post. What is also interesting when I doing it by
> hand, so downloading director and executing from command line everything
> works, but not from the ANT.
>
> Renat
>
>
> On 27.03.09 12:27, in article gqid6m$56p$1@build.eclipse.org, "Thomas
> Hallgren" <thomas@tada.se> wrote:
>
>> Hi Renat,
>> Could this be caused by an invalid argument entry?
>>
>> You would typically get this error if you add something that looks like
>> this:
>>
>> <arg value="--loglevel DEBUG" />
>>
>> instead of:
>>
>> <arg value="--loglevel" />
>> <arg value="DEBUG" />
>>
>> Not sure how this is related to the problems you see when loading the
>> manipulator though. What platform are you running on?
>>
>> Regards,
>> Thomas Hallgren
>>
>>
>>
>> Renat Zubairov wrote:
>>> Hello Thomas,
>>>
>>> Thank you for the update, however what you've posted unfortunately does not
>>> work :(.
>>>
>>> I run your ANT script using Ant 1.7.1 but it fails when buckminster tries to
>>> dowlnoad it's parts. Here is the how it is happening:
>>>
>>> [noname:STPBPMN/build/buckminster] zubairov% !ant
>>> ant -f buckminster35.xml configure.product
>>> Buildfile: buckminster35.xml
>>>
>>> get.director:
>>>
>>> install.buckminster:
>>> [delete] Deleting directory /Users/zubairov/buildtools/buckminster
>>> [java] Installing org.eclipse.buckminster.cmdline.product
>>> 1.1.350.r10034.
>>> [java] Operation completed in 40410 ms.
>>>
>>> configure.product:
>>> [java] org.eclipse.buckminster.cmdline.parser.InvalidOptionExceptio n:
>>> The option '--loglevel DEBUG' is invalid
>>>
>>> BUILD FAILED
>>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:104
>>> : The following error occurred while executing this line:
>>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:57:
>>> The following error occurred while executing this line:
>>> /Users/zubairov/Repositories/STPBPMN/build/buckminster/buckm inster35.xml:44:
>>> Java returned: 1
>>>
>>> Total time: 43 seconds
>>>
>>> When I tried to install update from the command line with traces enabled
>>> then I see following exception:
>>>
>>>
>>> An error occurred while installing the items
>>> [0]session context was:(profile=Buckminster,
>>> phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Install,
>>> operand=null --> [R]com.ibm.icu.base 4.0.1.v20090109,
>>> action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.InstallBun
>>> dleAction).
>>> [0]Error while loading manipulator.
>>> Caused by: [0]java.lang.IllegalStateException: Error while loading
>>> manipulator.
>>> at
>>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.loadDeleg
>>> ate(LazyManipulator.java:54)
>>> at
>>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.getConfig
>>> Data(LazyManipulator.java:108)
>>> at
>>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
>>> on.installBundle(InstallBundleAction.java:76)
>>> at
>>> org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.I nstallBundleActi
>>> on.execute(InstallBundleAction.java:29)
>>> at
>>> org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio ningAction.execu
>>> te(ParameterizedProvisioningAction.java:33)
>>>
>>> BR
>>> Renat
>>>
>>>
>>> On 23.03.09 21:01, in article gq8pqs$hth$1@build.eclipse.org, "Thomas
>>> Hallgren" <thomas@tada.se> wrote:
>>>
>>>> First of all, please note that the following affects the headless
>>>> version of Buckminster for Eclipse 3.5 (Galileo) installation. Users on
>>>> 3.4.x (Ganymede) will not be affected by what's described here.
>>>>
>>>> Starting with the Galileo M6 release, we switched distribution method
>>>> for the headless support in Buckminster. The reason for this is that we
>>>> now abandon the deprecated old Update Manager to instead rely on P2.
>>>>
>>>> This has two implications:
>>>> 1. We cannot have more then one update site in one location since
>>>> site.xml files are no longer used. As many might have noticed already,
>>>> since P2 entered the scene, the Buckminster headless features have been
>>>> visible when installing new features using the IDE "Install New
>>>> Software" wizard. This is not desirable. So instead of the old sites:
>>>>
>>>> download.eclipse.org/tools/buckminster/updates-3.5/site.xml
>>>> download.eclipse.org/tools/buckminster/updates-3.5/headless- site.xml
>>>>
>>>> you will now see the P2 sites:
>>>>
>>>> download.eclipse.org/tools/buckminster/updates-3.5/
>>>> download.eclipse.org/tools/buckminster/headless-3.5/
>>>>
>>>> The site.xml/headless-site.xml files are no longer provided.
>>>>
>>>> 2. The headless Buckminster product is self managed in the sense that it
>>>> is capable of updating itself by installing and uninstalling features.
>>>> This is nothing new, but in P2, such a product can not be platform
>>>> independent. An installation is always bound to a platform. This left us
>>>> with two choices; either we provide one product for each platform as a
>>>> zip, or we provide our product as a P2 Installable Unit (IU) from our
>>>> repo which we then require the end user to install. We chose the latter.
>>>>
>>>> In order to support headless installation, we now also provide a
>>>> headless version of the P2 director application and since it is not
>>>> required that this installer can update itself, it can be provided as a
>>>> platform independent application. In a headless scenario, this installer
>>>> is the bootstrap to get Buckminster headless up and running.
>>>>
>>>> So, how do you go about installing Buckminster then? Well, in short:
>>>> 1. Download and unzip the director
>>>> 2. Tell the director to install the buckminster product from the
>>>> headless repository.
>>>>
>>>> More details can be found on our downloads page:
>>>>
>>>> http://www.eclipse.org/buckminster/downloads.html
>>>>
>>>> I have attached a build.xml that contains some useful macros/targets
>>>> that can be used from Apache Ant. A buckminster command script with a
>>>> sample configuration is also attached.
>>>>
>>>> Documentation updates are pending and can be tracked here:
>>>>
>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=269736
>>>>
>>>> Regards,
>>>> Thomas Hallgren
>>>>
>>>> <?xml version="1.0"?>
>>>>
< !--********************************************************* ************** >>>>
*
>>>> * Copyright (c) 2006-2007, Cloudsmith Inc.
>>>> * The code, documentation and other materials contained herein have been
>>>> * licensed under the Eclipse Public License - v 1.0 by the copyright
>>>> holder
>>>> * listed above, as the Initial Contributor under such license. The text of
>>>> * such license is available at www.eclipse.org.
>>>>
>>>> ************************************************************ ************-- >
>>>>
>>>> <project name="project">
>>>> <!--Optional property file containing overrides for the default properties
>>>> -->
>>>> <property file="build.properties" />
>>>>
>>>> <!-- Default property settings
>>>> -->
>>>> <property name="bm.headless.site"
>>>> value="http://download.eclipse.org/tools/buckminster/headless-3.5/" />
>>>> <property name="buildtools" location="${user.home}/buildtools" />
>>>> <property name="product.config.script" location="product.config.bmscript"
>>>> />
>>>>
>>>> <!-- This macro executes the default application of an eclipse installation
>>>> that resides
>>>> in the folder ${buildtools}/@app
>>>> -->
>>>> <macrodef name="eclipse.launch">
>>>> <attribute name="app"/>
>>>> <element name="args" optional="true" />
>>>> <sequential>
>>>> <!-- We assume that the eclipse installation is beneath ${buildtools} -->
>>>> <property name="@{app}.deploy.dir" value="${buildtools}/@{app}"/>
>>>>
>>>> <!-- Find the Eclipse launcher and assing its location to the
>>>> @{app}.launcher
>>>> property -->
>>>> <pathconvert property="@{app}.launcher">
>>>> <first count="1">
>>>> <sort>
>>>> <fileset dir="${@{app}.deploy.dir}/plugins"
>>>> includes="**/org.eclipse.equinox.launcher_*.jar" />
>>>> <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators ">
>>>> <date />
>>>> </reverse>
>>>> </sort>
>>>> </first>
>>>> </pathconvert>
>>>>
>>>> <!-- Launch the eclipse application -->
>>>> <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}"
>>>> failonerror="true">
>>>> <!-- Uncomment to debug <jvmarg
>>>>
value=" -agentlib:jdwp=transport=dt_socket,address=8000,server=y,sus pend=y "/>>>>
>
>>>> -->
>>>> <args />
>>>> </java>
>>>> </sequential>
>>>> </macrodef>
>>>>
>>>> <!-- Macro to run a buckminster command -->
>>>> <macrodef name="buckminster">
>>>> <attribute name="command" default="--scriptfile"/>
>>>> <element name="globargs" optional="true" />
>>>> <element name="cmdargs" optional="true" />
>>>> <sequential>
>>>> <eclipse.launch app="buckminster">
>>>> <args>
>>>> <globargs />
>>>> <arg value="@{command}" />
>>>> <cmdargs />
>>>> </args>
>>>> </eclipse.launch>
>>>> </sequential>
>>>> </macrodef>
>>>>
>>>> <!--Fetch and unzip the director
>>>> -->
>>>> <property name="director.url"
>>>>
value=" http://www.eclipse.org/downloads/download.php?file=/tools/bu ckminste>>>>
r
>>>> /p
>>>> roducts/director_1.0.0.r10030.zip&amp;r=1" />
>>>> <available file="${buildtools}/director/director"
>>>> property="director.exists"
>>>> />
>>>> <target name="get.director" unless="director.exists">
>>>> <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip"
>>>> property="director.zip" deleteonexit="true"/>
>>>> <get src="${director.url}" dest="${director.zip}" />
>>>> <unzip src="${director.zip}" dest="${buildtools}" />
>>>> </target>
>>>>
>>>> <!--Configure the Buckminster product with needed features
>>>> -->
>>>> <target name="install.buckminster" depends="get.director">
>>>> <delete dir="${buildtools}/buckminster" />
>>>> <eclipse.launch app="director">
>>>> <args>
>>>> <arg value="-ar"/>
>>>> <arg value="${bm.headless.site}"/>
>>>> <arg value="-mr"/>
>>>> <arg value="${bm.headless.site}"/>
>>>> <arg value="-dest"/>
>>>> <arg value="${buildtools}/buckminster"/>
>>>> <arg value="-bundlepool"/>
>>>> <arg value="${buildtools}/buckminster"/>
>>>> <arg value="-profile"/>
>>>> <arg value="Buckminster"/>
>>>> <arg value="-installIU"/>
>>>> <arg value="org.eclipse.buckminster.cmdline.product"/>
>>>> <jvmarg value="-Declipse.p2.data.area=${buildtools}/buckminster/p2"/ >
>>>> <jvmarg value="-Declipse.p2.profile=Buckminster"/>
>>>> </args>
>>>> </eclipse.launch>
>>>> </target>
>>>>
>>>> <!--Configure the Buckminster product with needed features
>>>> -->
>>>> <target name="configure.product" depends="install.buckminster">
>>>> <buckminster>
>>>> <globargs>
>>>> <jvmarg value="-Dbm.headless.site=${bm.headless.site}" />
>>>> </globargs>
>>>> <cmdargs>
>>>> <arg value="${product.config.script}" />
>>>> </cmdargs>
>>>> </buckminster>
>>>> </target>
>>>>
>>>> <target name="clean.all" depends="clean.buckminster">
>>>> <delete dir="${buildtools}/director" />
>>>> </target>
>>>>
>>>> <target name="clean.buckminster">
>>>> <delete dir="${buildtools}/buckminster" />
>>>> </target>
>>>> </project>
>>>> install ${bm.headless.site} org.eclipse.buckminster.core.headless.feature
>>>> install ${bm.headless.site} org.eclipse.buckminster.maven.feature
>>>> install ${bm.headless.site} org.eclipse.buckminster.cvs.headless.feature
>>>> install ${bm.headless.site} org.eclipse.buckminster.pde.headless.feature
>>>
>
Problem with build.xml for Galileo headless install [message #387714 is a reply to message #383551] Wed, 08 July 2009 14:48 Go to previous message
John G is currently offline John GFriend
Messages: 21
Registered: July 2009
Junior Member
Hello Thomas,
Thanks for your posts on headless buckminster installation, they were
invaluable in getting it up and working.

When I ran buckminster.bat I initially got a "the system cannot find the
path specified" error. In my case, this was due to ${user.home} in
build.xml resolving to C:\Documents and Settings\jgoetz (note the spaces).
The solution was to enclose the path in "":
for /f "delims= tokens=1" %%c in ('dir /B /S /OD
"%EXE_DIR%\plugins\org.eclipse.equinox.launcher_*.jar"') do set
EQUINOXJAR=%%c
^ ^

Hope others find this helpful.
John
Previous Topic:Problems materializing target platform
Next Topic:SVN materialization issues in 3.5
Goto Forum:
  


Current Time: Thu Apr 25 12:27:35 GMT 2024

Powered by FUDForum. Page generated in 0.03895 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top