creación de plug-ins de origen

Los plug-ins de tipo origen se definen de la misma forma que los plug-ins de automatización excepto por algunas modificaciones en el archivo plugin.xml.

Al igual que los plugins de automatización, los plugins de origen se definen con tres archivos: upgrade.xml, info.xml y plugin.xml. La estructura de los dos primeros archivos es idéntica para los dos tipos de plugins. La estructura del archivo plugin.xml varía dependiendo del tipo de plugin. La estructura del archivoplugin.xml para los plugins de origen se describe en este tema. Para obtener información sobre el archivoplugin.xml de los plugins de automatización, consulte Archivo plugin.xml para plugins de automatización.

La etiqueta <server:plugin-type>Source</server:plugin-type> identifica el tipo de plugin. En el caso de los plugins de origen, el tipo tiene que ser Source:

<?xml version="1.0" encoding="UTF-8"?>
<!-- the xmlns:server argument is necessary to parse the tags with the server prefix -->
<plugin xmlns="http://www.urbancode.com/PluginXMLSchema_v1" 
    xmlns:server="http://www.urbancode.com/PluginServerXMLSchema_v1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <header>
    <identifier id="com.urbancode.air.plugin.source.Name" name="Plugin Name" version="1"/>
    <description>Short description</description>
    <tag>SCM/Name</tag>
    
    <server:plugin-type>Source</server:plugin-type>
  </header>

   

Un plugin de origen tiene un paso, que tiene que denominarse Import Version:

     <step-type name="Import Version">
      <description>Creates a new component version and imports artifacts</description>
      <properties>
      </properties>
      <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
     
      <command program="${JAVA_HOME}/bin/java">
        <arg value="${JAVA_OPTS}"/>
        <arg value="-jar"/>
        <arg file="FileSystemSourceConfig.jar"/>
        <arg value="ImportVersion"/>
        <arg file="${PLUGIN_INPUT_PROPS}"/>
        <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      </command>
      
    </step-type>
    
   

Como se muestra en el siguiente fragmento de código, los plugins de origen tienen dos grupos de propiedades. Las propiedades del tipo Component (componente) se configuran mediante la ventana Crear componente nuevo. Las propiedades del tipo Import (importar) se configuran mediante la ventana Importar componente.

       
    <!-- ==================================== -->
    <!--   Properties                         -->
    <!-- ==================================== -->
   
    <server:property-group type="Component" name="FileSystemComponentProperties">
      <server:property name="property-name" required="true">
        <server:property-ui type="textBox"
                            label="property-label"
                            description="property-description" />
      </server:property>
    </server:property-group>
    
       <!-- If left empty or omitted then no dialog will appear -->
    <server:property-group type="Import" name="FileSystemImportProperties">
      <server:property name="property-name" required="true">
        <server:property-ui type="textBox"
                            label="property-label"
                            description="property-description" />
      </server:property>
    </server:property-group>
</plugin>

Comentarios