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

Description of features needed for a Load Spec editor ... in support of the Load ... command for the Jadeite Console #129

Open
dalehenrich opened this issue Sep 18, 2024 · 3 comments
Assignees

Comments

@dalehenrich
Copy link
Member

Representative STON file for a github load spec

RwLoadSpecificationV2 {
	#specName : 'spec_0001',
	#projectName : 'RowanSample9V3',
	#gitUrl : '[email protected]:dalehenrich/RowanSample9V3.git',
	#revision : 'spec_0001',
	#projectSpecFile : 'rowan/project.ston',
	#componentNames : [
		'Core'
	],
	#customConditionalAttributes : [
		'tests'
	],
	#platformProperties : {
		'gemstone' : {
			'allusers' : {
				#defaultSymbolDictName : 'RowanSample9_1'
			}
		}
	},
	#comment : 'Bare bones package structure -Core and -Tests'
}

Editor fields

The gitUrl, revision, componentNames, and customConditionalAttributes fields in the load spec are all used to specify how the project will be loaded. Each of these fields should be displayed in the editor.

In addition to the above fields there should be editor fields named projectsHome and projectDirectory

The projectsHome field defines the path to the directory where the projectDirectory will be located. projectsHome is a field in the load spec and should be set to the value of projectsHome before the load spec is loaded. Presently the environment variable ROWAN_PROJECTS_HOME, if defined, should be used as the default value for the projectsHome field. The projectsHome. REQUIRED field.

The projectDirectory field is the name of directory in projectsHome where the project is expected to exist or where the project will be cloned if not preset. The value of the projectDirectory is the value of projectAlias or projectDirectory if projectAlias is nil. The projectDirectory is a psudo field in the editor. If the value of the projectDirectory is not equal to the projectName, the value should be stored in the `projectAlias filed in the load spec. REQUIRED filed.

If the revision field is changed, then the repositoryResolutionPolicy field should be set to #strict.

Reading a spec into the editor from disk or github

The initial input for the Load... command should allow the user to specify either a file url or an https url. The simplest scheme would be to allow the user to paste in either a file url (file:///bosch1/users/dhenrich/_stones/git/RowanSample9V3/rowan/specs) or an https url (https://raw.githubusercontent.com/dalehenrich/RowanSample9V3/spec_0001/rowan/specs/spec_0001.ston obtained by clicking on the Raw button on github for the spec https://github.com/dalehenrich/RowanSample9V3/blob/spec_0001/rowan/specs/spec_0001.ston).

Loading the spec

There should be a Load button on editor. When the user presses the load button, the fields in the editor will be set in the load spec itself and the load spec will be sent the message load.

Additional functionality

In the fullness of time, there will need to be additional features

@dalehenrich
Copy link
Member Author

Like Connections it makes sense to be able save a load spec to a Specs directory where the load spec can be reused ...

@dalehenrich
Copy link
Member Author

... and a preference naming my load specs directory would be useful (a preference for the connections directory would also be useful)

@ericwinger
Copy link
Member

Probably should coordinate work on these two issues while working on this.
#97
#122

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