Contenido

Netbeans y Templates

Vamos a ver cómo utilizar las plantillas de Netbeans, en concreto para que ponga la licencia en lugar del encabezado que pone actualmente. Lo haremos en dos sencillos pasos.

Java

Primeros pasos

Lo primero que vamos a hacer es añadir la licencia que queremos. Para ello, nos iremos al menú: “Tools->Templates”, con lo que se nos abrirá el Templage Manager. Vamos a abrir, tan sólo para verlo, el fichero “Java->Java Class”. Si no lo habéis editado antes, os encontraréis con algo así:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<#assign licenseFirst = "/*">
<#assign licensePrefix = " * ">
<#assign licenseLast = " */">
<#include "../Licenses/license-${project.license}.txt">

<#if package?? && package != "">
package ${package};

</#if>
/**
 *
 * @author ${user}
 */
public class ${name} {

}

De esta manera, se indica que se va a meter lo que haya en el fichero ../Licenses/license-${project.license}.txt como comentario en la parte superior de nuestro archivo.

Pero… ¿de dónde sacamos ese archivo?

Establecer la licencia de nuestro proyecto

Este archivo depende de nuestro proyecto. Como todo lo que depende de nuestro proyecto, estará entre las propiedades de. proyecto, claro. Desgraciadamente, no he encontrado ninguna manera rápida de llegar hasta este archivo, por lo que podemos abrir la vista de ficheros y abrir el archivo nbproject/project.properties o podemos abrirlo con cualquier otro editor distinto de Netbeans.

Veréis que el archivo es tipo INI, y basta con añadirle la línea:

1
project.license=gpl3

Podéis añadir la cadena que gustéis, cosas como “gpl3”, “apache”, “mi_empresa” (recomiendo que no uséis espacios), etc. Pero recordad lo que habéis puesto aquí ya que nos hace falta.

Crear el archivo de licencia

El archivo de licencia no deja de ser una plantilla, por lo que volvemos a las plantillas: ../Licenses/license-${project.license}.txt, y creamos el fichero license-${project.license}.txt en la carpeta Licenses. Recordad que Netbeans sustituirá el “${project.license}” por el valor que establecimos en el punto anterior.

Final

Aunque parece un método algo enrevesado, tiene sus ventajas. Podemos crearnos las plantillas para las licencias que usemos habitualmente: GPL, Apache, la de la empresa en la que trabajamos, etc. Y una vez creadas, en cada proyecto indicamos cuál de ellas debe usar. Así de simple. De esta manera habremos sustituido muchas plantillas al mismo tiempo (por eso he tratado de no editar la plantilla) y nos encontraremos con que todos los archivos que vayamos incluyendo ya traen la cabecera con la licencia.

Por supuesto que en la propia licencia podemos usar variables del archivo nbproject/project.properties o bien de entorno, como ${user}, que se sustituirá por el nombre del usuario que está editando el archivo o bien ${name} con el nombre del archivo sin su extensión, o cualquier variable de nuestro proyecto.

Un saludo!