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

Analyzer plugin framework #2588

Open
vladak opened this issue Dec 12, 2018 · 3 comments
Open

Analyzer plugin framework #2588

vladak opened this issue Dec 12, 2018 · 3 comments

Comments

@vladak
Copy link
Member

vladak commented Dec 12, 2018

As discussed on Slack #dev channel, some (namely @tarzanek) would like to add some new analyzers (e.g. PDF analyzer - #492) written in Scala/Kotlin/Closure/you-name-it. Given that core OpenGrok should stay pure Java, we need a plugin framework and interface for the analyzers to facilitate this.

The repositories for analyzers can be then hosted anywhere (our own would live under https://github.com/OpenGrok/) and the jars published to Maven central. This should also allow for 3rd party analyzers - just shove them under analyzer directory (configurable) and OpenGrok will load them automatically.

@tulinkry
Copy link
Contributor

We can somehow reuse the existing framework for authorization plugins.

@vladak
Copy link
Member Author

vladak commented Dec 12, 2018

Yeah, that would be nice.

@vladak
Copy link
Member Author

vladak commented Dec 17, 2018

Some things for consideration:

  • analyzer should be able to add items to the 'File type' drop down menu in the UI
  • should be possible to add options to ctags

tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - some base class is needed as a reference for the framework

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - some base class is needed as a reference for the framework

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - some base class is needed as a reference for the framework

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - some base class is needed as a reference for the framework

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - a class with generic type of the loaded plugins
 - making the authorization framework a subclass of it
approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - a class with generic type of the loaded plugins
 - making the authorization framework a subclass of it
approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - a class with generic type of the loaded plugins
 - making the authorization framework a subclass of it
approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 2, 2019
 - loading analyzers implementing an interface from a directory
 - augmenting analyzer guru to use the loaded plugins
 - making analyzer guru a property of RuntimeEnvironment
 - loading the default analyzers as it used to be

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 4, 2019
 - a class with generic type of the loaded plugins
 - making the authorization framework a subclass of it
approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 4, 2019
 - loading analyzers implementing an interface from a directory
 - augmenting analyzer guru to use the loaded plugins
 - making analyzer guru a property of RuntimeEnvironment
 - loading the default analyzers as it used to be

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 4, 2019
 - loading analyzers implementing an interface from a directory
 - augmenting analyzer guru to use the loaded plugins
 - making analyzer guru a property of RuntimeEnvironment
 - loading the default analyzers as it used to be

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 8, 2019
 - loading analyzers implementing an interface from a directory
 - augmenting analyzer guru to use the loaded plugins
 - making analyzer guru a property of RuntimeEnvironment
 - loading the default analyzers as it used to be

approaches oracle#2588
tulinkry added a commit to tulinkry/OpenGrok that referenced this issue Feb 16, 2019
 - loading analyzers implementing an interface from a directory
 - augmenting analyzer guru to use the loaded plugins
 - making analyzer guru a property of RuntimeEnvironment
 - loading the default analyzers as it used to be

approaches oracle#2588
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