Reworked extension point because it behaved unnecessarily strange.
authorChristian Femers <femers@in.tum.de>
Tue, 3 Sep 2019 07:16:42 +0000 (09:16 +0200)
committerChristian Femers <femers@in.tum.de>
Tue, 3 Sep 2019 07:16:42 +0000 (09:16 +0200)
Works now.

net.mograsim.logic.model.am2900/plugin.xml
net.mograsim.machine/plugin.xml
net.mograsim.machine/schema/machine_definition.exsd [new file with mode: 0644]
net.mograsim.machine/schema/net.mograsim.machine.machinedefinition.exsd [deleted file]

index 7cfe4a7..7a324ad 100644 (file)
@@ -2,13 +2,11 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         id="net.mograsim.machine.machinedefinition.am2900"
-         name="Am2900 Machine"
-         point="net.mograsim.machine.machinedefinition">
-      <MachineDefinitionImplementation
+         point="net.mograsim.machine.machine_definition">
+      <machineDefinitionImplementation
             class="net.mograsim.logic.model.am2900.machine.Am2900MachineDefinition"
-            name="net.mograsim.logic.model.am2900.machine.am2900machinedefinition">
-      </MachineDefinitionImplementation>
+            unique_id="Am2900">
+      </machineDefinitionImplementation>
    </extension>
 
 </plugin>
index 8f73714..8c71c6d 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-   <extension-point id="net.mograsim.machine.machinedefinition" name="Mograsim Machine Definition" schema="schema/net.mograsim.machine.machinedefinition.exsd"/>
+   <extension-point id="machine_definition" name="Mograsim Machine Definition" schema="schema/machine_definition.exsd"/>>
 </plugin>
diff --git a/net.mograsim.machine/schema/machine_definition.exsd b/net.mograsim.machine/schema/machine_definition.exsd
new file mode 100644 (file)
index 0000000..e5e147b
--- /dev/null
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="net.mograsim.machine" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="net.mograsim.machine" id="machine_definition" name="Mograsim Machine Definition"/>
+      </appinfo>
+      <documentation>
+         Mograsim extension for defining a machine
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <choice minOccurs="1" maxOccurs="unbounded">
+            <element ref="machineDefinitionImplementation"/>
+         </choice>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="machineDefinitionImplementation">
+      <complexType>
+         <attribute name="unique_id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The machines id, this should be unique, but still readable
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  A Class that implements the Mograsim Machine Definition
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":net.mograsim.machine.MachineDefinition"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         0.1.0
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/net.mograsim.machine/schema/net.mograsim.machine.machinedefinition.exsd b/net.mograsim.machine/schema/net.mograsim.machine.machinedefinition.exsd
deleted file mode 100644 (file)
index 43763a6..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="net.mograsim.machine" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="net.mograsim.machine" id="net.mograsim.machine.machinedefinition" name="Mograsim Machine Definition"/>
-      </appinfo>
-      <documentation>
-         Mograsim extension for defining a machine
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="1" maxOccurs="unbounded">
-            <element ref="MachineDefinitionImplementation"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="MachineDefinitionImplementation">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The machines name
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A Class that implements the Mograsim Machine Definition
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":net.mograsim.machine.MachineDefinition"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         0.1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>