Home » Archived » Buckminster » Buckminster reports error when assembling fragment
|
Re: Buckminster reports error when assembling fragment [message #653750 is a reply to message #653745] |
Thu, 10 February 2011 23:18 |
|
Hi Miles,
The most likely cause for this is that the workspace that Bucky uses has more restrictive compiler settings than you
have when you compile in the IDE (I use the term IDE, instead of PDE. I guess that's what you meant. PDE is always used,
both by Bucky and in the IDE).
If that's the case, then the remedy is to create a workspace template with the correct settings. Just start your IDE on
a brand new workspace, apply all settings that you want to the compiler, exit your IDE and then create a zip from the
workspace. When building headlessly, start by unzipping that workspace and then have Bucky use it for the build (-data
option).
HTH,
- thomas
On 2011-02-10 23:54, Miles Parker wrote:
> HI,
>
> I'm using an API [org.eclipse.swt.browser.Browser#getText(). ] that clearly exists in the platform source code (i.e.
> org.eclipse.swt.cocoa.macosx.x86_64_3.7.0.v3721b) and compiles and builds just fine under workspace PDE. I fact, it
> built fine in another plugin under Buckminster. But for one suage it is failing, claiming that:
>
> Error: file ...Foo.java, line 137: The method getText() is undefined for the type Browser
>
> The only thing unusual is that the library is restricted, i.e. "inaccessible", but of course it is assessable given that
> I can compile against it So somehow it looks like Buckminster is being more conservative here than PDE..how can I force
> it not to be?
>
> thanks,
>
> Miles
|
|
| | | | | | |
Re: Buckminster reports error when assembling fragment [message #653964 is a reply to message #653960] |
Sat, 12 February 2011 05:23 |
|
Hi Miles,
The org.eclipse.swt.cocoa.macosx_3.7.0 is for x86, so you're out of luck with that one. What you need is
org.eclipse.swt.cocoa.macosx.x86_64_3.7.0.v3721b.jar. I do find that bundle in the latest M5 milestone. What repository
are you using when you resolve? I looked at:
http://download.eclipse.org/eclipse/updates/3.7milestones/S- 3.7M5-201101272034
- thomas
On 2011-02-12 04:42, Miles Parker wrote:
> Henrik Lindberg wrote on Fri, 11 February 2011 20:36
>> Is there a difference in how you setup/use the target platform perhaps?
>> Are you 100% sure the expected bundle/fragment is in the TP in both cases?
>
>
> The target platform is stock, i.e. I just do:
>
> setpref targetPlatformPath="${WORKSPACE}/buildroot/target.platform"
>
> I have exactly the same bundles in the TP, except that in addition to the osx 64 bundles there are all of the other
> platforms as well of course. The browser code compiles just fine except for this one method. Note that the import if for
> org.eclipse.ui.browser, but the actual bundle is e.g. org.eclipse.swt.cocoa.macosx_3.7.0. It is possible that for some
> target this method doesn't exist for some platforms, but I know it does for the targetted platform. I tired this both
> with a "build" and a perform, i.e.:
>
> perform '-D' 'cbi.include.source=false' '-D' 'target.os=macosx' '-D' 'target.ws=cocoa' '-D' 'target.arch=x86_64'
> 'myapp#site.p2'
|
|
| |
Re: Buckminster reports error when assembling fragment [message #653981 is a reply to message #653966] |
Sat, 12 February 2011 11:55 |
|
Does this happen only for the cocoa.macosx.x86_64 combination or can you reproduce it for other platforms as well?
Not that it should matter, but on what platform does the build take place?
On 2011-02-12 07:04, Miles Parker wrote:
> Thomas Hallgren wrote on Sat, 12 February 2011 00:23
>> H
>> The org.eclipse.swt.cocoa.macosx_3.7.0 is for x86, so you're out of luck with that one. What you need is
>> org.eclipse.swt.cocoa.macosx.x86_64_3.7.0.v3721b.jar.
>
>
> No that is the one I'm using..I just stupidly left the x86 part off. Again the weird thing is that it complies fine if I
> just take that one method reference away.
|
|
|
Re: Buckminster reports error when assembling fragment [message #654160 is a reply to message #653903] |
Mon, 14 February 2011 12:46 |
Matthew Webber Messages: 198 Registered: December 2010 |
Senior Member |
|
|
I use a python script. It's a little too specific to our site to be useful without modification (there are various exception cases), but I've extracted the relevant code, which might be useful as a starting point:
def test_plugins_build_properties(self):
""" Checks that all plugins directories have a valid build.properties
Run from <anything>/builder/build_utilities/<name>.py, processes <anything>/plugins/<various>
"""
# go through all the plugins and check that their build.properties
valid_count = error_count = 0
patterns = ("javacDefaultEncoding.. *= *(utf|UTF)-8", "javacSource *= *1.6", "javacTarget *= *1.6", "javacProjectSettings *= *true")
patterns_re = map(re.compile, patterns)
for plugin_name in self.plugin_names():
if plugin_name in self.BUILD_PROPERTIES_IGNORE:
continue
build_properties = os.path.join(self.plugins_dir, plugin_name, self.BUILD_PROPERTIES_NAME)
pattern_found = [False,] * len(patterns)
if not os.path.isfile(build_properties):
print "ERROR: file does not exist for plugin %s (%s)" % (plugin_name, build_properties)
error_count += 1
else:
build_properties_file = open(build_properties)
try:
for line in build_properties_file.readlines():
for (index, pattern) in enumerate(patterns_re):
# print "%s %s %s %s" % (plugin_name, line, patterns[index], pattern.match(line.strip()))
pattern_found[index] = pattern_found[index] or bool(pattern.match(line.strip()))
finally:
build_properties_file.close()
if all(pattern_found):
valid_count += 1
print "Valid: %s %s" % (plugin_name, self.BUILD_PROPERTIES_NAME)
else:
print "ERROR: %s %s missing components" % (plugin_name, self.BUILD_PROPERTIES_NAME)
error_count += 1
print "Plugins with %s valid %s, invalid = %s" % (self.BUILD_PROPERTIES_NAME, valid_count, error_count)
sys.stdout.flush()
self.failIf(error_count, "Some plugins had invalid or missing %s" % self.BUILD_PROPERTIES_NAME)
Hope that helps.
Matthew Webber
|
|
| | |
Goto Forum:
Current Time: Wed Jan 15 17:24:24 GMT 2025
Powered by FUDForum. Page generated in 0.04625 seconds
|