Page 1 of 1

Update Problems with Version 15.2

Posted: Fri Jan 24, 2014 3:09 pm
by SSC
Hello,

We do currently use Oxygen version 15.1 for our Eclipse RCP 3.6 Client.
I just tried to put the new 15.2 version into my Eclipse targetplatform, as I always did with all previous Oxygen releases. From Oxygen 13.1 until 15.1 this worked out seamlessly.

Now as I switched from 15.1 to 15.2, I get the following error in all projects, which have a dependency to the oxygen bundle:

Code: Select all


Cannot nest 'D:Entwicklungsplatform/Targetplatform/com.oxygenxml.author_15.2.0.v2014012017/lib' inside library 'D:Entwicklungsplatform/Targetplatform/com.oxygenxml.author_15.2.0.v2014012017'	Build path - Build Path Problem
I already reloaded my targetplatform several times and tried to clean all projects, but the error still exists. :(

Do you know the reason, or do you have any suggestions to resolve this issue?

Best regards,

Simon

Re: Update Problems with Version 15.2

Posted: Fri Jan 24, 2014 4:34 pm
by Radu
Hi Simon,

The error seems to indicate that in the Eclipse classpath you have references both to the com.oxygenxml.author_15.2.0.v2014012017 folder and to the com.oxygenxml.author_15.2.0.v2014012017/lib folder.

What we changed in the 15.2 release (might be the cause, I'm not sure):

If you open our plugin.xml, it no longer specifies the set of required libraries. Instead, the set of required libraries are specified in the META-INF/Manifest.mf file. If you look inside that file, it contains a reference to the plugin's lib folder which may explain the problem if in the Eclipse classpath you also have a reference to the parent folder. But our older 15.1 plugin.xml also contained the reference to the lib/ folder so I do not know exactly if this is the cause for your problem.

Regards,
Radu

Re: Update Problems with Version 15.2

Posted: Mon Jan 27, 2014 4:30 pm
by SSC
Hi Radu,

I found out, that you do not export your packages:

Image

I guess this is the reason why I cannot access your API, like the AuthorNode interface:

Image

Could you please export all necessary packages, so that I can use them?

Best regards,

Simon

Re: Update Problems with Version 15.2

Posted: Mon Jan 27, 2014 4:51 pm
by Radu
Hi Simon,

You could try to add to the end of our plugin's MANIFEST.MF this export-package list and see if you need anything more:

Code: Select all

Export-Package: com.oxygenxml.editor.editors,
ro.sync.ecss.extensions,
ro.sync.ecss.extensions.api,
ro.sync.ecss.extensions.api.access,
ro.sync.ecss.extensions.api.attributes,
ro.sync.ecss.extensions.api.callouts,
ro.sync.ecss.extensions.api.component,
ro.sync.ecss.extensions.api.component.ditamap,
ro.sync.ecss.extensions.api.component.listeners,
ro.sync.ecss.extensions.api.component.plugins,
ro.sync.ecss.extensions.api.component.sync,
ro.sync.ecss.extensions.api.content,
ro.sync.ecss.extensions.api.editor,
ro.sync.ecss.extensions.api.filter,
ro.sync.ecss.extensions.api.highlights,
ro.sync.ecss.extensions.api.link,
ro.sync.ecss.extensions.api.node,
ro.sync.ecss.extensions.api.schemaaware,
ro.sync.ecss.extensions.api.structure,
ro.sync.ecss.extensions.api.table.operations,
ro.sync.ecss.extensions.commons,
ro.sync.ecss.extensions.commons.editor,
ro.sync.ecss.extensions.commons.id,
ro.sync.ecss.extensions.commons.operations,
ro.sync.ecss.extensions.commons.operations.text,
ro.sync.ecss.extensions.commons.operations.text.test,
ro.sync.ecss.extensions.commons.sort,
ro.sync.ecss.extensions.commons.table.operations,
ro.sync.ecss.extensions.commons.table.operations.cals,
ro.sync.ecss.extensions.commons.table.operations.xhtml,
ro.sync.ecss.extensions.commons.table.spansupport,
ro.sync.ecss.extensions.commons.table.support,
ro.sync.ecss.extensions.commons.ui,
ro.sync.ecss.extensions.dita,
ro.sync.ecss.extensions.dita.conref,
ro.sync.ecss.extensions.dita.id,
ro.sync.ecss.extensions.dita.keyref,
ro.sync.ecss.extensions.dita.link,
ro.sync.ecss.extensions.dita.map,
ro.sync.ecss.extensions.dita.map.table,
ro.sync.ecss.extensions.dita.map.topicgroup,
ro.sync.ecss.extensions.dita.map.topichead,
ro.sync.ecss.extensions.dita.map.topicref,
ro.sync.ecss.extensions.dita.reuse,
ro.sync.ecss.extensions.dita.search,
ro.sync.ecss.extensions.dita.topic,
ro.sync.ecss.extensions.dita.topic.table,
ro.sync.ecss.extensions.dita.topic.table.simpletable,
ro.sync.ecss.extensions.docbook,
ro.sync.ecss.extensions.docbook.id,
ro.sync.ecss.extensions.docbook.link,
ro.sync.ecss.extensions.docbook.olink,
ro.sync.ecss.extensions.docbook.table,
ro.sync.ecss.extensions.schematron,
ro.sync.ecss.extensions.tei,
ro.sync.ecss.extensions.tei.id,
ro.sync.ecss.extensions.tei.table,
ro.sync.ecss.extensions.wsdl,
ro.sync.ecss.extensions.xhtml,
ro.sync.ecss.extensions.xhtml.id,
ro.sync.ecss.extensions.xsd,
ro.sync.ecss.extensions.xslt,
ro.sync.exml.workspace.api,
ro.sync.exml.workspace.api.editor,
ro.sync.exml.workspace.api.editor.page,
ro.sync.exml.workspace.api.editor.page.author,
ro.sync.exml.workspace.api.editor.page.author.actions,
ro.sync.exml.workspace.api.editor.page.ditamap,
ro.sync.exml.workspace.api.editor.page.ditamap.actions,
ro.sync.exml.workspace.api.editor.page.ditamap.keys,
ro.sync.exml.workspace.api.editor.page.text,
ro.sync.exml.workspace.api.editor.page.text.actions,
ro.sync.exml.workspace.api.editor.page.text.xml,
ro.sync.exml.workspace.api.editor.transformation,
ro.sync.exml.workspace.api.editor.validation,
ro.sync.exml.workspace.api.license,
ro.sync.exml.workspace.api.listeners,
ro.sync.exml.workspace.api.math,
ro.sync.exml.workspace.api.node,
ro.sync.exml.workspace.api.node.customizer,
ro.sync.exml.workspace.api.options,
ro.sync.exml.workspace.api.process,
ro.sync.exml.workspace.api.standalone,
ro.sync.exml.workspace.api.standalone.ditamap,
ro.sync.exml.workspace.api.standalone.ui,
ro.sync.exml.workspace.api.util
Regards,
Radu

Re: Update Problems with Version 15.2

Posted: Mon Jan 27, 2014 6:29 pm
by SSC
Radu wrote: You could try to add to the end of our plugin's MANIFEST.MF this export-package list and see if you need anything more:
This seems to work, but actually we really need more.
We also use those classes, which still cannot be accessed.
  • ro.sync.ecss.component.AuthorTransferredObject
  • ro.sync.ecss.component.AuthorDocumentFragmentClipboardObject
  • com.oxygenxml.editor.EditorPlugin
  • ro.sync.contentcompletion.xml.WhatAttributesCanGoHereContext
  • ro.sync.contentcompletion.xml.WhatPossibleValuesHasAttributeContext
  • ro.sync.contentcompletion.xml.CIAttribute
  • ro.sync.exml.view.graphics.Color
  • ro.sync.exml.view.graphics.Point
  • ro.sync.annotations.api.API
  • ro.sync.annotations.api.APIType
  • ro.sync.annotations.api.SourceType
  • ro.sync.ecss.css.Styles
  • ro.sync.ecss.css.StaticContent
  • ro.sync.ecss.css.URIContent
  • com.oxygenxml.editor.editors.author.AuthorDnDListener
Therefore I added those packages to the Manifest:
  • ro.sync.ecss.component,
  • com.oxygenxml.editor,
  • ro.sync.contentcompletion.xml,
  • ro.sync.exml.view.graphics,
  • ro.sync.annotations.api,
  • ro.sync.ecss.css,
  • com.oxygenxml.editor.editors.author
Unfortunately that does not work out.
Maybe some more packages have to be exportet in order that it works.

So could you please tell me, which packages should also be exportet in order to work with those classes I mentioned before?

Best regards,

Simon

Re: Update Problems with Version 15.2

Posted: Mon Jan 27, 2014 6:33 pm
by Radu
Hi Simon,

What error do you obtain after adding those other packages?
Basically our original plugin.xml contained this construct:

Code: Select all

 <library name="lib/oxygenEclipse.jar">
<export name="*"/>
</library>
but I cannot yet find a way to specify the same thing in the Manifest.mf, that you want everything to be available.

Regards,
Radu

Re: Update Problems with Version 15.2

Posted: Tue Jan 28, 2014 3:52 pm
by SSC
Hi Radu,

I figured out what was wrong about your MANIFEST.MF file.

The "lib/," entry had to be removed from the Bundle-ClassPath: entries and I had to add every Oxygen Package I do currently use.

Other Customers might need different ones or less, so it would be best practise for you to just add all of your packages to the Export-Package: entries.

If you use the Eclipse embedded Editor for MANIFEST.MF files it is pretty easy to add your packages to the Exported Packages.

Just press the Add... button, which is shown in the following screenshot:
Image

Here is my version of your MANIFEST.MF file:

Code: Select all


Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name.1
Bundle-SymbolicName: com.oxygenxml.author;singleton:=true
Bundle-Version: 15.2.0.v2014012017
Bundle-Localization: plugin
Bundle-Activator: com.oxygenxml.editor.EditorPlugin
Bundle-ClassPath: lib/oxygenAuthorEclipse.jar,
lib/oxygenTokenMarkers.jar,
lib/log4j.jar,
lib/azcheck.jar,
lib/dicts.jar,
lib/fop.jar,
lib/avalon-framework-4.2.0.jar,
lib/batik-all-1.7.jar,
lib/js.jar,
lib/jna.jar,
lib/platform.jar,
lib/commons-io-1.3.1.jar,
lib/xmlgraphics-commons-1.5.jar,
lib/xml-apis-ext.jar,
lib/cupv10k-runtime.jar,
lib/org.eclipse.wst.xml.xpath2.processor_1.2.0.jar,
lib/icu4j.jar,
lib/xml-apis.jar,
lib/xercesImpl.jar,
lib/saxon.jar,
lib/saxon9ee.jar,
lib/saxon9-sql.jar,
lib/xalan.jar,
lib/serializer.jar,
lib/resolver.jar,
lib/jing.jar,
lib/trang.jar,
lib/oxygen-emf.jar,
lib/nekohtml.jar,
lib/commons-httpclient-3.1.jar,
lib/httpclient-4.2.5.jar,
lib/httpclient-cache-4.2.5.jar,
lib/httpcore-4.2.4.jar,
lib/httpmime-4.2.5.jar,
lib/fluent-hc-4.2.5.jar,
lib/commons-codec-1.6.jar,
lib/commons-logging-1.1.1.jar,
lib/jsch-0.1.42.jar,
lib/antlr.jar,
lib/xmlsec.jar,
lib/poi-3.8-20120326.jar,
lib/css-validator.jar,
lib/velocity-1.6.1.jar,
lib/truezip-6.jar,
lib/jeuclid-core.jar,
lib/jeuclid-fop.jar,
lib/jai_tiff.jar,
lib/jpeg-cmyk.jar,
.
Bundle-Vendor: %plugin.provider-name
Require-Bundle: org.eclipse.compare,
org.eclipse.core.filesystem,
org.eclipse.core.net,
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.equinox.common,
org.eclipse.help,
org.eclipse.jface.text,
org.eclipse.osgi,
org.eclipse.ui.browser,
org.eclipse.ui.console,
org.eclipse.ui.editors,
org.eclipse.ui.ide,
org.eclipse.ui.views,
org.eclipse.ui.workbench,
org.eclipse.ui.workbench.texteditor,
org.eclipse.ui,
org.eclipse.e4.ui.model.workbench;resolution:=optional,
org.eclipse.e4.ui.workbench;resolution:=optional,
org.eclipse.e4.core.contexts;resolution:=optional,
org.eclipse.e4.core.services;resolution:=optional
Eclipse-BundleShape: dir
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: com.oxygenxml.editor,
com.oxygenxml.editor.editors,
com.oxygenxml.editor.editors.author,
ro.sync.ecss.extensions,
ro.sync.ecss.extensions.api,
ro.sync.ecss.extensions.api.access,
ro.sync.ecss.extensions.api.attributes,
ro.sync.ecss.extensions.api.callouts,
ro.sync.ecss.extensions.api.component,
ro.sync.ecss.extensions.api.component.ditamap,
ro.sync.ecss.extensions.api.component.listeners,
ro.sync.ecss.extensions.api.component.plugins,
ro.sync.ecss.extensions.api.component.sync,
ro.sync.ecss.extensions.api.content,
ro.sync.ecss.extensions.api.editor,
ro.sync.ecss.extensions.api.filter,
ro.sync.ecss.extensions.api.highlights,
ro.sync.ecss.extensions.api.link,
ro.sync.ecss.extensions.api.node,
ro.sync.ecss.extensions.api.schemaaware,
ro.sync.ecss.extensions.api.structure,
ro.sync.ecss.extensions.api.table.operations,
ro.sync.ecss.extensions.commons,
ro.sync.ecss.extensions.commons.editor,
ro.sync.ecss.extensions.commons.id,
ro.sync.ecss.extensions.commons.operations,
ro.sync.ecss.extensions.commons.operations.text,
ro.sync.ecss.extensions.commons.operations.text.test,
ro.sync.ecss.extensions.commons.sort,
ro.sync.ecss.extensions.commons.table.operations,
ro.sync.ecss.extensions.commons.table.operations.cals,
ro.sync.ecss.extensions.commons.table.operations.xhtml,
ro.sync.ecss.extensions.commons.table.spansupport,
ro.sync.ecss.extensions.commons.table.support,
ro.sync.ecss.extensions.commons.ui,
ro.sync.ecss.extensions.dita,
ro.sync.ecss.extensions.dita.conref,
ro.sync.ecss.extensions.dita.id,
ro.sync.ecss.extensions.dita.keyref,
ro.sync.ecss.extensions.dita.link,
ro.sync.ecss.extensions.dita.map,
ro.sync.ecss.extensions.dita.map.table,
ro.sync.ecss.extensions.dita.map.topicgroup,
ro.sync.ecss.extensions.dita.map.topichead,
ro.sync.ecss.extensions.dita.map.topicref,
ro.sync.ecss.extensions.dita.reuse,
ro.sync.ecss.extensions.dita.search,
ro.sync.ecss.extensions.dita.topic,
ro.sync.ecss.extensions.dita.topic.table,
ro.sync.ecss.extensions.dita.topic.table.simpletable,
ro.sync.ecss.extensions.docbook,
ro.sync.ecss.extensions.docbook.id,
ro.sync.ecss.extensions.docbook.link,
ro.sync.ecss.extensions.docbook.olink,
ro.sync.ecss.extensions.docbook.table,
ro.sync.ecss.extensions.schematron,
ro.sync.ecss.extensions.tei,
ro.sync.ecss.extensions.tei.id,
ro.sync.ecss.extensions.tei.table,
ro.sync.ecss.extensions.wsdl,
ro.sync.ecss.extensions.xhtml,
ro.sync.ecss.extensions.xhtml.id,
ro.sync.ecss.extensions.xsd,
ro.sync.ecss.extensions.xslt,
ro.sync.ecss.component,
ro.sync.ecss.css,
ro.sync.exml.workspace.api,
ro.sync.exml.workspace.api.editor,
ro.sync.exml.workspace.api.editor.page,
ro.sync.exml.workspace.api.editor.page.author,
ro.sync.exml.workspace.api.editor.page.author.actions,
ro.sync.exml.workspace.api.editor.page.ditamap,
ro.sync.exml.workspace.api.editor.page.ditamap.actions,
ro.sync.exml.workspace.api.editor.page.ditamap.keys,
ro.sync.exml.workspace.api.editor.page.text,
ro.sync.exml.workspace.api.editor.page.text.actions,
ro.sync.exml.workspace.api.editor.page.text.xml,
ro.sync.exml.workspace.api.editor.transformation,
ro.sync.exml.workspace.api.editor.validation,
ro.sync.exml.workspace.api.license,
ro.sync.exml.workspace.api.listeners,
ro.sync.exml.workspace.api.math,
ro.sync.exml.workspace.api.node,
ro.sync.exml.workspace.api.node.customizer,
ro.sync.exml.workspace.api.options,
ro.sync.exml.workspace.api.process,
ro.sync.exml.workspace.api.standalone,
ro.sync.exml.workspace.api.standalone.ditamap,
ro.sync.exml.workspace.api.standalone.ui,
ro.sync.exml.workspace.api.util,
ro.sync.exml.view.graphics,
ro.sync.xml,
ro.sync.contentcompletion.xml,
ro.sync.util,
ro.sync.annotations.api,
ro.sync.ecss.docbook,
ro.sync.ecss.dita,
ro.sync.ecss.dita.reference,
ro.sync.ecss.dita.reference.keyref
Best regards,

Simon

Re: Update Problems with Version 15.2

Posted: Tue Jan 28, 2014 5:50 pm
by Radu
Hi Simon,

It's great you found a solution which works. In the next Oxygen 15.2 minor bug fix release those extra packages will be present in the Manifest.mf. For a future version we plan to auto-generate the exported packages list from the manifest based on the annotations we already have on API packages and classes.
I'm not sure whether we should remove the lib/ entry from the bundle class path though in the manifest file. Unfortunately nobody seems to remember on our side why it was added in the first place, it was also present in the plugin.xml when we did not use the OSGI bundle manifest approach.

Regards,
Radu

Re: Update Problems with Version 15.2

Posted: Wed Jan 29, 2014 11:30 am
by SSC
Radu wrote: I'm not sure whether we should remove the lib/ entry from the bundle class path though in the manifest file. Unfortunately nobody seems to remember on our side why it was added in the first place, it was also present in the plugin.xml when we did not use the OSGI bundle manifest approach.
Actually the lib/ entry was the reason for the first error, when I opened this thread:

Code: Select all


Cannot nest 'D:Entwicklungsplatform/Targetplatform/com.oxygenxml.author_15.2.0.v2014012017/lib' inside library 'D:Entwicklungsplatform/Targetplatform/com.oxygenxml.author_15.2.0.v2014012017'   Build path - Build Path Problem
So it should be removed, if you do not have a reason for it´s existence in the Bundle-ClassPath:.

Best regards,

Simon

Re: Update Problems with Version 15.2

Posted: Wed Jan 29, 2014 12:30 pm
by Radu
Hi Simon,

I know, I was just saying that I cannot yet find the reason why we had that entry there in the first place. It is possible that it was there in order to be able to add in the lib folder a log4j.properties file to enable Apache Log4j logging in the plugin.
I will remove the entry for the next Oxygen version (16.0) but I will not remove the reference to it in the minor 15.2 bug fix release because I need more time to see why that reference was there.

Regards,
Radu

Re: Update Problems with Version 15.2

Posted: Thu Jan 30, 2014 2:01 pm
by Radu
Hi Simon,

Our QA assurance team eventually found an issue with removing the reference to lib/, it breaks the loading for the automatic spell checking Hunspell engine. This happens because in the "lib" folder there is a "com/sun/jna" folder from which libraries are loaded by the JNA support.

So you should add that reference back and instead try to remove the reference to . (the plugin folder itself). Our original's plugin.xml content did not contain a reference to . and it should have not been added in the first place to the manifest.

Regards,
Radu