The Multiverse Code (so API and implementation) · The Multiverse core
Group: org.multiverse - All Dependencies
The Multiverse core package · Contains the tests of core interfaces/classes of the Multiverse project. So no STM implementations. These tests are seperated from the
Multiverse Parent Project · A Software Transactional Memory implementation for the JVM.
Alpha Multiverse STM engine: Unborn · Contains the main Multiverse STM Implementation: the Alpha Engine. The Alpha engine supports readonly and update transactions. It also supports the retry/or else mechanism. This not the jar you want to have in your final distribution because it isn't instrumented (hence the name unborn). The jar you eventually want to have in your distribution is the multiverse-alpha jar. What this package does, is test the instrumentation for the Javaagent. The compiletime instrumentation is tested in the multiverse-alpha package (where all tests are copied and reexecuted but now with compiletime instrumentation).
Alpha Multiverse STM engine · Contains an all in one jar that that contains the AlphaStm including the Multiverse Javaagent and the Multiverse Compiler. This is the JAR you want to include in your projects, if you do, you don't need to worry about any Multiverse dependency at all.
The Multiverse instrumentation package · Contains support functionality for instrumenting classes so that they can participate in stm. The actual instrumentation (that is very STM specific) is not part of this package.
Multiverse Scala Integration · Scala classes to allow more elegant use of Multiverse from Scala. Atm the functionality is quite limited since not a lot of effort was put in the Scala integration. For the 0.6 release Multiverse should be able to work with in Scala written transactional objects configured with the Multiverse annotations. So that would reduce the need for this library, although in Scala they want to have special Scala 'interfaces' that provide some syntactic sugar to use java collections in Scala. So this module would be the good location for that. If anyone would like to help improving the Multiverse/Scala integration, please don't hesitate to join.
Multiverse Scala Integration · Scala classes to allow more elegant use of Multiverse from Scala
Benchy the benchmark framework · Benchy the Benchmark framework is an application that can be used to execute benchmarks. It doesn't contain any Benchmarks itself (it isn't related to multiverse in principle).
Multiverse project archetype · Skeleton for a project using Multiverse