Skip to content

Remote app execution mode #97

@ginty

Description

@ginty

As you know, O1 has two ways of executing:

  • Globally, outside of an app workspace
  • App mode, inside of an app workspace

It has already been discussed elsewhere that for O2 we will probably add a 3rd:

  • Origen development, which would open up some commands related to building/deploying/testing Origen itself (more useful in O2 due to the multi-lang env)

And now I would like to discuss the addition of a 4th:

  • Remote app mode

In this mode Origen would act like it was inside a particular application's workspace but while it is actually in some other directory outside of the application.

The relationship between the CLI and the application would be established by one of two ways:

  • A file in the current directory or its ancestors, e.g. .origen_app which is either a sym link to the application directory or a file containing the path to it
  • An environment variable, ORIGEN_APP_DIR

I think order of precedence for establishing what the current app is would probably be:
Being in an app workspace -> ORIGEN_APP_DIR -> .origen_app and in some cases probably a warning would be emitted (e.g. when a .origen_app is found but is being overruled by the ENV variable).

The intended use case for this is when Origen is being used as a platform for creating commands and supporting functionality within a wider 3rd party tool environment.
e.g. When it is used in design/verification environments where an Origen application is created and managed by one or two engs, it is then checked in to the wider environment and then all users get access to custom origen commands without really caring or being aware of how they were built and made available.
@chrishume, thinking about your use cases here.

As part of this it will mean that Origen execution will need to be well de-coupled from whatever is the pwd, so it will also resolve weaknesses in O1 where some (many?) commands didn't work properly unless the pwd was the app's root dir.

I will probably start on this next week, so keen to hear any comments/suggestions/objections before then.

Thanks!

Metadata

Metadata

Labels

feature discussionDiscussion on a feature's requirements or implementation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions