]
Josef Kopriva closed JBIDE-15457.
---------------------------------
Closing, nothing to do.
CordovaSim and Hybrid tools interaction/source code sharing
-----------------------------------------------------------
Key: JBIDE-15457
URL:
https://issues.redhat.com/browse/JBIDE-15457
Project: Tools (JBoss Tools)
Issue Type: Task
Components: aerogear-hybrid, browsersim
Reporter: Yahor Radtsevich
Assignee: Konstantin Marmalyukov
Priority: Major
Fix For: 4.2.x
Currently CordovaSim application consists of two parts: a Jetty-based server, and a
BrowserSim-based client. The server part generates some content on the fly. For instance,
the server may response with generated {{cordova_plugins.js}} content when it is requested
by the client. Both parts of CordovaSim are executed in their own JVM, which means they do
not have access to the Eclipse API.
Hybrid tools do very similar things, but in static way. For instance, while creating
Android executables, they create {{cordova_plugins.js}} file on disk. Hybrid tools is a
set of Eclipse plugins, so they have access to the Eclipse API.
Obviously CordovaSim and Hybrid tools have some code in their sources that could be
shared. For the example above, both of them need a method to generate content of
{{cordova_plugins.js}}. There are several approaches to implement it:
1. Create two different implementations for CordovaSim and Hybrid tools and synchronize
them when needed (currently we do this). This approach creates code duplication problems.
2. Create an Eclipse API-independent plugin, so both CordovaSim and Hybrid tools could
set it as a dependency. This approach imposes some restriction on the independent plugin
(useful Eclipse API and libs cannot be used).
3. Move the server part of CordovaSim to the Eclipse JVM, so it could use Eclipse API and
any Hybrid tools API. With this approach we loose the ability to create standalone
CordovaSim in the future.