soot
Soot - A Java optimization framework (by soot-oss)
sbt-missinglink
An sbt plugin for missinglink (by scalacenter)
soot | sbt-missinglink | |
---|---|---|
1 | 5 | |
2,956 | 134 | |
0.6% | 0.0% | |
9.2 | 2.8 | |
about 18 hours ago | 10 months ago | |
Java | Scala | |
GNU Lesser General Public License v3.0 only | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
soot
Posts with mentions or reviews of soot.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-03-31.
-
A Scala rant
Yeah, I think a cross compiler would be the only way such a thing could be possible. It would be interesting to see how many collections are actually changed though. I have written similar things using soot. The biggest question is whether there would be enough people who would want such a thing. I can't imagine the time savings vs time spent would pay off for me personally.
sbt-missinglink
Posts with mentions or reviews of sbt-missinglink.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-03-31.
-
Scala isn't fun anymore
And then there's sbt-missinglink, which can check that all the libraries that you're using in your application are compatible with each other (that one doesn't link to a missing class or method -- do you see? :) ). It prevents NoClassDefFoundError/NoSuchMethodError from happening at runtime.
- A Scala rant
-
sbt-missinglink 0.3.2 has been released: Multi-Release JARs and concurrency
sbt-missinglink can analyze all your projects concurrently. It can take a lot of memory, so you may want to limit the degree of concurrency via missinglinkConflictsTag
-
Preventing version conflicts with versionScheme (improving the Scala library ecosystem)
In our company, we've had good experience with sbt-missinglink. It's an sbt plugin made by Scala Center that wraps the MissingLink tool. It solves the problem the linked article describes, but does so in a more fundamental way. Instead of looking at versions of packages, it goes through all the class files and analyses possible "binary" conflicts.
What are some alternatives?
When comparing soot and sbt-missinglink you can also consider the following projects:
missinglink - Build time tool for detecting link problems in java projects
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
JByteMod-Beta - Java bytecode editor
Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing
find-sec-bugs - The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)
mdoc - Typechecked markdown documentation for Scala