Home » Archived » Buckminster » Problem with Target Platform Definition(using ${git_work_tree} variable)
|
Re: Problem with Target Platform Definition [message #1002394 is a reply to message #1002374] |
Fri, 18 January 2013 13:55 |
|
Hi
you probably should pass a value for git_work_tree to buckminster (are
you talking about buckminster headless or in the IDE?) for instance in
the cquery on in a properties file.
in general where is ${git_work_tree} defined?
cheers
Lorenzo
On 01/18/2013 02:30 PM, Christoph Keimel wrote:
> Hello Bucky Team
>
> I am currently trying to setup an rcp build using buckminster. During
> the process I came over the following issue with the target definition.
>
> We use a target definition which only uses plugins (jar files) which are
> placed in a general eclipse project. This project is placed in a git
> repository. Therefor the target definition itself looks like this, so it
> is identical for every developer regardless of the location of his git
> repository.
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <?pde version="3.8"?>
> <target name="GO§A Target" sequenceNumber="280">
> <locations>
> <location path="${git_work_tree}/lib/Target/test"
> type="Directory"/>
> <location path="${git_work_tree}/lib/Target/eclipse"
> type="Directory"/>
> <location path="${git_work_tree}/lib/Target/extensions"
> type="Directory"/>
> </locations>
> ... skipped ...
> </target>
>
> This works in PDE but does not get resolved correctly by buckminster. If
> I use full path names instead of the ${git_work_tree} property
> everything works fine.
>
> Is there a way I can let buckminster know where to look for
> ${git_work_tree}?
>
> Version: Juno Service Release 1
> Build id: 20121004-1855
> Buckminster Core 1.5.0.v20121128-1508
>
> Greetings
> Christoph
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
| |
Re: Problem with Target Platform Definition [message #1003108 is a reply to message #1002411] |
Sun, 20 January 2013 08:58 |
|
Hi Christoph
I'm not sure I understand what you are doing: you have a standard PDE
..target definition file right? and what are your steps to make
Buckminster resolve that target in the IDE?
As far as I know, Buckminster headless has commands to use a .target
file, but inside the IDE you have to set the target platform based on a
..target file with standard PDE tools. At least, that's how I understood
(Thomas?)
When does it happen that it "does not get resolved correctly by
buckminster"? During an headless build? Or here we're not talking
about headless build at all?
Placing the line "git_work_tree=D:/GitRepos/gosa" in
buckminster-win-32.properties, for instance, would work during a
headless build if you pass this properties file to buckminster headless
when resolving the CQUERY; but if you are using this properties file
from the IDE for running an action, like site.p2, this will not work,
since those actions assume that target platform resolution has already
been resolved.
Or probably I missed some details :)
P.S. my tutorial does not use .target definition files at all: it
defines the target platform with standard Buckminster components
dependencies.
cheers
Lorenzo
On 01/18/2013 03:25 PM, Christoph Keimel wrote:
> Hi Lorenzo
>
> Thanks for your input! I am working inside the IDE. I am not quite sure
> where ${git_work_tree} is defined. Maybe it gets defined as part of the
> EGit feature ... ?
>
> Thanks for your blog on building an rcp application! I followed the
> tutorial succesfully and am now trying to use the concept for our
> application. Speaking in the context of your blog. Where would you put
> the definition in relation to the
> org.eclipse.buckminster.examples.rcp.mail.product.site project?
> I tried placing the line "git_work_tree=D:/GitRepos/gosa" in
> buckminster-win-32.properties, but this doesn't work.
> A global solution would be better anyway, so that the target platform is
> available for all buckminster components (i.e. the Component Explorer).
>
> To achieve this I tried to start the IDE itself with
> "-Dgit_work_tree=D:/GitRepos/gosa", but that doesn't work either :(.
>
> Greetings
> Christoph
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
|
Re: Problem with Target Platform Definition [message #1003455 is a reply to message #1003108] |
Mon, 21 January 2013 09:28 |
Christoph Keimel Messages: 482 Registered: December 2010 Location: Germany |
Senior Member |
|
|
> I'm not sure I understand what you are doing: you have a standard PDE
> ..target definition file right? and what are your steps to make
> Buckminster resolve that target in the IDE?
Yes, the target platform is defined in a .target file. Afaik no steps are
needed for Buckminster to know about the target platform. Looking at the view
"Component Explorer", you can see the "Target Platform Components".
> As far as I know, Buckminster headless has commands to use a .target
> file, but inside the IDE you have to set the target platform based on a
> ..target file with standard PDE tools. At least, that's how I understood
> (Thomas?)
Good to know, as I will be working on a headless build in the future. Right
know I am happy to get it working within the IDE.
> When does it happen that it "does not get resolved correctly by
> buckminster"? During an headless build? Or here we're not talking
> about headless build at all?
I am talking about a build from the IDE.
The problem depends on how the target is defined in the .target file.
This works:
<target name="GO§A Target for Build" sequenceNumber="294">
<locations>
<location path="D:/GitRepos/gosa/lib/Target/eclipse" type="Directory"/>
<location path="D:/GitRepos/gosa/lib/Target/test" type="Directory"/>
<location path="D:/GitRepos/gosa/lib/Target/extensions" type="Directory"/>
</locations>
... skipped ...
</target> The bundles are listed in the PDE view "Target Platform State" and in the Buckinster view "Target Platform Components".
This does not work:
<target name="GO§A Target" sequenceNumber="280">
<locations>
<location path="${git_work_tree}/lib/Target/test" type="Directory"/>
<location path="${git_work_tree}/lib/Target/eclipse" type="Directory"/>
<location path="${git_work_tree}/lib/Target/extensions" type="Directory"/>
</locations>
... skipped ...
</target> The bundles are listed in the PDE view "Target Platform State" but NOT in the Buckinster view "Target Platform Components".
> Placing the line "git_work_tree=D:/GitRepos/gosa" in
> buckminster-win-32.properties, for instance, would work during a
> headless build if you pass this properties file to buckminster headless
> when resolving the CQUERY; but if you are using this properties file
> from the IDE for running an action, like site.p2, this will not work,
> since those actions assume that target platform resolution has already
> been resolved.
Thanks for the explanation. That explains why my efforts have been fruitless
Is there a way to customize the target platform resolution?
Smile,
Christoph
|
|
|
Re: Problem with Target Platform Definition [message #1003946 is a reply to message #1003455] |
Tue, 22 January 2013 09:51 |
|
Hi Christoph
comments inline
On 01/21/2013 10:28 AM, Christoph Keimel wrote:
>> I'm not sure I understand what you are doing: you have a standard PDE
>> ..target definition file right? and what are your steps to make
>> Buckminster resolve that target in the IDE?
>
> Yes, the target platform is defined in a .target file. Afaik no steps are
> needed for Buckminster to know about the target platform. Looking at the
> view "Component Explorer", you can see the "Target Platform Components".
Yes, you resolve and set the target platform with PDE.
>
>> When does it happen that it "does not get resolved correctly by
>> buckminster"? During an headless build? Or here we're not talking
>> about headless build at all?
>
> I am talking about a build from the IDE. The problem depends on how the
> target is defined in the .target file.
>
> This works:
> <target name="GO§A Target for Build" sequenceNumber="294">
> <locations>
> <location path="D:/GitRepos/gosa/lib/Target/eclipse"
> type="Directory"/>
> <location path="D:/GitRepos/gosa/lib/Target/test"
> type="Directory"/>
> <location path="D:/GitRepos/gosa/lib/Target/extensions"
> type="Directory"/>
> </locations>
> ... skipped ...
> </target>The bundles are listed in the PDE view "Target Platform State"
> and in the Buckinster view "Target Platform Components".
>
> This does not work:
> <target name="GO§A Target" sequenceNumber="280">
> <locations>
> <location path="${git_work_tree}/lib/Target/test"
> type="Directory"/>
> <location path="${git_work_tree}/lib/Target/eclipse"
> type="Directory"/>
> <location path="${git_work_tree}/lib/Target/extensions"
> type="Directory"/>
> </locations>
> ... skipped ...
> </target>The bundles are listed in the PDE view "Target Platform State"
> but NOT in the Buckinster view "Target Platform Components".
>
but all the projects compile fine anyway, don't they?
you're able, for instance, to run site.p2 action in the IDE anyway,
aren't you?
As for the Buckminster View I don't know why it does not show that...
let's hear from Buckminster developers :)
>> Placing the line "git_work_tree=D:/GitRepos/gosa" in
>> buckminster-win-32.properties, for instance, would work during a
>> headless build if you pass this properties file to buckminster headless
>> when resolving the CQUERY; but if you are using this properties file
>> from the IDE for running an action, like site.p2, this will not work,
>> since those actions assume that target platform resolution has already
>> been resolved.
>
> Thanks for the explanation. That explains why my efforts have been
> fruitless :)
> Is there a way to customize the target platform resolution?
you mean in the IDE again, right?
If the projects compile fine, and it is only a matter of the Buckminster
View not showing that it might be only a problem in that view... but
again, Buckminster developers should confirm this :)
cheers
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
| |
Re: Problem with Target Platform Definition [message #1003974 is a reply to message #1003946] |
Tue, 22 January 2013 10:49 |
|
On 2013-01-22 10:51, Lorenzo Bettini wrote:
> On 01/21/2013 10:28 AM, Christoph Keimel wrote:
>> I am talking about a build from the IDE. The problem depends on how the
>> target is defined in the .target file.
>>
>> This works:
>> <target name="GO§A Target for Build" sequenceNumber="294">
>> <locations>
>> <location path="D:/GitRepos/gosa/lib/Target/eclipse"
>> type="Directory"/>
>> <location path="D:/GitRepos/gosa/lib/Target/test"
>> type="Directory"/>
>> <location path="D:/GitRepos/gosa/lib/Target/extensions"
>> type="Directory"/>
>> </locations>
>> ... skipped ...
>> </target>The bundles are listed in the PDE view "Target Platform State"
>> and in the Buckinster view "Target Platform Components".
>>
>> This does not work:
>> <target name="GO§A Target" sequenceNumber="280">
>> <locations>
>> <location path="${git_work_tree}/lib/Target/test"
>> type="Directory"/>
>> <location path="${git_work_tree}/lib/Target/eclipse"
>> type="Directory"/>
>> <location path="${git_work_tree}/lib/Target/extensions"
>> type="Directory"/>
>> </locations>
>> ... skipped ...
>> </target>The bundles are listed in the PDE view "Target Platform State"
>> but NOT in the Buckinster view "Target Platform Components".
>>
>
> but all the projects compile fine anyway, don't they?
> you're able, for instance, to run site.p2 action in the IDE anyway,
> aren't you?
>
> As for the Buckminster View I don't know why it does not show that...
> let's hear from Buckminster developers :)
>
The ${git_work_tree} must be associated with a workspace resource
somehow which makes this construct fall apart. A workspace can only have
*one* active target platform but it may well have multiple projects and
multiple git repositories.
The ${git_work_tree} will have different settings depending on what
workspace resource you have selected (clicked on) or be unset in case
you don't select anything. Perhaps that's the issue here rather than a
difference between PDE and Buckminster?
In any case, I think the construct is wrong. Project specific settings
should not be used in parameter substitutions in a target platform.
HTH,
- thomas
|
|
| |
Goto Forum:
Current Time: Fri Dec 13 13:19:24 GMT 2024
Powered by FUDForum. Page generated in 0.04833 seconds
|