missinglink
Build time tool for detecting link problems in java projects (by spotify)
soot
Soot - A Java optimization framework (by soot-oss)
missinglink | soot | |
---|---|---|
5 | 1 | |
148 | 2,948 | |
-0.7% | 0.8% | |
7.1 | 9.2 | |
3 months ago | 20 days ago | |
Java | Java | |
Apache License 2.0 | GNU Lesser General Public License v3.0 only |
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.
missinglink
Posts with mentions or reviews of 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.
-
A Scala rant
You can also use the upstream https://github.com/spotify/missinglink if you're using Maven instead of sbt.
-
Is there any way to statically detect broken references in a set of Java class files?
There's been a recent release of missing-link with support for Mult-Release JARs and running analysis on multiple projects concurrently. More info here (applies not only to Scala/sbt, so it's worth linking it here): https://old.reddit.com/r/scala/comments/lxmi4w/sbtmissinglink_032_has_been_released_multirelease/
-
Preventing version conflicts with versionScheme (improving the Scala library ecosystem)
There are still some issues with MissingLink, like that it can't handle Multi-Release JARs (but that's being fixed I write) or that it uses thread-unsafe caches and so it can't be executed in parallel (and so it can take a long time to finish on big projects with many modules). But taken all together I swear by it. It has already saved us from runtime failures after deployment many times (it's easy to get incompatible versions when working on big projects with big number of dependencies). Instead, we get a red build in CI -- just anybody should expect for goodness sake when using a strongly-typed language like Scala.
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.
What are some alternatives?
When comparing missinglink and soot you can also consider the following projects:
bnd - Bnd/Bndtools. Tooling to build OSGi bundles including Eclipse, Maven, and Gradle plugins.
JByteMod-Beta - Java bytecode editor
cloud-opensource-java - Tools for detecting and avoiding linkage errors in GCP open source projects
find-sec-bugs - The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)
maven-dependency-versions-check-plugin - Maven plugin to find dependency version conflicts
sbt-missinglink - An sbt plugin for missinglink