Skip to content

Releases: itsTyrion/PluginAnnotationProcessor

1.4 - just touchups but breaking

01 Mar 17:30
2f7f067
Compare
Choose a tag to compare

This update renames cleans up a few things:

  • The annotations were moved into their own package (bukkit, bungee, velocity).
  • @Plugin got renamed to @BukkitPlugin to reflect the name prefix of BungeePlugin and VelocityPlugin.
  • The version property was removed from the annotations to avoid confusion - providing one via build system is required anyway.
  • The readme was cleaned up and mostly moved into wiki with long overdue updates.

As usual, it's already up on jitpack

1.3 - Velocity support

09 Feb 05:58
b588ed5
Compare
Choose a tag to compare

Yes, I know Velocity already uses an annotation and annotation processor to generate it's plugin meta file, I added support to conveniently have the version in there without resorting to hacks, manually changing it or setting up templating for a single string. Also wooo new feature.

Sooo, just add @VelocityPlugin and specify depencendies with @Dependency (warning, different import!) as usual.

1.2 - commands support

08 Dec 18:27
e6c6ca4
Compare
Choose a tag to compare

commands are now supported, just add @CommandInfo to them and register them as usual (getCommand..)

1.1.2 - tiny bugfix

02 Dec 18:03
10d6f32
Compare
Choose a tag to compare

Fixed annotations being allowed on elements that aren't classes.

1.1.1

01 Dec 10:56
6273bcf
Compare
Choose a tag to compare

Just a dependency and gradle version bump

1.1

28 Nov 23:04
33ae55d
Compare
Choose a tag to compare
1.1

Added support for the libraries property so the SpigotLibraryLoader can be used on Spigot-based servers (Spigot/Paper/Pufferfish/Purpur).

KEEP IN MIND THIS FEATURE WAS ADDED IN 1.17.1 SO IT DOES NOT WORK ON OLDER VERSIONS!
My testing was also NOT extensive, the "smoke test" passed, though.

To use it, create a new dependency config like so:

configurations {
    spigotLib
    compileOnly { extendsFrom spigotLib }
}

(The name is up to you, I used spigotLib here)
change the dependency you want to load this way from implementation (or compileOnly, if you used a different method before) to the config name of your choice like so:

spigotLib 'com.google.inject:guice:7.0.0' // example dependency

and pass dependencies of that config to this processor:

// Kotlin example
kapt.arguments {
    // Add other annotation processor arguments as/if needed - this example includes what I personally use for the version.
    arg 'mcPluginVersion', version.contains("SNAPSHOT") ? (version + new Date().format('yyyyMMdd_HHmm')) : version
    arg 'spigotLibraries', configurations.spigotLib.dependencies.collect { "$it.group:$it.name:$it.version" }.join(';')
}

// Java example
tasks.withType(JavaCompile).configureEach {
    // Add other annotation processor arguments as/if needed - this example includes what I personally use for the version.
    def versionString = version.contains("SNAPSHOT") ? (version + new Date().format('yyyyMMdd_HHmm')) : version
    options.compilerArgs += ('-Aproject.version=' + versionString)
   options.compilerArgs += '-AspigotLibraries=' + configurations.spigotLib.dependencies.collect { "$it.group:$it.name:$it.version" }.join(';')
}

1.0

23 Nov 23:00
47dae45
Compare
Choose a tag to compare
1.0

The public release ig