Comments (2)
I love this! I've been thinking about it for some time.
It would split the codebase making it more mantainable, it would allow third parties to use the test infrastructure AND it allows plugin developers to easily run just their detectors without the defaults ones.
Also of note, it forces ourselves to respect the public API provided by the core, making it more obvious if we ever break anything for third parties.
As far as I'm concerned, feel free to push this forward as part of our project structure changes.
from spotbugs.
I will list "core" classes which is depending on detector:
findbugs/src/main/java/edu/umd/cs/findbugs/FindBugs2.java:import edu.umd.cs.findbugs.detect.NoteSuppressedWarnings;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/AnalysisContext.java:import edu.umd.cs.findbugs.detect.UnreadFields;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/AnalysisContext.java:import edu.umd.cs.findbugs.detect.UnreadFieldsData;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/FieldSummary.java:import edu.umd.cs.findbugs.detect.UnreadFieldsData;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/XFactory.java:import edu.umd.cs.findbugs.detect.BuildObligationPolicyDatabase;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/vna/ValueNumberFrameModelingVisitor.java:import edu.umd.cs.findbugs.detect.FindNoSideEffectMethods.MethodSideEffectStatus;
findbugs/src/main/java/edu/umd/cs/findbugs/ba/vna/ValueNumberFrameModelingVisitor.java:import edu.umd.cs.findbugs.detect.FindNoSideEffectMethods.NoSideEffectMethodsDatabase;
findbugs/src/test/java/edu/umd/cs/findbugs/ba/ch/Subtypes2Test.java:import edu.umd.cs.findbugs.detect.FindRefComparison;
It seems difficult to move all detectors to new sub module, I will move a part of them.
from spotbugs.
Related Issues (20)
- SE_BAD_FIELD with records and spotbugs-4.8.4 HOT 4
- False Positive: IL_INFINITE_LOOP HOT 6
- Prefix matching behavior of SuppressFBWarnings makes it impossible to suppress just one warning HOT 2
- DataflowAnalysisException in 4.7.3 and 4.8.3 HOT 5
- Preview mode for new/enhanced detectors HOT 2
- How to get line number of method in Interface HOT 1
- Spotbugs 4.8.4 release notes missing in GitHub HOT 5
- MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT false positive in 4.8.4 HOT 14
- Test classes for issue 574 are in the wrong package HOT 1
- Failing while building spotbugs version 4.2.3 using ./gradlew build HOT 5
- Change the release process to automate the changelog HOT 1
- False positive SING_SINGLETON_IMPLEMENTS_SERIALIZABLE when class is not a singleton HOT 3
- Still getting NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE with Objects.requireNonNull
- Version 4.8.4 false positive SING_SINGLETON_GETTER_NOT_SYNCHRONIZED HOT 6
- False positive BC_IMPOSSIBLE_INSTANCEOF HOT 4
- Stylesheet not working in 4.8.4 HOT 6
- Signature of eclipse-plugin expired HOT 1
- FP SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR for record HOT 4
- CT_CONSTRUCTOR_THROW: report violation for final fields HOT 2
- Another false positive SING_SINGLETON_IMPLEMENTS_SERIALIZABLE when class is not a singleton (e.g. protobuf) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spotbugs.