Community
Participate
Working Groups
EMF has provided a Validate menu action for many years. Using the M3 platform I now see two Validate menu actions. The Menu plugin spy tells be that the lower one between "Debug As" and "Team" is contributed by org.eclipse.ui.workbench. This is going to be very confusing for EMF users, which arguably includes all platform users. The new Validate action does not appear to be a simple duplicate since it reports no problems when the EMF Validate reports problems. It seems that either the platform "Validate" should rename to avoid the conflict or a validation API should enable the EMF Validate to extend the platform facility.
Ed, can you provide more details please? Screenshot, build ID etc.
Created attachment 271632 [details] Menu, spy screenshots First 264 lines of configuration below. I see the same problem on another machine that is a straight M3 base. *** Date: Friday, 24 November 2017 at 15:17:56 Greenwich Mean Time *** Platform Details: *** System properties: ant.home=E:\Tools\Eclipse\4.8M3+\plugins\org.apache.ant_1.10.1.v20170504-0840 ant.library.dir=E:\Tools\Eclipse\4.8M3+\plugins\org.apache.ant_1.10.1.v20170504-0840\lib applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi awt.toolkit=sun.awt.windows.WToolkit ds.delayed.keepInstances=true eclipse.ant.noInput=true eclipse.application=org.eclipse.ui.ide.workbench eclipse.buildId=4.8.0.I20171106-2000 eclipse.commands=-os win32 -ws win32 -arch x86_64 -showsplash -launcher E:\Tools\Eclipse\4.8M3+\eclipse.exe -name Eclipse --launcher.library E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.600.v20170921-0935\eclipse_1627.dll -startup E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.appendVmargs -exitdata 1a68_d0 -clean -data E:\Development\Rusa\Workspace -vm C:\Program Files\Java\jdk1.8.0_144\bin\javaw.exe eclipse.home.location=file:/E:/Tools/Eclipse/4.8M3+/ eclipse.launcher=E:\Tools\Eclipse\4.8M3+\eclipse.exe eclipse.launcher.name=Eclipse eclipse.p2.data.area=@config.dir/../p2/ eclipse.p2.profile=SDKProfile eclipse.product=org.eclipse.sdk.ide eclipse.startTime=1511341931835 eclipse.stateSaveDelayInterval=30000 eclipse.vm=C:\Program Files\Java\jdk1.8.0_144\bin\javaw.exe eclipse.vmargs=-Dosgi.requiredJavaVersion=1.8 -Dosgi.requiredJavaVersion=1.8 -Dosgi.dataAreaRequiresExplicitInit=true -Xms256m -Xmx1024m -Xmx4g -XX:PermSize=100M -XX:MaxPermSize=300M -Xrunjdwp:server=y,transport=dt_socket,address=14143,suspend=n -jar E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar equinox.init.uuid=true equinox.use.ds=true file.encoding=Cp1252 file.encoding.pkg=sun.io file.separator=\ gosh.args=--nointeractive guice.disable.misplaced.annotation.check=true java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.awt.printerjob=sun.awt.windows.WPrinterJob java.class.path=E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar java.class.version=52.0 java.endorsed.dirs=C:\Program Files\Java\jdk1.8.0_144\jre\lib\endorsed java.ext.dirs=C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext java.home=C:\Program Files\Java\jdk1.8.0_144\jre java.io.tmpdir=C:\Users\Edward\AppData\Local\Temp\ java.library.path=C:\Program Files\Java\jdk1.8.0_144\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Graphviz2.38\bin;C:\Program Files (x86)\Skype\Phone\;c:\Program Files\Saxonica\SaxonHE9.4N\bin;C:\Program Files (x86)\Graphviz2.38\bin;E:\Tools\Maven\apache-maven-3.3.9\bin;C:\Users\Edward\AppData\Local\Microsoft\WindowsApps;;. java.runtime.name=Java(TM) SE Runtime Environment java.runtime.version=1.8.0_144-b01 java.specification.name=Java Platform API Specification java.specification.vendor=Oracle Corporation java.specification.version=1.8 java.vendor=Oracle Corporation java.vendor.url=http://java.oracle.com/ java.vendor.url.bug=http://bugreport.sun.com/bugreport/ java.version=1.8.0_144 java.vm.info=mixed mode java.vm.name=Java HotSpot(TM) 64-Bit Server VM java.vm.specification.name=Java Virtual Machine Specification java.vm.specification.vendor=Oracle Corporation java.vm.specification.version=1.8 java.vm.vendor=Oracle Corporation java.vm.version=25.144-b01 line.separator= org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog org.eclipse.debug.ui.breakpoints.toggleFactoriesUsed=false org.eclipse.debug.ui.debugViewToolbarVisible=false org.eclipse.equinox.launcher.splash.location=e:\Tools\Eclipse\4.8M3+\plugins\org.eclipse.platform_4.8.0.v20171106-2000\splash.bmp org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info org.eclipse.jdt.debug.ui.debuggerActive=false org.eclipse.jdt.debug.ui.instanceof.IJavaStackFrame=false org.eclipse.jdt.debug.ui.supportsForceReturn=false org.eclipse.jdt.debug.ui.supportsInstanceRetrieval=false org.eclipse.swt.internal.deviceZoom=100 org.eclipse.update.reconcile=false org.eclipse.update.resolution_url= org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JavaSE/compact1-1.8,JavaSE/compact2-1.8,JavaSE/compact3-1.8,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7,JavaSE-1.8 org.osgi.framework.language=en org.osgi.framework.os.name=Windows10 org.osgi.framework.os.version=10.0.0 org.osgi.framework.processor=x86-64 org.osgi.framework.storage=E:\Tools\Eclipse\4.8M3+\configuration org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0, 1.1",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8",osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8",osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8",osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8" org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers org.osgi.framework.uuid=915e3549-30eb-4bfe-890a-aa6ced436d86 org.osgi.framework.vendor=Eclipse org.osgi.framework.version=1.9.0 org.osgi.supports.framework.extension=true org.osgi.supports.framework.fragment=true org.osgi.supports.framework.requirebundle=true os.arch=amd64 os.name=Windows 10 os.version=10.0 osgi.arch=x86_64 osgi.bundles=reference:file:org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar,reference:file:org.eclipse.equinox.simpleconfigurator_1.3.0.v20171007-0939.jar@1:start osgi.bundles.defaultStartLevel=4 osgi.clean=true osgi.compatibility.bootdelegation=true osgi.compatibility.bootdelegation.default=true osgi.configuration.area=file:/E:/Tools/Eclipse/4.8M3+/configuration/ osgi.dataAreaRequiresExplicitInit=true osgi.framework=file:/e:/Tools/Eclipse/4.8M3+/plugins/org.eclipse.osgi_3.13.0.v20171103-1544.jar osgi.framework.extensions=reference:file:org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar osgi.framework.shape=jar osgi.framework.useSystemProperties=true osgi.frameworkClassPath=., file:e:/Tools/Eclipse/4.8M3+/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar osgi.install.area=file:/E:/Tools/Eclipse/4.8M3+/ osgi.instance.area=file:/E:/Development/Rusa/Workspace/ osgi.instance.area.default=file:/C:/Users/Edward/workspace/ osgi.logfile=E:\Development\Rusa\Workspace\.metadata\.log osgi.nl=en_GB osgi.os=win32 osgi.requiredJavaVersion=1.8 osgi.splashLocation=e:\Tools\Eclipse\4.8M3+\plugins\org.eclipse.platform_4.8.0.v20171106-2000\splash.bmp osgi.splashPath=platform:/base/plugins/org.eclipse.platform osgi.syspath=e:\Tools\Eclipse\4.8M3+\plugins osgi.tracefile=E:\Development\Rusa\Workspace\.metadata\trace.log osgi.ws=win32 path.separator=; sun.arch.data.model=64 sun.boot.class.path=C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\classes sun.boot.library.path=C:\Program Files\Java\jdk1.8.0_144\jre\bin sun.cpu.endian=little sun.cpu.isalist=amd64 sun.desktop=windows sun.io.unicode.encoding=UnicodeLittle sun.java.command=E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher E:\Tools\Eclipse\4.8M3+\eclipse.exe -name Eclipse --launcher.library E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.600.v20170921-0935\eclipse_1627.dll -startup E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.appendVmargs -exitdata 1a68_d0 -clean -data E:\Development\Rusa\Workspace -vm C:\Program Files\Java\jdk1.8.0_144\bin\javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.8 -Dosgi.requiredJavaVersion=1.8 -Dosgi.dataAreaRequiresExplicitInit=true -Xms256m -Xmx1024m -Xmx4g -XX:PermSize=100M -XX:MaxPermSize=300M -Xrunjdwp:server=y,transport=dt_socket,address=14143,suspend=n -jar E:\Tools\Eclipse\4.8M3+\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar sun.java.launcher=SUN_STANDARD sun.jnu.encoding=Cp1252 sun.management.compiler=HotSpot 64-Bit Tiered Compilers sun.net.client.defaultConnectTimeout=15000 sun.net.client.defaultReadTimeout=1000 sun.os.patch.level= user.country=GB user.dir=E:\Development\Rusa\Temp user.home=C:\Users\Edward user.language=en user.name=Edward user.script= user.timezone=Europe/London user.variant= *** Features: org.eclipse.cvs (1.4.500.v20171106-2000) "Eclipse CVS Client" org.eclipse.egit (4.9.0.201710072145) "Git integration for Eclipse" org.eclipse.emf (2.14.0.v20170912-0518) "EMF - Eclipse Modeling Framework Runtime and Tools" org.eclipse.emf.codegen (2.13.0.v20170912-0518) "EMF Code Generation" org.eclipse.emf.codegen.ecore (2.14.0.v20170912-0518) "EMF Ecore Code Generator" org.eclipse.emf.codegen.ecore.ui (2.14.0.v20170912-0518) "EMF Ecore Code Generator UI" org.eclipse.emf.codegen.ui (2.8.0.v20170912-0518) "EMF Code Generation UI" org.eclipse.emf.common (2.14.0.v20170912-0312) "EMF Common" org.eclipse.emf.common.ui (2.13.0.v20170912-0518) "EMF Common UI" org.eclipse.emf.converter (2.13.0.v20170912-0518) "EMF Model Converter" org.eclipse.emf.databinding (1.5.0.v20170912-0518) "EMF Data Binding" org.eclipse.emf.databinding.edit (1.5.0.v20170912-0518) "EMF Edit Data Binding" org.eclipse.emf.doc (2.12.0.v20170912-0518) "EMF Documentation" org.eclipse.emf.ecore (2.14.0.v20170912-0312) "EMF Ecore" org.eclipse.emf.ecore.edit (2.9.0.v20170912-0518) "EMF Ecore Edit" org.eclipse.emf.ecore.editor (2.14.0.v20170912-0518) "EMF Sample Ecore Editor" org.eclipse.emf.edit (2.13.0.v20170912-0518) "EMF Edit" org.eclipse.emf.edit.ui (2.14.0.v20170912-0518) "EMF Edit UI" org.eclipse.emf.mapping (2.9.0.v20170912-0518) "EMF Mapping" org.eclipse.emf.mapping.ecore (2.9.0.v20170912-0518) "EMF Ecore Mapping" org.eclipse.emf.mapping.ecore.editor (2.10.0.v20170912-0518) "EMF Ecore Mapping Editor" org.eclipse.emf.mapping.ui (2.10.0.v20170912-0518) "EMF Mapping UI" org.eclipse.emf.validation (1.11.0.201706061352) "EMF Validation Framework Core" org.eclipse.help (2.2.200.v20171106-2000) "Help System Base" org.eclipse.jdt (3.14.0.v20171106-2000) "Eclipse Java Development Tools" org.eclipse.jgit (4.9.0.201710062247) "JGit Core" org.eclipse.m2e.feature (1.8.0.20170516-2043) "Maven Integration for Eclipse" org.eclipse.m2m.atl (3.8.0.v201705182014) "ATL - ATL Transformation Language" org.eclipse.m2m.atl.doc (3.8.0.v201705182014) "ATL Documentation" org.eclipse.m2m.atl.emftvm (3.8.0.v201705182014) "ATL EMFTVM" org.eclipse.m2m.atl.examples (3.8.0.v201705182014) "ATL Examples" org.eclipse.m2m.qvt.oml (3.8.0.v20171024-1750) "QVT Operational Core" org.eclipse.m2m.qvt.oml.debug (2.8.0.v20171024-1750) "QVT Operational Debug" org.eclipse.m2m.qvt.oml.debug.source (2.8.0.v20171024-1750) "QVT Operational Debug" org.eclipse.m2m.qvt.oml.doc (3.8.0.v20171024-1750) "QVT Operational Documentation" org.eclipse.m2m.qvt.oml.editor (3.8.0.v20171024-1750) "QVT Operational Editor" org.eclipse.m2m.qvt.oml.editor.jdt (3.8.0.v20171024-1750) "QVT Operational JDT" org.eclipse.m2m.qvt.oml.editor.jdt.source (3.8.0.v20171024-1750) "QVT Operational JDT" org.eclipse.m2m.qvt.oml.editor.source (3.8.0.v20171024-1750) "QVT Operational Editor" org.eclipse.m2m.qvt.oml.examples (3.8.0.v20171025-1022) "QVT Operational Samples" org.eclipse.m2m.qvt.oml.examples.source (3.8.0.v20171025-1022) "QVT Operational Samples" org.eclipse.m2m.qvt.oml.runtime (3.8.0.v20171024-1801) "QVT Operational Runtime" org.eclipse.m2m.qvt.oml.runtime.source (3.8.0.v20171024-1801) "QVT Operational Runtime" org.eclipse.m2m.qvt.oml.source (3.8.0.v20171024-1750) "QVT Operational Core" org.eclipse.m2m.qvt.oml.tools.coverage (1.4.0.v20171024-1750) "QVT Operational Coverage" org.eclipse.m2m.qvt.oml.tools.coverage.junit (1.4.0.v20171024-1750) "QVT Operational Coverage JUnit" org.eclipse.m2m.qvt.oml.tools.coverage.junit.source (1.4.0.v20171024-1750) "QVT Operational Coverage JUnit" org.eclipse.m2m.qvt.oml.tools.coverage.source (1.4.0.v20171024-1750) "QVT Operational Coverage" org.eclipse.mylyn_feature (3.24.0.v20170704-1739) "Mylyn Tasks Core" org.eclipse.mylyn.commons (3.24.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.commons.identity (1.16.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.commons.notifications (1.16.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.commons.repositories (1.16.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.discovery (3.24.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.monitor (3.24.0.v20170629-1728) "Mylyn Commons" org.eclipse.mylyn.wikitext_feature (3.0.6.201703111926) "Mylyn WikiText" org.eclipse.mylyn.wikitext.editors_feature (3.0.6.201703111926) "Mylyn WikiText" org.eclipse.ocl (3.8.0.v20171030-1148) "OCL for Ecore" org.eclipse.ocl.all (5.4.0.v20171030-1148) "OCL (Object Constraint Language) Parser and Interpreter" org.eclipse.ocl.all.source (5.4.0.v20171030-1148) "OCL (Object Constraint Language) Parser and Interpreter" org.eclipse.ocl.doc (3.8.0.v20171030-1134) "OCL Documentation" org.eclipse.ocl.edit (5.2.0.v20171030-1134) "OCL Edit Support" org.eclipse.ocl.examples (6.4.0.v20171030-1148) "OCL Examples and Editors" org.eclipse.ocl.examples.classic (5.4.0.v20171030-1148) "OCL Classic SDK" org.eclipse.ocl.examples.classic.source (5.4.0.v20171030-1148) "OCL Classic SDK" org.eclipse.ocl.examples.unified (4.3.0.v20171030-1148) "OCL Unified SDK" org.eclipse.ocl.examples.unified.source (4.3.0.v20171030-1148) "OCL Unified SDK" org.eclipse.ocl.master (6.4.0.v20171030-1148) "OCL All-In-One SDK" org.eclipse.ocl.master.source (6.4.0.v20171030-1148) "OCL All-In-One SDK" org.eclipse.ocl.source (3.8.0.v20171030-1148) "OCL for Ecore" org.eclipse.ocl.ui (2.3.0.v20171030-1134) "OCL User Interface" org.eclipse.ocl.uml (5.4.0.v20171030-1148) "OCL for UML" org.eclipse.pde (3.13.100.v20171106-2000) "PDE" org.eclipse.platform (4.8.0.v20171106-2000) "Eclipse Platform" org.eclipse.qvtd.atl (0.15.0.v20171030-1109) "QVT Declarative ATL support" org.eclipse.qvtd.doc (0.15.0.v20171030-0943) "QVT Declarative Documentation" org.eclipse.qvtd.examples (0.15.0.v20171030-1109) "QVT Declarative Examples (Incubation)" org.eclipse.qvtd.master (0.15.0.v20171030-1109) "QVTbase Model (Incubation)" org.eclipse.qvtd.master.source (0.15.0.v20171030-1109) "QVTbase Model (Incubation)" org.eclipse.rcp (4.8.0.v20171106-2000) "Eclipse RCP" org.eclipse.sdk (4.8.0.v20171106-2000) "Eclipse Project SDK" org.eclipse.uml2 (5.3.0.v20170605-1616) "UML2" org.eclipse.uml2.codegen.ecore.ui (2.3.0.v20170605-1616) "UML2 Ecore Code Generation UI" org.eclipse.uml2.common (2.1.0.v20170605-1616) "UML2 Common" org.eclipse.uml2.common.edit (2.1.0.v20170605-1616) "UML2 Common Edit Support" org.eclipse.uml2.doc (5.3.0.v20170605-1616) "UML2 Documentation" org.eclipse.uml2.examples (5.0.0.v20170605-1616) "UML2 Examples" org.eclipse.uml2.uml (5.3.0.v20170605-1616) "UML2 UML Model" org.eclipse.uml2.uml.edit (5.3.0.v20170605-1616) "UML2 UML Edit Support" org.eclipse.xtend.sdk (2.13.0.v20171020-0920) "Xtend IDE" org.eclipse.xtext.sdk (2.13.0.v20171020-0920) "Xtext" org.eclipse.xtext.ui (2.13.0.v20171020-0920) "Xtext UI Core " org.eclipse.xtext.xbase (2.13.0.v20171020-0920) "Xbase Model" org.eclipse.xtext.xbase.lib (2.13.0.v20171020-0700) "Xbase Runtime Library" org.eclipse.xtext.xtext.ui (2.13.0.v20171020-0920) "Xtext Xtext UI "
(In reply to Ed Willink from comment #2) > Created attachment 271632 [details] > Menu, spy screenshots Thanks Ed, that helped. > I see the same problem on another machine that is a straight M3 base. Not sure what "base" is for you, but in our Platform SDK: http://download.eclipse.org/eclipse/downloads/drops4/S-4.8M3a-201710300400/ there is no validate menu item and this is expected. The ValidationMenuAction class is from webtools. The spy is a bit misleading as it shows the plug-in that placed the item there. So, all items that are contributed via extension point from e.g. org.eclipse.ui.workbench will show that as contributing plug-in (see bug 276867).
I don't see any WTP Features in the list, though.
(In reply to Ed Willink from comment #0) > EMF has provided a Validate menu action for many years. > > Using the M3 platform I now see two Validate menu actions. The Menu plugin > spy tells be that the lower one between "Debug As" and "Team" is contributed > by org.eclipse.ui.workbench. > > This is going to be very confusing for EMF users, which arguably includes > all platform users. > > The new Validate action does not appear to be a simple duplicate since it > reports no problems when the EMF Validate reports problems. > > It seems that either the platform "Validate" should rename to avoid the > conflict or a validation API should enable the EMF Validate to extend the > platform facility. Ed, WTP's Validate menu action was put into place 13 years ago. It runs WTP's validation framework (which adopters have been extending for 13 years). It does not do an EMF validation- it runs validators that are registered to it and will report problems that are found by those validators. This is a validation API... but one that is added above the EMF layer. Since it has been around for so many years, I am not sure how it will suddenly become an issue for EMF users. If EMF's Validate menu action is less than 13 years old, then it is the "new" Validate action. What do you propose? Nitin, org.eclipse.wst.validation.ui uses ValidationMenuAction to contribute a ValidateAction where appropriate. This does appear to be WTP's Validate menu action.
EMF's validate action is 14 years old. What we did in Oomph's editor is get rid of a lot of these contributed actions that generally make a lot of noise. I.e., how does Run As/Debug As ever make sense on the context menu of a *.ecore file? But that's hard to do without an explicit list of what not to show because it makes no sense or is confusing. I'm really not sure how to resolve this. I just ignore it...
(In reply to Carl Anderson from comment #5) > What do you propose? (In reply to Ed Willink from comment #0) > It seems that either the platform "Validate" should rename to avoid the > conflict or a validation API should enable the EMF Validate to extend the > platform facility.
I'm not sure I understand. Is there a "platform facility" involved? I thought all this came from WTP's WST... Obviously EMF is not going to extend something from WTP. I imagine "Validate XML" might be more a explicit name/description that the XML itself will be validated rather than some other more deeply semantic validation. After all, this menu item appears everywhere, even in the Package explore on a plugin.xml or feature.xml where it only complains about a missing DTD or XML Schema rather than doing some type of actual deep semantic validation of the plugin.xml/feature.xml, which the user might expect. In fact it does completely useless things like this in a great many contexts; better would be if it were filtered to appear only on files where the DTD/Schema was actually known...
I was trying to observe that since two different communities had found that "Validate" is a useful concept, the platform could provide a coordinating menu capability analogous to Open/Open With... or Print or Run As... I presume that there are some files for which both EMF's and WST's Validate are differently useful making both necessary. Guessing a bit. If WST's Validate is XSD based and EMF is Ecore based, then neither project will want to merge the other's capabilities. If another project supports yet another validation mechanism, possibly involving semantic concepts, yet another Validate might be appropriate. This suggests that a Validate/Validate With... may be appropriate with the default Validate tracking the default Open.