[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[dsdp-tcf-dev] [Bug 273078] New: [tcf][api] Separate TCF Core from TCF Eclipse Integration
|
https://bugs.eclipse.org/bugs/show_bug.cgi?id=273078
Product/Component: Target Management / TCF
Summary: [tcf][api] Separate TCF Core from TCF Eclipse
Integration
Product: Target Management
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P3
Component: TCF
AssignedTo: dsdp.tm.tcf-inbox@xxxxxxxxxxx
ReportedBy: martin.oberhuber@xxxxxxxxxxxxx
QAContact: martin.oberhuber@xxxxxxxxxxxxx
The core TCF Java API and Implementation is capable of running stand-alone
without Eclipse. On top of that core implementation, there is a thin layer for
adapting to Eclipse.
I'd like to propose separating the Eclipse adaption layer into a separate
bundle, and treating the core TCF bundle as a plain Java library (with OSGi
Manifest markup). We'd have two separate bundles:
org.eclipse.tm.tcf -- the core plain Java TCF implementation
org.eclipse.tm.tcf.eclipse -- the Eclipse adaption layer
I think this has several advantages:
1. By means of OSGi specification of execution environment and classpath
setup, it becomes impossible to accidentally introduce Eclipse dependencies
into what should be plain Java.
2. Using TCF-core in a plain Java App is much cleaner without Eclipse stuff.
3. In addition to an Eclipse adaption layer, there could also be a plain OSGi
/ Equinox adaption layer which uses declarative services instead of
extension points.
4. Having a separate Eclipse adaption layer allows fully utilizing Eclipse
concepts such as e.g. a dedicated extension point for registering Java
based services lazily -- without jeopardizing the plain Java implementation.
Doing the actual split seems like a fairly straightforward refactoring which we
are ready to make. The only API change would be that Eclpise clients should
"require-bundle" org.eclpise.tm.tcf.eclipse rather than tm.tcf.
What do others think about this approach?
--
Configure bugmail: https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.