pom.xml is not up to date
silen72 opened this issue · 4 comments
I have cloned the repo in Eclipse IDE (2021-12 (4.22.0)) and tried to compile (Run As -> Maven Install). Did not compile due to missing artifacts. Did a Maven -> Update Project (with Force Update enabled) - still lots of missing artifacts like these:
Description Resource Path Location Type
Missing artifact com.bekvon.bukkit:residence:jar:4.8.8.2 pom.xml /SignShop line 84 Maven Dependency Problem
Missing artifact com.earth2me:essentials:jar:2.17.1.0 pom.xml /SignShop line 90 Maven Dependency Problem
Missing artifact com.palmergames.bukkit.towny:towny:jar:0.97.5.7 pom.xml /SignShop line 72 Maven Dependency Problem
Missing artifact com.sk89q.worldedit:worldedit-bukkit:jar:7.1.0 pom.xml /SignShop line 66 Maven Dependency Problem
Missing artifact com.sk89q.worldguard:worldguard-bukkit:jar:7.0.0 pom.xml /SignShop line 60 Maven Dependency Problem
Missing artifact com.Zrips:CMI:jar:8.5.1.2 pom.xml /SignShop line 108 Maven Dependency Problem
Missing artifact nl.rutgerkok:blocklocker:jar:0.1 pom.xml /SignShop line 120 Maven Dependency Problem
Missing artifact org.dynmap.bukkit:dynmap:jar:3.0-beta-10-257 pom.xml /SignShop line 96 Maven Dependency Problem
Please update the pom.xml file to re-enable compiling SignShop after a fresh clone.
@weaves7 I tried to as you suggested. But alas "Not all of the artifacts are publicly available", indeed. What I THOUGHT you meant was, not publicly available in terms of "in a maven repo". I was able to either find a more recent repo to support the dependencies OR to download the necessary jars for all but one missing artifact. In order to be able to compile this plugin, I seem to have to BUY the CMI plugin. This is very unfortunate. Maybe I have missed something - entirely possible. But I was not able to test any changes to the pom due to the inability to successfully compile after the changes I made.
I´d like to suggest to create separate plugins to support Towny, Blocklocker, CMI and all the others. At least for CMI I´d say it´s a must. That way you would a) enable others to compile and especially contribute to this plugin WITHOUT paying and b) declutter the code by removing stuff that is only necessary for those plugins. I´m talking about the way dynmap does it - there are quite a lot of helper plugins like dynmap-Worldguard etc...
Sorry I should have been more clear regarding the CMI jar not being available.
When I first included CMI I already had bought it and my intentions were only to update SignShop for my own server. But after seeing that others were also interested and talking with the original developers I ended up taking over development. The issue has really only come up a couple times in the time that I have been maintaining it. Therefore a more permanent solution was never a priority. In the past I have just told others to remove the code for CMI in their fork so that they may compile it. CMI does have a public API jar but it does not include the methods for worth. A better solution would probably be to fork the CMI-API and include those methods or ask the author to do so. But it does not look like he maintains it much. I will see if I can whip up something real fast in that regard.
Creating a more modular solution would also work of course but SignShop's design was always intended to be as "drop in and run" as possible. We already get lots of support inquiries that end up being caused by not having Vault and/or a Vault supported economy. In spite of all the messages on the resource pages and in console informing users of the requirement. I think that separating into modules would just cause more confusion for users and would be more work than it would be worth.
Re-opening until I have an answer regarding the CMI-API
I have good news! Zrips has finally updated the CMI-API to include worth. Unfortunately there is no public repo hosting it and Jitpack fails. But, you can get a jar for your local repo from here: https://www.zrips.net/wp-content/uploads/2021/09/CMI9.0.0.0API.jar
Download it and change your pom to this:
<dependency>
<groupId>com.Zrips</groupId>
<artifactId>CMI-API</artifactId>
<version>9.0.0.0</version>
<scope>provided</scope>
</dependency>
Run this maven command(edit the file path for your system).
mvn install:install-file -Dfile=C:\Users\Weaves\Desktop\CMI9.0.0.0API.jar -DgroupId=com.Zrips -DartifactId=CMI-API -Dversion=9.0.0.0 -Dpackaging=jar