Giter Club home page Giter Club logo

soft.go's Introduction

Go

Soft Go

Soft Go is an implementation of the EMF Ecore library in Golang. This library is partially generated and referenced by the Soft Go Generator

Soft Go is part of Soft project

Installation

To install Ecore, use go get:

go get github.com/masagroup/soft.go

This will then make the following packages available to you:

github.com/masagroup/soft.go/ecore

Import the masagroup/soft.go/ecore package into your code using this template:

package yours

import (
  "github.com/masagroup/soft.go/ecore"
)

Supported go versions

We support Go v1.12

soft.go's People

Contributors

balazsgrill avatar dependabot[bot] avatar et7f3 avatar sokadance avatar xwilarg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

soft.go's Issues

Go generated code missing import

Hello

I ran the following

  1. docker run --rm masagroup/soft.generator.go --version which outputs soft.generator.go version: 1.6.0
  2. docker run --rm -v "$PWD":/gen -w /gen masagroup/soft.generator.go -s -m ./IFML.ecore -o /gen

This creates 4 folders of generated files:

  1. core
  2. uml
  3. ifml
  4. extension

The ifml package has the following:

type IfmlFactory interface {
	ecore.EFactory
	CreateAction() Action
	CreateActionEvent() ActionEvent
	CreateActivationExpression() ActivationExpression
	CreateAnnotation() Annotation
	CreateBooleanExpression() BooleanExpression
	CreateConditionalExpression() ConditionalExpression
	CreateConstraint() Constraint
	CreateContentModel() ContentModel
	CreateContext() Context
	CreateContextDimension() ContextDimension
	CreateDataBinding() DataBinding
	CreateDataFlow() DataFlow
	CreateDetails() Details
	CreateDevice() Device
	CreateDynamicBehavior() DynamicBehavior
	CreateEvent() Event
	CreateExternalEvent() ExternalEvent
	CreateForm() Form
	CreateIFMLModel() IFMLModel
	CreateInteractionFlowExpression() InteractionFlowExpression
	CreateInteractionFlowModel() InteractionFlowModel
	CreateList() List
	CreateModule() Module
	CreateNavigationFlow() NavigationFlow
	CreateParameter() Parameter
	CreateParameterBinding() ParameterBinding
	CreateParameterBindingGroup() ParameterBindingGroup
	CreatePort() Port
	CreatePosition() Position
	CreateSelectionField() SelectionField
	CreateSelector() Selector
	CreateSimpleField() SimpleField
	CreateSlot() Slot
	CreateSortAttribute() SortAttribute
	CreateSubmitEvent() SubmitEvent
	CreateSystemEvent() SystemEvent
	CreateUserRole() UserRole
	CreateValidationRule() ValidationRule
	CreateViewComponent() ViewComponent
	CreateViewComponentPart() ViewComponentPart
	CreateViewContainer() ViewContainer
	CreateViewElement() ViewElement
	CreateViewElementEvent() ViewElementEvent
	CreateViewPoint() ViewPoint
	CreateVisualizationAttribute() VisualizationAttribute
	CreateWindow() Window
}

But the return types are undefined because the core package needs to be imported.

Is there a way to resolve this without needing to edit the generated files?

BasicEMap put doesn't behave like java one

Missing funcs - eg MockEObjectInternal_Prototype

Hello

I'm getting the below errors.

I can see these funcs in the git repo, but they are not visible on https://pkg.go.dev/github.com/masagroup/soft.go/ecore

common/uml

common/uml/element_mock.go:21:8: undefined: ecore.MockEObjectInternal_Prototype
common/uml/element_mock.go:33:8: undefined: ecore.MockEObjectInternal_Expecter
common/uml/behavior_mock.go:21:8: undefined: ecore.MockEObjectInternal_Prototype
common/uml/behavior_mock.go:33:8: undefined: ecore.MockEObjectInternal_Expecter
common/uml/behavioralfeature_mock.go:21:8: undefined: ecore.MockEObjectInternal_Prototype
common/uml/behavioralfeature_mock.go:33:8: undefined: ecore.MockEObjectInternal_Expecter
common/uml/structuralfeature_mock.go:21:8: undefined: ecore.MockEObjectInternal_Prototype
common/uml/structuralfeature_mock.go:33:8: undefined: ecore.MockEObjectInternal_Expecter

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.