The "old Saros", which only supported Eclipse, resided in the
dpp package. However, many classes from the
dpp package are (or at least should be) independent from Eclipse. To limit the amount of rework necessary for the IntelliJ IDEA version of Saros, we decided to extract all IDE-independent sourcecode into a Saros Core project (package
dpp.core). Hence, there are two major tasks:
- Maintain the Saros Core: Identify code that should be IDE-independent, create appropriate abstractions, and move common logic and the abstractions to the Core project.
- Implement Saros for IntelliJ: Use the Core functionality to create an IntelliJ IDEA plugin that (for a start) resembles the Eclipse version of Saros.
Implementing Saros for IntelliJ
If you wish to contribute to Saros for IntelliJ, check out the open feature requests on Sourceforge.
Currently Saros for IntelliJ has only the basic Saros functionality:
- Starting sessions
- Sharing projects
- Concurrently adding files
- Contribution annotations
- Follow mode.
However, the synchronization is still rather unstable and many features from Saros/E are still missing, like additional awareness information in files and gutters.
You can check the current state of Saros on the IntelliJ project on GitHub
If you are interested in contributing to Saros/I, the feature requests at SourceForge serve as a good point to pick a task.
You'll find additional information in a semi-structured form in these two Google Docs:
Maintaining the Saros Core
In its current form, the Saros Core should be thought of not as a reusable component with a clearly defined API, but more of a framework that sets the structure of individual Saros variants.
For a "complete Saros", the Core requires the following elements to be implemented:
The following things do not pose hard requirement, but should be implemented to follow Saros's architecture: