Provide warnings for spaces in plugin names. Addresses BUKKIT-5419

By: Wesley Wolfe <weswolf@aol.com>
This commit is contained in:
Bukkit/Spigot
2014-02-15 11:37:33 -06:00
parent edd5dc6155
commit bc562b3f5b
2 changed files with 19 additions and 2 deletions

View File

@@ -166,6 +166,7 @@ import com.google.common.collect.ImmutableMap;
*/
public final class PluginDescriptionFile {
private static final Yaml yaml = new Yaml(new SafeConstructor());
String rawName = null;
private String name = null;
private String main = null;
private String classLoaderOf = null;
@@ -228,6 +229,7 @@ public final class PluginDescriptionFile {
* <li>Case sensitive.
* <li>The is the token referenced in {@link #getDepend()}, {@link
* #getSoftDepend()}, and {@link #getLoadBefore()}.
* <li>Using spaces in the plugin's name is deprecated.
* </ul>
* <p>
* In the plugin.yml, this entry is named <code>name</code>.
@@ -799,7 +801,7 @@ public final class PluginDescriptionFile {
private void loadMap(Map<?, ?> map) throws InvalidDescriptionException {
try {
name = map.get("name").toString();
name = rawName = map.get("name").toString();
if (!name.matches("^[A-Za-z0-9 _.-]+$")) {
throw new InvalidDescriptionException("name '" + name + "' contains invalid characters.");