eclipse / ice

This project has moved to: https://gitlab.eclipse.org/eclipse/ice/ice
https://gitlab.eclipse.org/eclipse/ice/ice
Eclipse Public License 1.0
30 stars 55 forks source link

Create a Product Configuration for the headless Core instance. #354

Closed knram06 closed 7 years ago

knram06 commented 7 years ago

The aim is to create a product configuration for a headless Core instance.

  1. To allow the launch of Core in a manner similar to the Core OSGi.launch file, but without having to go through ICE.
  2. To have a standalone package or JAR that can be executed on a system to bring up a Core instance.
  3. This is to let a Client instance/frontend to connect to this Core.

This is being requested by Ram from RNET as part of an effort to prototype a web-based interface using ICE.

jayjaybillings commented 7 years ago

I have separated ICE's main Feature file into two features, one of which is only for the Core and the headless components. I'm going through the build now to see if that works and if it does I will then create a separate headless product and maybe a separate, headless build.

jayjaybillings commented 7 years ago

The headless build works, which I would love to prove by showing you a screenshot... ;-)

@knram06 If you checkout this branch, you can try to build it with "mvn clean verify -P build-headless-product" or by adding "build-headless-product" to the list of profiles in the standard "Build ICE" launch configuration.

I'm going to email more details about this to the mailing list.

jayjaybillings commented 7 years ago

From my email:

Everyone,

I have (re-)enabled a headless build of ICE in the core-extraction branch of the repository to support RNET and our push to the web. You can test this build by running the build with the build-headless-product maven profile enabled. Once it builds, the headless build will be available in the org.eclipse.ice.headless.product/target directory and you can execute like you would normally execute ICE.

In addition to supporting a headless build, this version also moves the build for all of workbench products into a build-products profile to decrease the total build time from 45min to an hour. I will update the build documentation in due course and I expect this build to be the default for ICE 2.2.

This build isn't really headless... it just doesn't draw the workbench. If you run the ss command from the OSGI console when you start it, you will see that all of the regular bundles from ICE are present. This is not ideal because it requires way to many resources, posts tons of error messages, and takes a lot of time to launch, but it is a start. We will not be able to remove everything until we do at least the following things:
1) Move both ICE and EAVP to the January version of Forms because their current scheme of using split versions of those packages causes problems.
2) Refactor our Items and the Core so that some service interfaces are not in bundles that also require the UI or bundles that also require it.
3) Update ICE and maybe PTP so that we don't require PTP UI bundles and can interact completely headlessly with PTP.
4) Remove all Core-level and lower dependencies on CDT, JDT, etc.

This work is tracked by bug #354.

Jay