Monday, 13 June 2011

Eclipse eUML2 plugin installation problem and solution

Got red herring errors below when trying to install Soyatec's excellent UML Eclipse plugin eUML2.  Found real answer in the Soyatec forums here -- install GMF (Graphical Modelling Framework) first.
Worked a treat. Errors after the break.

For saving others from this minor yak, I strongly suspect these errors are red herrings -- hits from Ubuntu and Eclipse aren't useful (especially obvious since I happened to be on Windows7 rather than my usual Ubuntu this time!!!)

Error 1:
  Cannot connect to keystore.
  This trust engine is read only.
  Cannot complete the install because one or more required items could not be found.
    Software currently installed: eUML2 Free Edition 3.4.0.20091122 (com.soyatec.euml2.free.feature.group 3.4.0.20091122)
    Missing requirement: Modeling toolset 2.5.0.20091122 (org.soyatec.tools.modeling 2.5.0.20091122) requires 'bundle org.eclipse.gmf.runtime.notation 0.0.0' but it could not be found
    Cannot satisfy dependency:
      From: eUML2 Free Edition 3.4.0.20091122 (com.soyatec.euml2.free.feature.group 3.4.0.20091122)
      To: org.soyatec.tools.modeling [2.5.0.20091122]

Error 2:
java.io.IOException: This trust engine is read only.
at org.eclipse.osgi.internal.service.security.KeyStoreTrustEngine.doAddTrustAnchor(KeyStoreTrustEngine.java:154)
at org.eclipse.osgi.service.security.TrustEngine.addTrustAnchor(TrustEngine.java:50)
at org.eclipse.equinox.internal.provisional.p2.engine.CertificateChecker.checkCertificates(CertificateChecker.java:106)
at org.eclipse.equinox.internal.provisional.p2.engine.CertificateChecker.start(CertificateChecker.java:41)
at org.eclipse.equinox.internal.provisional.p2.engine.phases.CheckTrust.completePhase(CheckTrust.java:43)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.postPerform(Phase.java:195)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.perform(Phase.java:78)
at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet.perform(PhaseSet.java:44)
at org.eclipse.equinox.internal.provisional.p2.engine.Engine.perform(Engine.java:54)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.performProvisioningPlan(ProvisioningUtil.java:389)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProfileModificationOperation.doExecute(ProfileModificationOperation.java:61)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation.execute(ProvisioningOperation.java:37)
at org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner$1.run(ProvisioningOperationRunner.java:94)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

For your amusement, below is the first class diagram I've reverse engineered from [my version of] the Android SyncAdapter example.
UML class diagram of SyncAdapter

No comments:

Post a comment