Versión original del proyecto en inglés minimal plugin
Esta es la estructuctura mínima para la implementación de un proyecto con Maven de un plugin para ImageJ 1.x.
Se pretende que sea un punto de partida ideal para desarrollar nuevos plugins para ImageJ 1.x en un IDE de su elección. Es posible colaborar con desarrolladores que trabajan con un IDE diferente al suyo.
En Eclipse, por ejemplo, esto es tan simple como File>Import...>Existing Maven Project
En Netbeans, es incluso más simple: File>Open Project. De igual forma en IntelliJ.
Si jEdit es su IDE preferido, necesita instalar Maven Plugin.
Programadores rebeldes en línea de comandos pueden usar directamente Maven llamando mvn en el directorio raiz.
No obstante, al generar el proyecto, al final tendrá el archivo .jar
(llamado artifact en la jerga Maven) en el subdirectorio target/
Para copiar el artifact en el lugar correcto, se debe llamar mvn -Dimagej.app.directory=/path/to/Fiji.app/
. Esto no solamente copia el artifact,
si no tambien todas las dependencias. Para notar los cambios, reiniciar ImageJ o
realizar Help>Refresh Menus para mirar su plugin en los menus.
Desarrollar plugins en un IDE es conveniente, especialmente para la fase de depuración (debugging). Para hacer debugging, el plugin contiene el método main() que establece la propiedad del sistema plugins.dir (de modo que el plugin se agrega al menu Plugins), inicia ImageJ, carga una imagen y corre el plugin. Mirar tambien esta página para información de cómo hacer en Fiji para el debugging usando un IDE.
Dado que este proyecto pretende ser un punto de partida para sus propios desarrollos, este es de dominio público
Ya sea
git clone git://github.com/imagej/minimal-ij1-plugin
, o- Descomprimir https://github.com/imagej/minimal-ij1-plugin/archive/master.zip
Entonces:
- Editar el archivo
pom.xml
. Cada entrada debe ser bastante autoexplicativa. En particular, cambiar:- el artifactId (Nota: debe contener un caracter'_'), nombre del plugin.
- el groupId (opcional)
- la version (notar que tipicamente cuando se desea usar un número de versión como sufijo,_SNAPSHOT, es para indicar que el trabajo está en progreso en lugar de ser una versión final)
- las dependencies (leer como especificar correctamente la terna groupId/artifactId/version aquí)
- developer, información del desarrollador.
- scm información scm.
- Eliminar el archivo
Process_Pixels.java
y crear su archivo.java
ensrc/main/java/<package>/
(si necesita archivos de soporte como iconos en el resultado.jar
, colocarlos ensrc/main/resources/
) - Editar
src/main/resources/plugins.config
- Reemplazar el contenido de
README.md
con la información acerca de su proyecto.
Si clonó el repositorio minimal-ij1-plugin
, probablemente desea publicar los
resultados en su propio repositorio:
- Llamar
git status
para verificar la lista de archivos modificados y que no se deben ignorar (patrones de los archivos a ignorar se dan en .gitignore) - Llamar
git add .
ygit add -u
para preparar los archivos actuales para un commit (en jerga de github, un commit es cuando se aceptan los cambios realizados) - Llamar
git commit
ogit gui
para realizar el commit. - Crear un nuevo repositorio en GitHub
git remote set-url origin git@github.com:<username>/<projectname>
Enlaza con el repositorio remoto.git push origin HEAD
, sube los archivos.
- Ir a Run Configurations...
- Escoger Maven Build
- Agregar los siguientes parámetros: name:
imagej.app.directory
value:/path/to/Fiji.app/
Esto asegura que el archivo final .jar
también sea copiado en su carpeta de plugins de Fiji cada vez que Maven construye el proyecto.