Skip to content

Commit a4465e1

Browse files
Update Build-Instruction and remove redundant bundle (#1345)
* Update Build-Instruction and remove redundant bundle * Update pom.xml * update * add script for compile web package and install ide plugins * Update development_prepare.js * Update vite.config.js * Update BUILD_INSTRUCTIONS.md Co-authored-by: Marius Heine <[email protected]> * Add maven setting guide * Add Eclipse IDE plugin * Update install_eclipse_plugin.sh * Update install_eclipse_plugin.sh * make prepare eclipse script executable * check for eclipse executable and hide debug statements * fix lock file * add hugo build locks to gitignore * create .env files for web packages * use curl for better cross compatibility * add sleep for unzip * updated build instructions * fix script under windows * handle existing eclipse homes better * fix tar command * do not unzip pdfjs because this is done by build script * fix syntax error in if statement * properly create .env file in all environments * add .env file to gitignore * complete maven settings explanation * fix text and pdf viewer build in CI --------- Co-authored-by: Marius Heine <[email protected]>
1 parent ac99462 commit a4465e1

File tree

241 files changed

+421
-24287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

241 files changed

+421
-24287
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
- name: Build
6666
run: |
6767
npm ci
68-
npm run build
68+
npm run build-prod
6969
working-directory: web/textviewer
7070
- name: Store artifact
7171
uses: actions/upload-artifact@v4
@@ -82,7 +82,7 @@ jobs:
8282
run: |
8383
wget --no-verbose -O pdfjs.zip https://github.com/mozilla/pdf.js/releases/download/v$(node getVersion.js)/pdfjs-$(node getVersion.js)-dist.zip
8484
npm ci
85-
npm run build
85+
npm run build-prod
8686
working-directory: web/pdf
8787
- name: Store artifact
8888
uses: actions/upload-artifact@v4

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.env
2+
13
# ---> Maven
24
target/
35
pom.xml.tag
@@ -51,6 +53,7 @@ dist/
5153
web/about/public
5254
web/news/public
5355
.vscode/settings.json
56+
.hugo_build.lock
5457

5558
# Generated siteplan model
5659
siteplan*.json

BUILD_INSTRUCTIONS.md

Lines changed: 88 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,98 @@ Other operating systems or processor architectures may work, but are generally n
1818
- Eclipse IDE (2024-06)
1919
- [hugo](https://gohugo.io/) (v0.101.0+)
2020

21-
# Development build
21+
## Maven Settings
22+
23+
The SET project depends on severak modules including SET-Browser (eclipse-set/browser), SET-Model (eclipse-set/model) and others.
24+
These modules are available from the Github Maven repository.
25+
To access them you need to authenticate at Github with your Github account.
26+
Simply add the following servers config to your maven user profile.
27+
The env.GITHUB_ACTOR and env.GITHUB_TOKEN can be replaced inline by your Github user name and personal access token or set them as system environment variable.
28+
29+
```
30+
<servers>
31+
<server>
32+
<id>set-github-browser</id>
33+
<username>${env.GITHUB_ACTOR}</username>
34+
<password>${env.GITHUB_TOKEN}</password>
35+
</server>
36+
<server>
37+
<id>set-github</id>
38+
<username>${env.GITHUB_ACTOR}</username>
39+
<password>${env.GITHUB_TOKEN}</password>
40+
</server>
41+
<server>
42+
<id>set-github-model</id>
43+
<username>${env.GITHUB_ACTOR}</username>
44+
<password>${env.GITHUB_TOKEN}</password>
45+
</server>
46+
<server>
47+
<id>set-github-toolboxmodel</id>
48+
<username>${env.GITHUB_ACTOR}</username>
49+
<password>${env.GITHUB_TOKEN}</password>
50+
</server>
51+
<server>
52+
<id>set-github-build</id>
53+
<username>${env.GITHUB_ACTOR}</username>
54+
<password>${env.GITHUB_TOKEN}</password>
55+
</server>
56+
</servers>
57+
```
58+
59+
## Development setup
60+
61+
To setup the complete development environment you can simply use the bash file _releng/eclipse/prepare_eclipse.sh_.
62+
This will use an existing eclipse or will download it for you to the provide ECLIPSE_HOME directory.
63+
64+
Under Windows:
65+
66+
```cmd
67+
set ECLIPSE_HOME=C:/planpro/eclipse
68+
releng/eclipse/prepare-eclipse.sh
69+
```
70+
71+
Under linux:
72+
73+
```bash
74+
ECLIPSE_HOME=~/planpro/eclipse releng/eclipse/prepare-eclipse.sh
75+
```
76+
77+
## Eclipse IDE Requirement Plugins
78+
79+
The requirement plugins can install through Eclipse IDE (Help -> Installed New Software) or bash file _releng/eclipse/install_eclipse_plugin.sh_ (Need set environment variable `ECLIPSE_HOME`).
80+
81+
||Plugin Name| Install URL|
82+
|------|------|------|
83+
1|Eclipse Platform | https://download.eclipse.org/eclipse/updates/4.32
84+
2|Eclipse RPC Target Components | https://download.eclipse.org/eclipse/updates/4.32
85+
3|Eclipse Plugin Developments | https://download.eclipse.org/eclipse/updates/4.32
86+
4|Equinox Target Components | https://download.eclipse.org/eclipse/updates/4.32
87+
5|Eclipse e4 Tools Developer Resources | https://download.eclipse.org/eclipse/updates/4.32
88+
6|Xtext Complete SDK | https://download.eclipse.org/releases/2024-06
89+
7|EMF - Eclipse Modeling Framework SDK | https://download.eclipse.org/releases/2024-06
90+
8|EMF Forms SDK | http://download.eclipse.org/ecp/releases/releases_127
91+
9|Ecore Tools | https://download.eclipse.org/ecoretools/updates/releases/3.5.1/2023-06/
92+
10|M2E PDE Integration | https://download.eclipse.org/releases/2024-06
93+
11|Checkstyle | https://checkstyle.org/eclipse-cs-update-site
94+
12|SWTBot for Eclipse Testing | https://download.eclipse.org/releases/2024-06
95+
96+
## Development build
2297

2398
This is the recommended way to build and debug for development.
2499

25100
1. Clone this repository or download a source archive.
26-
2. Create a new workspace in the Eclipse IDE
27-
3. Import projects from `java/` via File -> Import -> Existing Projects into Workspace
28-
4. Import the Checkstyle configuration from `releng/eclipse/checkstyle.xml` via Window -> Preferences -> Checkstyle
29-
4. Import the Java formatter configuration from `releng/eclipse/java-formatter.xml` via Window -> Preferences -> Java -> Code Style -> Formatter
30-
5. Set the target platform in `org.eclipse.set.releng.target`
31-
6. Launch the product in `org.eclipse.set.releng.set.product`
32-
7. Adapt the working directory in the launch configuration to a local directory, which contains an unpacked copy of a full Eclipse SET build (use a recent Github Actions build of the same branch for compatibility).
33-
34-
If you want to work on the embedded web components (e.g. the textviewer or the pdf viewer), you need to:
35-
36-
1. Browse to the appropriate subfolder in `web/`
37-
2. Install npm dependencies via `npm install`
38-
3. Build via `npm run build`
39-
4. Copy the contents of the resulting `build`-directory to the unpacked Eclipse SET build (in the matching `web/` subdirectory).
40-
41-
# Production build
101+
2. Set environment variable `ECLIPSE_HOME`
102+
3. Run javascript file `releng/eclipse/development_prepare.js` for complie and copy web package to Eclipse IDE directory.
103+
4. Create a new workspace in the Eclipse IDE
104+
5. Import projects from `java/` via File -> Import -> Existing Projects into Workspace
105+
6. Import the Checkstyle configuration from `releng/eclipse/checkstyle.xml` via Window -> Preferences -> Checkstyle
106+
7. Import the Java formatter configuration from `releng/eclipse/java-formatter.xml` via Window -> Preferences -> Java -> Code Style -> Formatter
107+
8. Set maven setting file to the setting, which contain above server setting `Window -> Preferences -> Maven -> User Settings`
108+
9. Set the target platform in `org.eclipse.set.releng.target` by opening the file `org.eclipse.set.releng.target.target` and click on `Set as Target Platform` or `Reload Target Platform` in the top right corner
109+
10. Synchronize and launch the product in `org.eclipse.set.releng.set.product`
110+
11. Adapt the working directory in the launch configuration to a local directory, which contains an unpacked copy of a full Eclipse SET build (use a recent Github Actions build of the same branch for compatibility).
111+
112+
## Production build
42113

43114
This is the recommended way if you want a production-style build. This is also what we have implemented on the Jenkins instance.
44115
If you want to develop SET, this is not recommended as the subcomponents are relatively stable and are easy to aquire from our download site.

java-test/pom.xml

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,6 @@
140140
<version>${set-version}</version>
141141
<type>jar</type>
142142
</dependency>
143-
<dependency>
144-
<groupId>org.eclipse.set</groupId>
145-
<artifactId>org.eclipse.set.i18n.integrationview.nl_de</artifactId>
146-
<version>${set-version}</version>
147-
<type>jar</type>
148-
</dependency>
149143
<dependency>
150144
<groupId>org.eclipse.set</groupId>
151145
<artifactId>org.eclipse.set.i18n.model.nl_de</artifactId>
@@ -158,18 +152,6 @@
158152
<version>${set-version}</version>
159153
<type>jar</type>
160154
</dependency>
161-
<dependency>
162-
<groupId>org.eclipse.set</groupId>
163-
<artifactId>org.eclipse.set.model.integrationview.edit</artifactId>
164-
<version>${set-version}</version>
165-
<type>jar</type>
166-
</dependency>
167-
<dependency>
168-
<groupId>org.eclipse.set</groupId>
169-
<artifactId>org.eclipse.set.model.integrationview</artifactId>
170-
<version>${set-version}</version>
171-
<type>jar</type>
172-
</dependency>
173155
<dependency>
174156
<groupId>org.eclipse.set</groupId>
175157
<artifactId>org.eclipse.set.model.plazmodel</artifactId>
@@ -182,24 +164,6 @@
182164
<version>${set-version}</version>
183165
<type>jar</type>
184166
</dependency>
185-
<dependency>
186-
<groupId>org.eclipse.set</groupId>
187-
<artifactId>org.eclipse.set.model.simplemerge.edit</artifactId>
188-
<version>${set-version}</version>
189-
<type>jar</type>
190-
</dependency>
191-
<dependency>
192-
<groupId>org.eclipse.set</groupId>
193-
<artifactId>org.eclipse.set.model.simplemerge.extensions</artifactId>
194-
<version>${set-version}</version>
195-
<type>jar</type>
196-
</dependency>
197-
<dependency>
198-
<groupId>org.eclipse.set</groupId>
199-
<artifactId>org.eclipse.set.model.simplemerge</artifactId>
200-
<version>${set-version}</version>
201-
<type>jar</type>
202-
</dependency>
203167
<dependency>
204168
<groupId>org.eclipse.set</groupId>
205169
<artifactId>org.eclipse.set.model.tablemodel.extensions</artifactId>
@@ -498,9 +462,8 @@
498462
<configuration>
499463
<configLocation>../../releng/eclipse/checkstyle.xml</configLocation>
500464
<suppressionsLocation>../../releng/eclipse/suppressions.xml</suppressionsLocation>
501-
<propertyExpansion>
502-
config_loc=../../../releng/eclipse
503-
</propertyExpansion>
465+
<propertyExpansion> config_loc=../../../releng/eclipse
466+
</propertyExpansion>
504467
<consoleOutput>true</consoleOutput>
505468
<linkXRef>false</linkXRef>
506469
<includes>**\/*.java, **\/*.MF, **\/.xml, **\/.properties</includes>

java/bundles/org.eclipse.set.feature.integration/.classpath

Lines changed: 0 additions & 8 deletions
This file was deleted.

java/bundles/org.eclipse.set.feature.integration/.project

Lines changed: 0 additions & 45 deletions
This file was deleted.

java/bundles/org.eclipse.set.feature.integration/.settings/org.eclipse.core.resources.prefs

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)