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.