README.md 3.72 KB
Newer Older
Pietro Braghieri's avatar
Pietro Braghieri committed
1
# Syntax-Derived Editor for ES Tools
Pietro Braghieri's avatar
Pietro Braghieri committed
2
3
4
5
6
7
8
9
10
11
12
13
14

#### Editors
* OSS
  * Contract
  * Contract.Expression
* NuSMV
* Fei
* Tfpg
* Tfpga
* CleanC
  * C.Statement
  * C.Expression

Pietro Braghieri's avatar
Pietro Braghieri committed
15
Following a _not exhaustive_ representation of the grammars hierarchy (some are missing, i.e. Tfpg, Tfpga, and CleanC)
Pietro Braghieri's avatar
Pietro Braghieri committed
16
![Grammar Hierarchy](docs/Grammars%20Hierarchy.png)
Luca Cristoforetti's avatar
Luca Cristoforetti committed
17

Pietro Braghieri's avatar
Pietro Braghieri committed
18
**The grammar hierarchy must be taken into account in case of grammars changes and for the manual compilation**
19

Pietro Braghieri's avatar
Pietro Braghieri committed
20
21
22
23
24
25
26
27
28
29
30
#### Dependencies
Currently SDE has been tested for Eclipse `Neon`, `2020-06` and `2021-03`
| Neon | 2020-06 | 2021-03 |
| ------ | ------ | -----|
| Java8 | Java8 and Java11 | Java11 |
| Xtext 2.14 | [Xtext](https://www.eclipse.org/Xtext/) 2.25 | [Xtext](https://www.eclipse.org/Xtext/) 2.25 |


#### Project Build instruction:

SDE can be build for Eclipse `Neon`, `2020-06` and `2021-03` using Maven.  
Pietro Braghieri's avatar
Pietro Braghieri committed
31
To select the desired Eclipse version, please use the corresponding Maven profile, respectively: `Neon`, `2020-06` and `2021-03`.  
Pietro Braghieri's avatar
Pietro Braghieri committed
32
To select the desired Java version, set the maven profile to `Java8` or `Java11`.
33
34

- checkout the project
Pietro Braghieri's avatar
Pietro Braghieri committed
35
- from the terminal
Pietro Braghieri's avatar
Pietro Braghieri committed
36
  - in case of `Neon`, from the root of the project run: `mvn clean install -Dhttps.protocols=TLSv1.2 -P Neon,Java8` (maven 3.x must be already installed)
Pietro Braghieri's avatar
Pietro Braghieri committed
37
38
  - in case of `2020-06`, from the root of the project run: `mvn clean install -Dhttps.protocols=TLSv1.2 -P 2020-06,<Java8|Java11>`
  - in case of `2021-03`, from the root of the project run: `mvn clean install -Dhttps.protocols=TLSv1.2 -P 2021,Java11` 
Pietro Braghieri's avatar
Pietro Braghieri committed
39
40
41
  - to update the Eclipse workspace:
    - activate the target platform corresponding to the Eclipse version
    - select all projects `Edit->Select all` and run `Maven->Update Project` from the context menu of the Package Explorer view
Pietro Braghieri's avatar
Pietro Braghieri committed
42
43
44
45
46
47
48
49
50

#### Update Site Deployment instruction:
It is possible to deploy the SDE plugins on the FBK Update Site (accessible by everyone) by specifying the `deploy` maven phase.  
There are actually two updated sites, the Development Update Site and the Production Update Site.  
The first one (_Development_) should be aligned with the master source code and is used typically by the developers for integration activities.  
The second one (_Production_) is not necessarily aligned with the master but it is an official release of SDE. 

As mentioned above, it is possible automatically (via Maven) to build locally the update site of SDE and then copying it to the Update Site server.  
Because of the Update Site server is writable only from the FBK local network, this activity must be executed from the FBK local network (or in the FBK VPN). 
Pietro Braghieri's avatar
Pietro Braghieri committed
51
52
53
54
55
56

Also here, the maven command uses Profiles to set the target update site.  
So, from the root of the project run: 
  - `mvn clean deploy -Dhttps.protocols=TLSv1.2 -P Neon,Java8,<DevelopmentUpdateSite|ProductionUpdateSite>`
  - `mvn clean deploy -Dhttps.protocols=TLSv1.2 -P 2020-06,<Java8|Java11>,<DevelopmentUpdateSite|ProductionUpdateSite>`
  - `mvn clean deploy -Dhttps.protocols=TLSv1.2 -P 2021,Java11,<DevelopmentUpdateSite|ProductionUpdateSite>` 
Pietro Braghieri's avatar
Pietro Braghieri committed
57
58

##### Some notes on the SDE update sites
Pietro Braghieri's avatar
Pietro Braghieri committed
59
The following information refers to the current update site server installation but it may change in the future, so these notes should be kept up to date.  
Pietro Braghieri's avatar
Pietro Braghieri committed
60
61
62
63
64

Server Name: `es-services-website.fbk.eu`   
User: `esuser`

The `ssh private key` of the `esuser` must be already present in the machine that runs the maven command.  
Pietro Braghieri's avatar
Pietro Braghieri committed
65
66

The repositories of the SDE update site are located in:  
Pietro Braghieri's avatar
Pietro Braghieri committed
67
68
69
70

`/data/www/es-static.fbk.eu/html/tools/eclipse/<neon|2020-06|2021-03>/<sde|sde_devel>`

The `/data/www/es-static.fbk.eu/html/tools/eclipse/<neon|2020-06|2021-03>/<sde_prev|sde_devel_prev>` hold the very last previous uploads.  
Pietro Braghieri's avatar
Pietro Braghieri committed
71
They are created/updated automatically at the end of each successful upload of a new update site.
Pietro Braghieri's avatar
Pietro Braghieri committed
72