shivanshukumar / pluginanalyser Goto Github PK
View Code? Open in Web Editor NEWA plugin analysis system that lets you determine external, unstated and unwanted dependencies for an eclipse plugin as well as that of a combination of plugins
A plugin analysis system that lets you determine external, unstated and unwanted dependencies for an eclipse plugin as well as that of a combination of plugins
This will allow for a more accurate modeling of the feature model (of features and plugins depedencies).
ManifestParser doe snot account for indirect bundle dependency specification through the 'uses' property in an 'Export-Package' dependency entry.
A Uses property calls for implied imports for the importer who is importing an exported package that use some other package (which my be exported by some other plugin and thus implying a dependency on that as well).
How to treat the 'uses' clause with respect to PluginAnalyser first has to be decided, based on which appropriate changes can be made.
Ref.: OSGi core 5.0.0 specification section 3.7.5 Package Constraints (page46-48)
The fix would include overriding the entire set of classes of apache ivy that are involved with bundle manifest parsing , and modify classes such as ManifestParser, ExportPackage, BundleRequirement and BundleCapability to allow for capturing such details.
The problem goes on to also involve other directives associated with Export-Package such as x-internal, x-friends, includes and excludes (the last two basically overriding the classes exported or not). A fix for these would also be good as it would lead to a more complete and accurate dependency (package based) resolution.
the dependency should ideally be fragment=> bundle bit for now in the dependencies Feature Model, is has been modeled as fragment <=> bundle so as to satisfy the macosx_specifc fragment => eclipse_swt case, where macosx specific part provides functions that satisfy calls to swt ....
this is not the proper way to go about modeling this i.e. fragment => bundle is correct, fragment <=> bundle is not.
.... the places where such a case exists are not critical however bit it would be nice to do this moving forward.
This is to enable garbage collection of unwanted plugin metadata and load as needed.
Thereby overall reducing the required heapspace for JVM.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.