Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » The application will not start after update...
The application will not start after update... [message #662249] Tue, 29 March 2011 17:08 Go to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Hi!
I have a problem with Update.

I have a project consisting of plugins and features:

+ Org.update.test.plugin
...
update.product
p2.inf
...
+ Org.update.test.feature
feature.xml
+ Org.update.test.site
+ Build
product.ant
feature.xml
buckminster.cspex
site.cquery
site.rmap

In backminster.cspex commands are defined and create.product create.product.zip (ie, all as described in the tutorial http://www.ralfebert.de/blog/eclipsercp/rcp_builds/)

Construction works fine, but suddenly starts after an update no longer my application.

I have noticed that after the update in config.ini disappeared all start commands for OSGI bundles and some fields such as eclipse.product or eclipse.application are empty.

Config.ini looks like that: ( its from Eclipse IDE, tomorrow will send more data of my application config.ini)

before:

# Tue Mar 29 21:45:27 PDT 2011
org.eclipse.update.reconcile = false
eclipse.p2.profile = epp.package.java
osgi.instance.area.default = @ user.home / workspace
osgi.framework = file \: plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar
equinox.use.ds = true
eclipse.buildId = M20110210-1200
osgi.bundles = reference \: file \: org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar @ 1 \: start
org.eclipse.equinox.simpleconfigurator.configUrl = file \: org.eclipse.equinox.simpleconfigurator / bundles.info
...
eclipse.product = ru.update.test.product
osgi.splashPath =
osgi.framework.extensions =
osgi.bundles.defaultStartLevel = 4
eclipse.application = ru.update.test.application
eclipse.p2.data.area = @ config.dir/../p2 /


After:

# Tue Mar 29 21:45:27 PDT 2011
org.eclipse.update.reconcile = false
eclipse.p2.profile =
osgi.instance.area.default = @ user.home / workspace
osgi.framework = file \: plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar
equinox.use.ds = true
eclipse.buildId = M20110210-1200
osgi.bundles = reference \: file \: org.eclipse.equinox.simpleconfigurator_1.0.200.v2010050
...
eclipse.product =
osgi.splashPath =
osgi.framework.extensions =
osgi.bundles.defaultStartLevel = 4
eclipse.application =
eclipse.p2.data.area = @ config.dir/../p2 /


am grateful for every tip
Re: The application will not start after update... [message #662320 is a reply to message #662249] Wed, 30 March 2011 05:05 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Hi,
Here are config.ini before and after:

Before
# This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxF wConfigFileParser
# Tue Mar 29 10:17:11 PDT 2011
org.eclipse.update.reconcile = false
eclipse.p2.profile = Updateprofile
osgi.framework = file \: plugins/org.eclipse.osgi_3.6.1.R36x_v20100806.jar
equinox.use.ds = true
osgi.bundles = reference \: file \: org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar @ 1 \: start
org.eclipse.equinox.simpleconfigurator.configUrl = file \: org.eclipse.equinox.simpleconfigurator / bundles.info
eclipse.product = com.update.test.product
osgi.splashPath = platform \: / base / plugins / com.update.test
osgi.framework.extensions =
osgi.bundles.defaultStartLevel = 4
eclipse.p2.data.area = @ config.dir/../p2
eclipse.application = com.update.test.application

and after:
# This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxF wConfigFileParser
# Wed Mar 30 09:40:35 PDT 2011
org.eclipse.update.reconcile =
eclipse.p2.profile = Updateprofile
osgi.framework = file \: plugins/org.eclipse.osgi_3.6.1.R36x_v20100806.jar
equinox.use.ds = true
osgi.bundles = reference \: file \: @ 4 org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar , reference \: file \: @ 4 ca.odell.glazedlists_1.8.0.alpha20110124.jar, reference \: f
org.eclipse.equinox.simpleconfigurator.configUrl = file \: org.eclipse.equinox.simpleconfigurator / bundles.info
eclipse.product =
osgi.splashPath =
osgi.framework.extensions =
osgi.bundles.defaultStartLevel = 4
eclipse.application =
eclipse.p2.data.area = @ config.dir/../p2 /
------------------------------------------------------------ -------------------------------------
In addition, the files eclipsec.exe and Update.ini disappeared.

Logfile:

!SESSION 2011-03-30 11:03:35.127 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test_1.0.0.201103291011 [11] was not resolved.
!SUBENTRY 2 com.update.test 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.avldsl_1.0.0.201103291010 [12] was not resolved.
!SUBENTRY 2 com.update.test.avldsl 2 0 2011-03-30 11:03:57.283
!MESSAGE Missing optionally required bundle org.eclipse.xtext.generator_[1.0.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.avldsl.generator_1.0.0.201103291010 [13] was not resolved.
!SUBENTRY 2 com.update.test.avldsl.generator 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.avldsl.generator_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.avldsl.ui_1.0.0.201103291010 [14] was not resolved.
!SUBENTRY 2 com.update.test.avldsl.ui 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.avldsl.ui_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.compiler_1.0.0.201103291010 [15] was not resolved.
!SUBENTRY 2 com.update.test.compiler 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.compiler_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.dicoreconnector_1.0.0.201103291010 [16] was not resolved.
!SUBENTRY 2 com.update.test.dicoreconnector 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.dicoreconnector_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.ecud_1.0.0.201103291010 [17] was not resolved.
!SUBENTRY 2 com.update.test.ecud 2 0 2011-03-30 11:03:57.283
!MESSAGE Missing optionally required bundle org.eclipse.xtext.generator_[1.0.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.ecud.generator_1.0.0.201103291010 [18] was not resolved.
!SUBENTRY 2 com.update.test.ecud.generator 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.ecud.generator_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.ecud.ui_1.0.0.201103291010 [19] was not resolved.
!SUBENTRY 2 com.update.test.ecud.ui 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.ecud.ui_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.flow_1.0.0.201103291010 [20] was not resolved.
!SUBENTRY 2 com.update.test.flow 2 0 2011-03-30 11:03:57.283
!MESSAGE Missing optionally required bundle org.eclipse.xtext.generator_[1.0.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.flow.generator_1.0.0.201103291010 [21] was not resolved.
!SUBENTRY 2 com.update.test.flow.generator 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.flow.generator_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.flow.ui_1.0.0.201103291010 [22] was not resolved.
!SUBENTRY 2 com.update.test.flow.ui 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.flow.ui_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.localcache_1.0.0.201103291011 [23] was not resolved.
!SUBENTRY 2 com.update.test.localcache 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.localcache_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.logproperties_1.0.0.201103291009 [24] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.mapping_1.0.0.201103291010 [25] was not resolved.
!SUBENTRY 2 com.update.test.mapping 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.mapping_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.multipage_1.0.0.201103291010 [28] was not resolved.
!SUBENTRY 2 com.update.test.multipage 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.multipage_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.odx.generator_1.0.0.201103291010 [29] was not resolved.
!SUBENTRY 2 com.update.test.odx.generator 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.odx.generator_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.translation_1.0.0.201103291010 [30] was not resolved.
!SUBENTRY 2 com.update.test.translation 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.translation_1.0.0.201103300913
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-03-30 11:03:57.283
!MESSAGE Bundle com.update.test.xmlpreview_1.0.0.201103291010 [31] was not resolved.
!SUBENTRY 2 com.update.test.xmlpreview 2 0 2011-03-30 11:03:57.283
!MESSAGE Another singleton version selected: com.update.test.xmlpreview_1.0.0.201103300913

!ENTRY org.eclipse.osgi 4 0 2011-03-30 11:03:57.299
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:74)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

[Updated on: Mon, 11 April 2011 03:38]

Report message to a moderator

Re: The application will not start after update... [message #662370 is a reply to message #662249] Wed, 30 March 2011 08:17 Go to previous messageGo to next message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2498
Registered: July 2009
Senior Member
What is it that you are updating?

Your IDE/Buckminster? (and it produces something different after this
update)?

or

An update of your installed RCP application? If so, how did you perform
that update (self update or via the director)?

- henrik

On 3/29/11 11:08 PM, Alex wrote:
> Hi! I have a problem with Update.
> I have a project consisting of plugins and features:
> + Org.update.test.plugin ... update.product p2.inf ... +
> Org.update.test.feature feature.xml + Org.update.test.site + Build
> product.ant feature.xml buckminster.cspex site.cquery site.rmap In
> backminster.cspex commands are defined and create.product
> create.product.zip (ie, all as described in the tutorial
> http://www.ralfebert.de/blog/eclipsercp/rcp_builds/)
> Construction works fine, but suddenly starts after an update no longer
> my application.
> I have noticed that after the update in config.ini disappeared all start
> commands for OSGI bundles and some fields such as eclipse.product or
> eclipse.application are empty.
> Config.ini looks like that: ( its from Eclipse IDE, tomorrow will send
> more data of my application config.ini)
> before:
> # Tue Mar 29 21:45:27 PDT 2011 org.eclipse.update.reconcile = false
> eclipse.p2.profile = epp.package.java osgi.instance.area.default = @
> user.home / workspace osgi.framework = file \:
> plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar equinox.use.ds = true
> eclipse.buildId = M20110210-1200 osgi.bundles = reference \: file \:
> org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar @ 1 \:
> start org.eclipse.equinox.simpleconfigurator.configUrl = file \:
> org.eclipse.equinox.simpleconfigurator / bundles.info ...
> eclipse.product = ru.update.test.product osgi.splashPath =
> osgi.framework.extensions = osgi.bundles.defaultStartLevel = 4
> eclipse.application = ru.update.test.application eclipse.p2.data.area =
> @ config.dir/../p2 /
>
> After:
> # Tue Mar 29 21:45:27 PDT 2011 org.eclipse.update.reconcile = false
> eclipse.p2.profile = osgi.instance.area.default = @ user.home /
> workspace osgi.framework = file \:
> plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar equinox.use.ds = true
> eclipse.buildId = M20110210-1200 osgi.bundles = reference \: file \:
> org.eclipse.equinox.simpleconfigurator_1.0.200.v2010050 ...
> eclipse.product = osgi.splashPath = osgi.framework.extensions =
> osgi.bundles.defaultStartLevel = 4 eclipse.application =
> eclipse.p2.data.area = @ config.dir/../p2 /
>
> am grateful for every tip
Re: The application will not start after update... [message #662457 is a reply to message #662370] Wed, 30 March 2011 13:33 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Hi, Henrik

It is an installed RCP application. I Updating from the menu ...

nor is it mysteriously, when I unpack my application in different folders and launch.

Today, I have tried the application from C drive to start, then disappears UpdateTest.exe file as well.
Re: The application will not start after update... [message #662505 is a reply to message #662457] Wed, 30 March 2011 16:35 Go to previous messageGo to next message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2498
Registered: July 2009
Senior Member
Have you checked that what you produced was a roaming install, and that
the install was not produced using relative paths?
All sorts of weird things happen otherwise.

- henrik

On 3/30/11 7:33 PM, Alex wrote:
> Hi, Henrik
>
> It is an installed RCP application. I Updating from the menu ...
>
> nor is it mysteriously, when I unpack my application in different
> folders and launch.
>
> Today, I have tried the application from C drive to start, then
> disappears UpdateTest.exe file as well.
Re: The application will not start after update... [message #662562 is a reply to message #662505] Thu, 31 March 2011 03:04 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Yes, I'm sure. Here is my product.ant
<project>
	 <pathconvert property="equinox.launcher.jar">
	   <first count="1">
	     <sort>
	       <fileset dir="${eclipse.home}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar"/>
	       <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
	         <date/>
	       </reverse>
	     </sort>
	   </first>
	 </pathconvert>

	<target name="create.product">
		<property name="destination" location="${sp:destination}"/>
		<delete dir="${destination}"/>
		<makeurl property="repository" file="${sp:repository}"/>
		<mkdir dir="${destination}"/>
		<echoproperties/>
		<echo message="${equinox.launcher.jar}"/>
		<echo message="${repository}"/>
		<echo message="${destination}"/>
		<java jar="${equinox.launcher.jar}" fork="true" failonerror="true" >
			<arg value="-application"/>
			<arg value="org.eclipse.equinox.p2.director"/>
			<arg value="-repository"/>
			<arg value="${repository}"/>
			<arg value="-destination"/>
			<arg value="${destination}"/>
			<arg value="-profile"/>
			<arg value="${profile}"/>
			<arg value="-profileProperties" />
			<arg value="org.eclipse.update.install.features=true, org.eclipse.equinox.p2.roaming=true" />
			<arg value="-installIU"/>
			<arg value="${iu}"/>
			<arg value="-p2.os" />
			<arg value="${target.os}" />
			<arg value="-p2.ws" />
			<arg value="${target.ws}" />
			<arg value="-p2.arch" />
			<arg value="${target.arch}" />
			<arg value="-consoleLog"/>
		</java>
	</target>
</project>


Where can the relative paths occur?
Re: The application will not start after update... [message #662583 is a reply to message #662562] Thu, 31 March 2011 04:28 Go to previous messageGo to next message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2498
Registered: July 2009
Senior Member
Alex <JungDevelop@googlemail.com> wrote:

> Where can the relative paths occur?

That would be 'destination'. Don't think that can happen when director is
run this way. More something to watch out for when using the director on
the command line.
--
- henrik
Re: The application will not start after update... [message #663675 is a reply to message #662583] Wed, 06 April 2011 03:31 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Hi,
I have found the cause of my problem:

I am building product for 32 and 64 bit platforms, so first site.p2 and then products separately. I use this Update-site to update my products.

perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=* com.update.test.site#site.p2
perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86 com.update.test.site#create.product.zip
perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86_64 com.update.test.site#create.product.zip


The problem is that every time action "create.product" call site.p2 as a Prerequisite -> which then deletes the entire directory "site.p2" and it builds again. In the end I have in site.p2 directory artifacts only for 64-bit platform.

Yesterday I tried to override site.p2 Action.(to change UpToDatePolicy to NOT_EMPTY). The directory is deleted but still every time.

Buckminster.cspex:
<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
	<dependencies>
		<!-- Place your Dependencies here -->
	</dependencies>
	<generators>
		<!-- Place your Generators here -->
	</generators>
	<artifacts>
		<!-- Place your Artifacts here -->
	</artifacts>
	<actions>
	        <public name="site.p2" actor="p2SiteGenerator">
                    <prerequisites>
                       <attribute name="site.feature.exports" alias="site" filter="(&amp;(!(site.pack200=true))(!(site.signing=true)))"/>
                       <attribute name="site.packed" alias="site" filter="(site.pack200=true)"/>
                       <attribute name="site.signed" alias="site" filter="(&amp;(site.signing=true)(!(site.pack200=true)))"/>
                       <attribute name="manifest" alias="site.definer"/>
                       <attribute name="product.configuration.exports" alias="product.configs"/>
                     </prerequisites>
                   <products base="${buckminster.output}/site.p2/" upToDatePolicy="NOT_EMPTY"/>
                </public>
		<public name="create.product" actor="ant">
			<actorProperties>
				<property key="buildFile" value="build/product.ant"/>
				<property key="targets" value="create.product"/>
			</actorProperties>
			<properties>
				<property key="profile" value="UpdateProfile"/>
				<property key="iu" value="update.product"/>
			</properties>
			<prerequisites alias="repository">
				<attribute name="site.p2"/>
			</prerequisites>
			<products alias="destination" base="${buckminster.output}">
				<path path="Update.${target.ws}.${target.os}.${target.arch}/"/>
			</products>
		</public>
		<public name="create.product.zip" actor="ant">
			<actorProperties>
				<property key="buildFileId" value="buckminster.pdetasks"/>
				<property key="targets" value="create.zip"/>
			</actorProperties>
			<prerequisites alias="action.requirements">
				<attribute name="create.product"/>
			</prerequisites>
			<products alias="action.output" base="${buckminster.output}">
				<path path="Update.${target.ws}.${target.os}.${target.arch}.zip"/>
			</products>
		</public>
	</actions>
	<groups>
		<!-- Place your Groups here -->
	</groups>
	<alterDependencies>
		<!-- Place your Dependency alterations here -->
	</alterDependencies>
	<alterArtifacts>
		<!-- Place your Artifact alterations here -->
	</alterArtifacts>
	<alterActions>
		<remove name="site.p2" />
	</alterActions>
	<alterGroups>
		<!-- Place your Group alterations here -->
	</alterGroups>
</cspecExtension>


Maybe someone knows an elegant solution?
Re: The application will not start after update... [message #663679 is a reply to message #663675] Wed, 06 April 2011 03:38 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3214
Registered: July 2009
Senior Member
Hi Alex,

Create an two actions that calls the create product ant task with a different set of properties. Let both actions have
the site.p2 as a prerequisite. Create a group that includes those two actions. You now need one single perform call that
calls on the group and Buckminster will orchestrate the whole build. This means that the site.p2 action will only be
called once although you create two products.

HTH,
- thomas




On 2011-04-06 09:31, Alex wrote:
> Hi,
> I have found the cause of my problem:
>
> I am building product for 32 and 64 bit platforms, so first site.p2 and then products separately. I use this Update-site
> to update my products.
>
>
> perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=* com.update.test.site#site.p2
> perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86 com.update.test.site#create.product.zip
> perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86_64 com.update.test.site#create.product.zip
>
>
> The problem is that every time action "create.product" call site.p2 as a Prerequisite -> which then deletes the entire
> directory "site.p2" and it builds again. In the end I have in site.p2 directory artifacts only for 64-bit platform.
>
> Yesterday I tried to override site.p2 Action.(to change UpToDatePolicy to NOT_EMPTY). The directory is deleted but still
> every time.
>
> Buckminster.cspex:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <cspecExtension
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
> xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
> <dependencies>
> <!-- Place your Dependencies here -->
> </dependencies>
> <generators>
> <!-- Place your Generators here -->
> </generators>
> <artifacts>
> <!-- Place your Artifacts here -->
> </artifacts>
> <actions>
> <public name="site.p2" actor="p2SiteGenerator">
> <prerequisites>
> <attribute name="site.feature.exports" alias="site" filter="(&(!(site.pack200=true))(!(site.signing=true))) "/>
> <attribute name="site.packed" alias="site" filter="(site.pack200=true)"/>
> <attribute name="site.signed" alias="site" filter="(&(site.signing=true)(!(site.pack200=true)))"/ >
> <attribute name="manifest" alias="site.definer"/>
> <attribute name="product.configuration.exports" alias="product.configs"/>
> </prerequisites>
> <products base="${buckminster.output}/site.p2/" upToDatePolicy="NOT_EMPTY"/>
> </public>
> <public name="create.product" actor="ant">
> <actorProperties>
> <property key="buildFile" value="build/product.ant"/>
> <property key="targets" value="create.product"/>
> </actorProperties>
> <properties>
> <property key="profile" value="UpdateProfile"/>
> <property key="iu" value="update.product"/>
> </properties>
> <prerequisites alias="repository">
> <attribute name="site.p2"/>
> </prerequisites>
> <products alias="destination" base="${buckminster.output}">
> <path path="Update.${target.ws}.${target.os}.${target.arch}/"/>
> </products>
> </public>
> <public name="create.product.zip" actor="ant">
> <actorProperties>
> <property key="buildFileId" value="buckminster.pdetasks"/>
> <property key="targets" value="create.zip"/>
> </actorProperties>
> <prerequisites alias="action.requirements">
> <attribute name="create.product"/>
> </prerequisites>
> <products alias="action.output" base="${buckminster.output}">
> <path path="Update.${target.ws}.${target.os}.${target.arch}.zip"/ >
> </products>
> </public>
> </actions>
> <groups>
> <!-- Place your Groups here -->
> </groups>
> <alterDependencies>
> <!-- Place your Dependency alterations here -->
> </alterDependencies>
> <alterArtifacts>
> <!-- Place your Artifact alterations here -->
> </alterArtifacts>
> <alterActions>
> <remove name="site.p2" />
> </alterActions>
> <alterGroups>
> <!-- Place your Group alterations here -->
> </alterGroups>
> </cspecExtension>
>
>
> Maybe someone knows an elegant solution?
Re: The application will not start after update... [message #663705 is a reply to message #663679] Wed, 06 April 2011 05:25 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Hi, Thomas

Thanks for your reply.

I just tried to do what you suggested.

<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
	<dependencies>
		<!-- Place your Dependencies here -->
	</dependencies>
	<generators>
		<!-- Place your Generators here -->
	</generators>
	<artifacts>
		<!-- Place your Artifacts here -->
	</artifacts>
	<actions>	
		<public name="create.product.x32" actor="ant">
			<actorProperties>
				<property key="buildFile" value="build/product.ant"/>
				<property key="targets" value="create.product"/>
			</actorProperties>
			<properties>
				<property key="arch" value="x86"/>
				<property key="profile" value="UdateProfile"/>
				<property key="iu" value="update.product"/>
			</properties>
			<prerequisites alias="repository">
				<attribute name="site.p2" />
			</prerequisites>
			<products alias="destination" base="${buckminster.output}">
				<path path="update.${target.ws}.${target.os}.x32/"/>
			</products>
		</public>
		<public name="create.product.x64" actor="ant">
			<actorProperties>
				<property key="buildFile" value="build/product.ant"/>
				<property key="targets" value="create.product"/>
			</actorProperties>
			<properties>
				<property key="arch" value="x86_64"/>
				<property key="profile" value="UpdateProfile"/>
				<property key="iu" value="update.product"/>
			</properties>
			<prerequisites alias="repository">
				<attribute name="site.p2" />
			</prerequisites>
			<products alias="destination" base="${buckminster.output}">
				<path path="update.${target.ws}.${target.os}.x64/"/>
			</products>
		</public>
	</actions>
	<groups>
		<public name="product.x32.x64">
			<attribute name="create.product.x32" />
			<attribute name="create.product.x64" />
		</public>
	</groups>
	<alterDependencies>
		<!-- Place your Dependency alterations here -->
	</alterDependencies>
	<alterArtifacts>
		<!-- Place your Artifact alterations here -->
	</alterArtifacts>
	<alterActions>
	</alterActions>
	<alterGroups>
		<!-- Place your Group alterations here -->
	</alterGroups>
</cspecExtension>



Site.p2 is indeed a time called, but "site.p2" directory contain artifacts only for 32-bit platform ...

If I use a filter, it is simply ingored.
		<public name="create.product.x32" actor="ant">
			<actorProperties>
				<property key="buildFile" value="build/product.ant"/>
				<property key="targets" value="create.product"/>
			</actorProperties>
			<properties>
				<property key="arch" value="x86"/>
				<property key="profile" value="UpdateProfile"/>
				<property key="iu" value="update.product"/>
			</properties>
			<prerequisites alias="repository">
				<attribute name="site.p2" filter="(target.arch=*)"/>
			</prerequisites>
			<products alias="destination" base="${buckminster.output}">
				<path path="update.${target.ws}.${target.os}.x32/"/>
			</products>
		</public>

Re: The application will not start after update... [message #663710 is a reply to message #663705] Wed, 06 April 2011 05:32 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3214
Registered: July 2009
Senior Member
Hi Alex,

What properties do you use when you execute the perform?

- thomas

On 2011-04-06 11:25, Alex wrote:
> Hi, Thomas
>
> Thanks for your reply.
>
> I just tried to do what you suggested.
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <cspecExtension
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
> xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
> <dependencies>
> <!-- Place your Dependencies here -->
> </dependencies>
> <generators>
> <!-- Place your Generators here -->
> </generators>
> <artifacts>
> <!-- Place your Artifacts here -->
> </artifacts>
> <actions>
> <public name="create.product.x32" actor="ant">
> <actorProperties>
> <property key="buildFile" value="build/product.ant"/>
> <property key="targets" value="create.product"/>
> </actorProperties>
> <properties>
> <property key="arch" value="x86"/>
> <property key="profile" value="UdateProfile"/>
> <property key="iu" value="update.product"/>
> </properties>
> <prerequisites alias="repository">
> <attribute name="site.p2" />
> </prerequisites>
> <products alias="destination" base="${buckminster.output}">
> <path path="update.${target.ws}.${target.os}.x32/"/>
> </products>
> </public>
> <public name="create.product.x64" actor="ant">
> <actorProperties>
> <property key="buildFile" value="build/product.ant"/>
> <property key="targets" value="create.product"/>
> </actorProperties>
> <properties>
> <property key="arch" value="x86_64"/>
> <property key="profile" value="UpdateProfile"/>
> <property key="iu" value="update.product"/>
> </properties>
> <prerequisites alias="repository">
> <attribute name="site.p2" />
> </prerequisites>
> <products alias="destination" base="${buckminster.output}">
> <path path="update.${target.ws}.${target.os}.x64/"/>
> </products>
> </public>
> </actions>
> <groups>
> <public name="product.x32.x64">
> <attribute name="create.product.x32" />
> <attribute name="create.product.x64" />
> </public>
> </groups>
> <alterDependencies>
> <!-- Place your Dependency alterations here -->
> </alterDependencies>
> <alterArtifacts>
> <!-- Place your Artifact alterations here -->
> </alterArtifacts>
> <alterActions>
> </alterActions>
> <alterGroups>
> <!-- Place your Group alterations here -->
> </alterGroups>
> </cspecExtension>
>
>
>
> Site.p2 is indeed a time called, but "site.p2" directory contain artifacts only for 32-bit platform ...
>
> If I use a filter, it is simply ingored.
>
> <public name="create.product.x32" actor="ant">
> <actorProperties>
> <property key="buildFile" value="build/product.ant"/>
> <property key="targets" value="create.product"/>
> </actorProperties>
> <properties>
> <property key="arch" value="x86"/>
> <property key="profile" value="UpdateProfile"/>
> <property key="iu" value="update.product"/>
> </properties>
> <prerequisites alias="repository">
> <attribute name="site.p2" filter="(target.arch=*)"/>
> </prerequisites>
> <products alias="destination" base="${buckminster.output}">
> <path path="update.${target.ws}.${target.os}.x32/"/>
> </products>
> </public>
>
>
Re: The application will not start after update... [message #663715 is a reply to message #663710] Wed, 06 April 2011 05:56 Go to previous messageGo to next message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
Currently I use only target.os and target.ws. target.arch is explicitly specified in buckminster.cspex
import ${WORKSPACE}ru.update.site/site.cquery

build -c

perform -Dtarget.os=win32 -Dtarget.ws=win32 ru.update.site#product.x32.x64

[Updated on: Wed, 06 April 2011 05:57]

Report message to a moderator

Re: The application will not start after update... [message #663741 is a reply to message #663715] Wed, 06 April 2011 07:13 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3214
Registered: July 2009
Senior Member
On 2011-04-06 11:56, Alex wrote:
> Currently I use only target.os and target.ws. target.arch is explicitly buckminster.cspex
>
Not sure I understand. How do you set the target.arch in a cspex?

> import ${WORKSPACE}ru.update.site/site.cquery
>
> build -c
>
> perform -Dtarget.os=win32 -Dtarget.ws=win32 ru.update.site#product.x32.x64
>

OK, so try this instead:

perform -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=* ru.update.site#product.x32.x64
Re: The application will not start after update... [message #664564 is a reply to message #663741] Mon, 11 April 2011 04:09 Go to previous message
Alex  is currently offline Alex
Messages: 8
Registered: March 2011
Junior Member
I just tested your suggestion, it works ...thanks Smile
Previous Topic:Cached repository meta-data
Next Topic:Problems using HelloXML example from BuckyBook
Goto Forum:
  


Current Time: Thu Jul 24 19:14:02 EDT 2014

Powered by FUDForum. Page generated in 0.02569 seconds