Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement dependencies between products of different files #7

Open
svenkeidel opened this issue Dec 1, 2015 · 0 comments
Open

Implement dependencies between products of different files #7

svenkeidel opened this issue Dec 1, 2015 · 0 comments
Milestone

Comments

@svenkeidel
Copy link
Member

This feature allows services to declare dependencies to products of other files if they need them. A possible use case is that a java file foo.java contains an import statement to the file bar.java. Then the type checking of foo.java probably depends on the type checking of the imported file bar.java. In a case like this, instead of producing a product, the service replies back to the broker and declares a new dependency. If bar.java isn't available to the broker yet, the broker then notifies the IDE to send the contents of bar.java. Then the services start producing products for bar.java. As soon as the type checking for bar.java is done, the broker can notify the type checking service again, that the type checking for foo.java can be started.

To track the dependencies of different files, the broker manages an graph that contains only the cross file dependencies. On every new product, the broker performs lookup on this graph to find potential products that can be build now.

Preliminary work for this feature is done in the filedeps branch.

@svenkeidel svenkeidel added this to the 0.2.0 milestone Dec 1, 2015
@svenkeidel svenkeidel modified the milestones: 0.3.0, 0.2.0 Dec 22, 2015
@wpmp wpmp removed their assignment Mar 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants