che-server/samples/sample-plugin-json
Artem Zatsarynnyi a1dfdfb04e Merge branch 'master' into spi 2017-07-05 18:25:50 +03:00
..
che-sample-plugin-json-ide Merge branch 'master' into spi 2017-06-29 17:45:59 +03:00
che-sample-plugin-json-server RELEASE: Set next development version 2017-06-29 07:59:05 +00:00
che-sample-plugin-json-shared RELEASE: Set next development version 2017-06-29 07:59:05 +00:00
README.md Fix broken links to che-docs (#5531) 2017-07-04 14:55:30 +02:00
pom.xml RELEASE: Set next development version 2017-06-29 07:59:05 +00:00

README.md

Description

The JSON Example is a providing a plugin sample which is use as a continuous example in the plugin documentation. You can learn more about it at: https://www.eclipse.org/che/docs/assemblies/intro/index.html

This sample demonstrate how to extend the Eclipse Che in various ways:

How to build sample-plugin-json plugin

The plugin-json extension has a client-side (IDE) part and an server part. It also includes some code shared between the IDE and the server. You have to introduce the extension as a dependency in /che/assembly/assembly-ide-war/pom.xml.

Add:

...
<dependency>
  <groupId>org.eclipse.che.sample</groupId>
  <artifactId>che-sample-plugin-json-ide</artifactId>
</dependency>
<dependency>
  <groupId>org.eclipse.che.sample</groupId>
  <artifactId>che-sample-plugin-json-shared</artifactId>
</dependency>
...

You can insert the dependency anywhere in the list. After you have inserted it, run mvn sortpom:sort and maven will order the pom.xml for you.

Introduce the server part of the extension as a dependency in /che/assembly/assembly-wsagent-war.

Add:

...
<dependency>
  <groupId>org.eclipse.che.sample</groupId>
  <artifactId>che-sample-plugin-json-server</artifactId>
</dependency>
<dependency>
  <groupId>org.eclipse.che.sample</groupId>
  <artifactId>che-sample-plugin-json-shared</artifactId>
</dependency>
...

You can insert the dependency anywhere in the list. After you have inserted it, run mvn sortpom:sort and maven will order the pom.xml for you.

2- Rebuild Eclipse Che

# Build a new IDE.war
# This IDE web app will be bundled into the assembly
cd che/assembly/assembly-ide-war
mvn clean install

# Create a new web-app that includes the server-side extension
cd che/assembly/assembly-wsagent-war
mvn clean install

# Creates a new workspace agent that includes new web app w/ your extension
cd assembly/assembly-wsagent-server
mvn clean install

# Create a new Che assembly that includes all new server- and client-side extensions
cd assembly/assembly-main
mvn clean install

3- Run Eclipse Che

# Start Che using the CLI with your new assembly
# Replace <local-repo> with the path to your Che repository, to use local binaries in your local image
# Replace <version> with the actual version you are working on
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock \
                    -v <local-path>:/data \
                    -v <local-repo>:/repo \
                       eclipse/che:<version> start --debug

Documentation resources