šŸ“” Updatifier v1.4.0 ~ Easy to use update checking

Hello I have having an issue with the plugin loadingā€¦

Minecraft: 1.8.9
SpongeAPI: 3.1.0-SNAPSHOT-648d95f
SpongeVanilla: 1.8.9-3.1.0-BETA-239

Plugins (14): Minecraft, SpongeVanilla, Blood Money, SpongeAPI, Polis, EssentialCmds, Total Economy,       PermissionsEx, ItemAuction, ServerListPlus, Project Portals, NuVotifier, AdminShop, Prism

Full log
http://paste.fedoraproject.org/320126/98756214/

Great plugin !!!:slightly_smiling:

I got this error when trying to load the plugin

Minecraft: 1.8.9
SpongeAPI: 3.1.0-SNAPSHOT
SpongeVanilla: 1.8.9-3.1.0-BETA-178

Iā€™d update SpongeVanilla first and try again.

1 Like

@dude_guy_boy @Jeremiah_Summers

I have a feeling the issue may be related to Sponge Vanilla. Is there any why you could test your current setup with SpongeForge?

I just tested with the latest SpongeForge (1143) and only Updatifier installed on the server. Everything worked with no errors.

@Flibio
Unfortunately the problem is a rather general one with the way your plugin works. As long as no other plugin (or with SpongeVanilla: the plugin loader itself) is accessing any annotation via reflection on the plugin class your plugin will fail to load, because in that case it will try to load your annotation class before your plugin is loaded.

Therefore, the same problem can be reproduced on SpongeForge with one of these plugins:

Running any of these plugins on a SpongeForge servers results in the following similar crash report:

The reason why this always happens on SpongeVanilla is that unlike SpongeForge, SpongeVanilla is currently loading the plugin metadata directly from the annotation using reflection. This might be replaced later on, but for now this would be a general problem, because your plugin can never load on SpongeVanilla, unless it is loaded before all other plugins.

So is it possible to make plugins that use votifier ship the annotation class in its jar to fix this problem?

Edit: Might it relate to guice or do I need to implement the annotation?

Edit2: Is there any more issue with the plugin if you remove the Updatifier annotation?

@Minecrell

Any ideas on a solution that work with the annotation?

@liach

I believe that if the annotation was removed, and Updatifier used a different method of getting plugin data, it would work.

I have an Ideaā€¦ put 01 in front of the jar nameā€¦ Sponge loads mods alpha-numeric by file nameā€¦ numbers first. Itā€™s a quick fix until Sponge can fix that dependency handling thingā€¦ thatā€™s going to become rather important as more plugins depend on each other.

[05:58:09 INFO]: SpongeVanilla
Minecraft: 1.8.9
SpongeAPI: 3.1.0-SNAPSHOT-648d95f
SpongeVanilla: 1.8.9-3.1.0-BETA-239

[05:58:34 INFO]: Plugins (17): Minecraft, SpongeVanilla, Blood Money, SpongeAPI, EntityDisguise, Polis, EssentialCmds, Total Economy, PermissionsEx, VotifierListener, Updatifier, ItemAuction, ServerListPlus, Project Portals, NuVotifier, AdminShop, Prism

Latest log with it loadingā€¦
http://paste.fedoraproject.org/320610/55083947

While that does indeed fix the issue currently, this is a temporary workaround this is going to be removed as soon as plugin dependencies are implemented.

@Flibio
Now that he mentioned that, one possible fix would be of course to simply have all plugins using Updatifier specify an optional dependency on it, so as soon as this is implemented in SV, it would always load Updatifier first, and therefore we wouldnā€™t have any problems with inexistent classes anymore.

That is one of the steps in adding Updatifier support to your plugin. You must add it as as an optional dependency.

dependencies = "after: Updatifier"

For now, I will add a note stating that Updatifier will not work with SpongeVanilla if it is not renamed and loaded first.

@Jeremiah_Summers

The latest log looks good, I donā€™t see any errors!

Yup that was my pointā€¦ Im good for now with just renaming the jar file

1 Like

Updatifier v1.3.0 is now available!

  • Added commands to check updates from a player who has updatifier.notify permission, or the console
  • Added clickable links for players who get notified
  • Added an api jar which other plugins could ship and interact with Updatifer.
  • Note: To make Updatifer work on SpongeVanilla, the plugin that uses Updatifier must ship Updatifer api jar, which is available on jitpack maven. Documentation will come later.

:inbox_tray: Download Updatifier

:memo: Issues & Suggestions

:wrench: Source Code

:books: Wiki

:heavy_dollar_sign: Support Me

I am a bit confused. I ran both EconomyLite with Updatifier installed on my server, and it refused to start. Is this intended? Am I not meant to install Updatifier itself on the server?

Yes, you are, do you have a log?

EDIT: Found the problemā€¦ fixing it right now. I accidentally shaded Updatifier into the JAR.

1 Like

What is this caused by?

One of the plugins using Updatifier forgot to follow the wiki and add Updatifier as an after dependency: dependencies = "after: Updatifier". Iā€™ll investigate and try to figure out who it was.

I think Iā€™m doing something wrong. After running some tests with PJP, I noticed that Updatifier is not detecting new updates. The git tag matches the plugin version as per your wiki, but the only time Iā€™ve actually seen it work is last night when I accidentally created a git release with an invalid tag (tag "v0.9.38 should have been ā€œ0.8.38ā€). Can you review my git page please?

It worked perfectly for me. I used Updatifier v1.3.0 and PJP v0.9.39. Updatifier detected an update was available.

Well that makes me feel better. Must be a local issue. Thanks

1 Like