As the requirements for local development and production deployments are different, this document contains two sets of instructions. First, instructions on how to work on the component locally using the Eclipse IDE (e.g. for development) and secondly instructions on how to do a full production build locally via Maven are provided.
- A Java Development Kit 21
- Maven (4.0.6)
- Eclipse IDE (2023-12)
- Rust Toolchain (for Windows, either MSVC or MinGW, 1.67)
This is the recommended way to build and debug for development.
- Download and extract a CEF build from
https://cef-builds.spotifycdn.com/index.html#windows64into a newcefdirectory.- For the exact version required, check
CEF_VERSION.txt. - The resulting directory structure should have the following file:
cef/Release/libcef.dll.
- For the exact version required, check
- In the extracted folder, copy the contents from the
Resources/-directory to theRelease/-directory - Run
cargo build --releasein thenativedirectory - Copy
chromium_jni.dllandchromium_subp.exefrom thenative/targetdirectory tojava/org.eclipse.set.browser.lib/res. - Create a new workspace in the Eclipse IDE
- Import projects from
java/via File -> Import -> Existing Projects into Workspace - Import the Checkstyle configuration from the SET repository (
releng/eclipse/CheckstyleEclipse.xml) via Window -> Preferences -> Checkstyle - Build all projects
This is the recommended way if you want a production-style build. This is also what we have implemented on the Jenkins instance.
- Download and extract a CEF build from
https://cef-builds.spotifycdn.com/index.html#windows64into a newcefdirectory.- For the exact version required, check
CEF_VERSION.txt. - The resulting directory structure should have the following file:
cef/Release/libcef.dll.
- For the exact version required, check
- In the extracted folder, copy the contents from the
Resources/-directory to theRelease/-directory - Run
cargo build --releasein thenativedirectory - Copy
chromium_jni.dllandchromium_subp.exefrom thenative/targetdirectory tojava/org.eclipse.set.browser.lib/res. - Build the Java part:
mvn clean verifyand deploy viamvn deploy.