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

Provide a "New ALE Project" wizard #98

Closed
echebbi opened this issue Feb 21, 2020 · 0 comments · Fixed by #108
Closed

Provide a "New ALE Project" wizard #98

echebbi opened this issue Feb 21, 2020 · 0 comments · Fixed by #108

Comments

@echebbi
Copy link
Collaborator

echebbi commented Feb 21, 2020

Motivation

Currently the only way to create a project with ALE is to instantiate the Hello world! example:

  1. File > New > Example
  2. EcoreTools ALE Examples > Hello world!

This is neither intuitive nor convenient.

Proposed Solution

Provide a New ALE Project wizard (File > New > ALE > New ALE Project) that would create:

  • a project with no nature,
  • the following files:
    • src/<project_name>.ale
    • model/<project_name>.dsl
    • model/<project_name>.ecore

Things to consider

1. Java Nature

Since ALE scripts can call Java code we should either add the Java nature to the project by default or provide an easy way to add it (quick fixes, checkbox in the New Project wizard, context menu, etc.)

2. Modeling nature

Users will likely want to edit the Ecore model with the graphical editor. However, since they may prefer to keep a lightweight project I believe that we should not impose it.

We may provide an "[x] Edit Ecore model graphically" checkbox in the New Project wizard (likely checked by default) that would additionally:

  • add the Modeling nature to the project (not sure that's 100% required though),
  • create a <project_name>.aird file (linked to the Ecore model)

3. File location

Disclaimer: I consider that ALE source code should be split in several source files and I wrote the following lines with this principle in mind

We currently put all ALE-related files under the model/ directory. I proposed above to create the main ALE source file under the src/ directory. There are other solutions and I think we should discuss the basic structure of an ALE project (maybe create a dedicated issue?).

I think that the structure depends on the purpose of ALE and for whom it is intended:

  • Is ALE mainly used for prototyping reasons?
  • Do ALE projects usually contain Java code?
  • Do ALE projects usually rely on other projects?
  • etc.
If ALE projects are usually standalone projects containing only ALE source files

then I believe that the first structure I proposed fulfil its purpose.

If ALE projects usually contain Java code

then we may consider the following structures:

  • src/main/java & src/main/ale
  • src/ & src-ale
@echebbi echebbi self-assigned this Feb 25, 2020
echebbi added a commit that referenced this issue Mar 4, 2020
Because:
 - makes easier to make an "ALE-aware" project (fix #98)

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this issue Mar 10, 2020
Because:
 - makes easier to make an "ALE-aware" project (fix #98)

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant