Metadatos del Complemento
Agregar metadatos de complemento ayuda a los usuarios a identificar su complemento más fácilmente, ya que les permite verificar el nombre, la versión, la descripción o incluso los autores de un complemento en el tiempo de ejecución. También se usará cuando se publiquen complementos en un portal de complementos como Ore.
Actualmente, Sponge soporta los siguientes tipos de metadatos de los complementos:
Identificacion del Complemento, Nombre del complemento, Versión
Descripción
URL (ejemplo Página Web)
Autores
Dependencias del complemento
Anotación del complemento
Puede definir los metadatos de los complementos adicionales (opcionales) en su anotación @Plugin
:
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "myplugin", name = "My Plugin", version = "1.0",
description = "This is a very cool plugin I made for me",
url = "http://example.com",
authors = {"Spongie", "FLARD"},
dependencies = @Dependency(id = "otherplugin", optional = true))
Metadato del archivo
Además de los metadatos del complemento definidos en la anotación del complemento, también recomendamos que los complementos incluyan estos metadatos en un archivo adicional en el JAR, que tiene varias ventajas:
Integración más sencilla para los sistemas de compilación (por ejemplo, contribuir la versión del sistema de compilación a los metadatos de los complementos)
Más fácil para los portales de complementos obtener los metadatos del complemento (no es necesario analizar los archivos de clase)
Nota
Recomendamos encarecidamente complementos públicos para incluir metadatos de archivos. Los portales de complementos como Ore pueden requerir metadatos de archivos. Vea Using the Annotation Processor para obtener una forma simple de generarlo. La implementación puede imprimir una advertencia si un complemento carece de los metadatos del archivo.
El formato mcmod.info
Para los complementos de Sponge, usamos un archivo llamado mcmod.info
, que se incluye en la raíz de su complemento JAR. El formato proviene de Forge y ha sido utilizado por varios proyectos en la comunidad de Minecraft, por lo que hemos elegido usar el mismo.
mcmod.info
es básicamente un simple archivo JSON que define los metadatos del complemento como campos simples. Aquí hay un archivo de ejemplo que podría ser utilizado por un complemento de Sponge:
[{
"modid": "myplugin",
"name": "My Plugin",
"version": "1.0",
"description": "This is a very cool plugin I made for me",
"authorList": [
"Spongie",
"FLARD"
],
"dependencies": [
"otherplugin"
]
}]
Usando el Procesador de Anotación
Escribir un archivo extra es bastante molesto. Afortunadamente, generalmente no hay nada más que deba hacer. Al compilar su complemento, SpongeAPI puede generar este archivo automáticamente en función de la información provista en su anotación @Plugin
.
Habilitando
Si está utilizando un sistema de compilación como Gradle o Maven y no ha deshabilitado explícitamente el proceso de anotación, no hay nada más que deba hacer. Por defecto, el procesador de anotaciones se ejecutará automáticamente y generará un archivo mcmod.info
basado en el contenido de su anotación @Plugin
.
Si no está usando un sistema constructivo, debe habilitar manualmente el proceso de anotaciones.
Construir integración del sistema
Si está utilizando Gradle, SpongeGradle proporcionará una integración adicional para Gradle y los metadatos de los complementos. Por ejemplo, incluirá automáticamente la versión del proyecto definida en el guión de construcción de Gradle en los metadatos del complemento. Ver Configuración de Gradle para más detalles.