ScalaLoader icon

ScalaLoader -----

Write plugins in Scala!



Java 8 compatiblity, new configuration serialization api, new scala verions
Hello everyone, time for a new update! Here's the tl;dr changelog:
New:
  • Added Scala 2.13.4
  • Preliminary configuration serialization api
  • Metrics on bStats
Changed:
  • ScalaLoader will now run again on Java 8
  • Improved compabitbility between ScalaPlugins

And now in more detail:
  1. v2_13_4 was added to the ScalaVersion enum.
  2. The configuration serialization api is not completely finished yet, but a new package xyz.janboerman.scalaloader.configurationserialization was added. It contains the annotation @ConfigurationSerializable which can be used to let the classloader generate the serialize(): java.util.Map[String, AnyRef] and static deseralize(map: java.util.Map[String, AnyRef]): MyType methods. It will also register the type to Bukkit's ConfigurationSerialization class when the ScalaPlugin enables by default. @ConfigurationSerializable is most useful for product types whilst @DelegateSerialization is useful for sum types. A more detailed example will follow when I'm done with this feature, but the ScalaExample on the git repository already shows how to use it. The things that are not properly serialized and deserialized yet are: types from the Scala standard library, arrays, arrays and collections of UUIDs, BigIntegers, BigDecimals, Characters, Bytes, Shorts, Longs and Floats.
  3. ScalaLoader collects metrics and uploads them to bstats.org. In addition to the standard charts, we'll be able to see which Scala versions are most in use by plugins using this pluginloader. Opting out can be done by editing the ./plugins/bStats/config.yml file.
  4. ScalaLoader is now released as a Multi-Release jar compatible with Java 8 again, but on Java 11 it may use some more effecient methods from the JDK.
  5. ScalaPlugins that require versions of Scala that are binary compatible with eachother will now use the same (newest) version at runtime. This includes Scala 3.0.0 for the Scala 2.13.x branch.
----------, Nov 20, 2020
Resource Information
Author:
----------
Total Downloads: 3,050
First Release: Aug 7, 2018
Last Update: Dec 26, 2024
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings