On 30/11/2016 08:53, Jochen Theodorou wrote:

Hi,

for my understanding I would like to ask the following:

Given:
* Module A: uses service S1 and provides service S2
* Module B: uses service S2 and provides service S1

In my understanding this forms a cyclic dependency, but since this is not directly on the API level I am wondering if this is really one "per definition as to be seen by jigsaw"?
You need to expand the example a bit to say where S1 and S2 are, it's otherwise impossible to say if there is a cycle in the dependency graph.

For example, there is no cycles here:

module S {
    exports p;
}

module A {
    requires S;
    uses p.S1;
    provides p.S2 with ...
}

module B {
    requires S;
    uses p.S2;
    provides p.S1 with ...
}

Ditto if you drop module S and move the service types to A (A will `exports p` and B will `requires A`).

-Alan

Reply via email to