Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SADL2] Building SADL 2 Open Source from github #160

Closed
crapo opened this issue Mar 10, 2017 · 2 comments
Closed

[SADL2] Building SADL 2 Open Source from github #160

crapo opened this issue Mar 10, 2017 · 2 comments

Comments

@crapo
Copy link
Collaborator

crapo commented Mar 10, 2017

This is using branch TestProject in sadlos2 github repo.

In an Eclipse workspace (I'm using Kepler, Java 1.8 with 1.7 compliance level, and version 2.4.3.v201309030823 of Xtend SDK and Xtext SDK), import the following projects from sadlos2 (NOT sadl3):

  1. com.ge.research.sadl
  2. com.ge.research.sadl.ui
  3. com.ge.research.sadl.reasoner-api
  4. com.ge.research.sadl.reasoner-impl
  5. com.ge.research.sadl.jena-wrapper-for-sadl

Optional projects if desired for some reason:

  1. com.ge.reasearch.sadl.feature
  2. com.ge.research.sadl.tests (contains no tests)
  3. com.ge.research.sadl.update

Projects # 3 & 4 in the first list are Maven projects. Do a Maven Update Project, then Run Maven Install. Copy the resulting jars from the target folder to the com.ge.research.sadl/lib folder.

Project # 5 is also a Maven project so do a Maven Update Project, then Run Maven Install. However, rather than copying the jar turn it into a plug-in project by opening project properties, Java Build Path, Source, and removing "Excluded: **/Activator.java.

Run com.ge.research.sadl/src/com.ge.research.sadl.GeneratedSADL.mwe2 as MWE2 Workflow.

You should now be able to run as an Eclipse application and import the TestSadlIde project in the resulting IDE.

If you open the TestSadlIde project and go to the AutoTest folder, AutoTests1.test, you can run a test suite. The test suite editor isn't included in this but you can see the tests as plain text. Right-click on the AutoTests1.test in the Project Explorer, select Sadl Actions -> Run Test Suite. Not all tests will pass as some of the rules actually use built-in functions not included in this build. For me, 176 of 183 test cases pass. Some of the errors are just because the configuration.rdf file references a built-in but it isn't actually used in the tests.

More to the point, if you do a clean/build on the TestSadlIde project 204 OWL and rule files should be generated. You should have console output something like this:
empty.sadl: ERROR: Cannot save model in file 'D:\crapo\workspace-runtime\TestSadlIde\OwlModels\empty.owl' as it has no name.
AllValuesOnDTP.sadl: ERROR: Cannot save model in file 'D:\crapo\workspace-runtime\TestSadlIde\OwlModels\AllValuesOnDTP.owl' as it has no name.
RuleRefBeforeDefinition.sadl: ERROR: The concept 'Philadelphia' in rule 'NorthernerAtHeart' in model 'http://com.ge.research.sadl/rulerefbeforedef' is used before it is defined. Please define the concept before referencing it in a query or rule.
Encountered unhandled OR in rule 'CO97a'
Encountered unhandled OR in rule 'CO97b'
Encountered unhandled OR in rule 'CO97c'
GeorgeAndMarthaErr.sadl: ERROR: The concept 'Philadelphia' in rule 'NorthernerAtHeart' in model 'http://com.ge.research.sadlGeorgeAndMarthaErr' is used before it is defined. Please define the concept before referencing it in a query or rule.
A total of 22 errors occurred in 17 models.
There were 34 warnings.

@kittaakos
Copy link
Contributor

I am having issues generating code from the grammar on OS X 10.12.3 with Java 8 (1.8.0_121-b13).
My problem could be related to this. Since I cannot get a JDK 7 anymore I must try to figure out some solution. Currently, Xtext code is not geerated at all.

2017-03-13 09:39:08 INFO  StandaloneSetup:186 - Registering platform uri '/Users/akos.kitta/dev/wss/sadl_jar/sadlos2'
2017-03-13 09:39:08 INFO  DirectoryCleaner:72 - Cleaning /Users/akos.kitta/dev/wss/sadl_jar/sadlos2/com.ge.research.sadl/../com.ge.research.sadl/src-gen
2017-03-13 09:39:08 INFO  DirectoryCleaner:72 - Cleaning /Users/akos.kitta/dev/wss/sadl_jar/sadlos2/com.ge.research.sadl/../com.ge.research.sadl.ui/src-gen
2017-03-13 09:39:08 INFO  LanguageConfig:110 - generating infrastructure for com.ge.research.sadl.Sadl with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, EMFGeneratorFragment, SerializerFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, JavaValidatorFragment, ImportURIScopingFragment, FormatterFragment, LabelProviderFragment, QuickOutlineFragment, JavaBasedContentAssistFragment, XtextAntlrUiGeneratorFragment, BuilderIntegrationFragment, QuickfixProviderFragment, Junit4Fragment
2017-03-13 09:39:11 INFO  GenModelHelper:82 - Registered GenModel 'http://www.ge.com/research/sadl/Sadl' from 'file:/Users/akos.kitta/dev/wss/sadl_jar/sadlos2/com.ge.research.sadl/model/generated/Sadl.genmodel'
error(10):  internal error: Can't get property indirectDelegates using method get/isIndirectDelegates from org.antlr.tool.Grammar instance : java.lang.NullPointerException
java.util.Objects.requireNonNull(Objects.java:203)
java.util.ArrayList.removeAll(ArrayList.java:689)
org.antlr.tool.CompositeGrammar.getIndirectDelegates(CompositeGrammar.java:222)
org.antlr.tool.Grammar.getIndirectDelegates(Grammar.java:2620)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.antlr.stringtemplate.language.ASTExpr.invokeMethod(ASTExpr.java:564)
org.antlr.stringtemplate.language.ASTExpr.rawGetObjectProperty(ASTExpr.java:515)
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:417)
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.java:351)
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:136)
org.antlr.stringtemplate.language.ActionEvaluator.templateApplication(ActionEvaluator.java:216)
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:126)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:84)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1281)
org.antlr.codegen.Target.genRecognizerFile(Target.java:94)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:466)
org.antlr.Tool.generateRecognizer(Tool.java:641)
org.antlr.Tool.process(Tool.java:454)
de.itemis.xtext.antlr.toolrunner.AntlrToolRunner.runWithEncodingAndParams(AntlrToolRunner.java:168)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:173)
org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment.generate(XtextAntlrGeneratorFragment.java:47)
org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:92)
org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:113)
org.eclipse.xtext.generator.Generator.generate(Generator.java:366)
org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:132)
org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
2017-03-13 09:39:23 INFO  JavaValidatorFragment:80 - generating Java-based EValidator API
error(10):  internal error: Can't get property indirectDelegates using method get/isIndirectDelegates from org.antlr.tool.Grammar instance : java.lang.NullPointerException
java.util.Objects.requireNonNull(Objects.java:203)
java.util.ArrayList.removeAll(ArrayList.java:689)
org.antlr.tool.CompositeGrammar.getIndirectDelegates(CompositeGrammar.java:222)
org.antlr.tool.Grammar.getIndirectDelegates(Grammar.java:2620)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.antlr.stringtemplate.language.ASTExpr.invokeMethod(ASTExpr.java:564)
org.antlr.stringtemplate.language.ASTExpr.rawGetObjectProperty(ASTExpr.java:515)
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:417)
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.java:351)
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:136)
org.antlr.stringtemplate.language.ActionEvaluator.templateApplication(ActionEvaluator.java:216)
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:126)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:84)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680)
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660)
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86)
org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149)
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705)
org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1281)
org.antlr.codegen.Target.genRecognizerFile(Target.java:94)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:466)
org.antlr.Tool.generateRecognizer(Tool.java:641)
org.antlr.Tool.process(Tool.java:454)
de.itemis.xtext.antlr.toolrunner.AntlrToolRunner.runWithEncodingAndParams(AntlrToolRunner.java:168)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:173)
org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment.generate(XtextAntlrUiGeneratorFragment.java:85)
org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:92)
org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:113)
org.eclipse.xtext.generator.Generator.generate(Generator.java:366)
org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:132)
org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
2017-03-13 09:39:53 INFO  Junit4Fragment:54 - generating Junit4 Test support classes
2017-03-13 09:39:53 INFO  Workflow:21 - Done.

kittaakos added a commit that referenced this issue Mar 14, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 14, 2017
It did nothing but attached a part listener without any logic.

Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 14, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 14, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Used absolute path instead.

Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
kittaakos added a commit that referenced this issue Mar 15, 2017
Signed-off-by: Akos Kitta <kittaakos@gmail.com>
@kittaakos kittaakos changed the title Building SADL 2 Open Source from github [SADL2] Building SADL 2 Open Source from github Apr 10, 2017
@crapo
Copy link
Collaborator Author

crapo commented Apr 11, 2017

This thread is completed.

@crapo crapo closed this as completed Apr 11, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants