Borrar todos los directorios target en maven

Todo desarrolldor Java conoce Maven. Una herramienta que funciona igual que en su día ant o Gradle. La idea es teer una herramienta que en base a la configuración del proyecto (ficheros pom.xml) sabe cómo compilar, en qué orden y qué dependencis tiene (además de resolverlas e instalarlas si puede).

Normalmente se compila usando un comando como mvn compile o mvn package, el resultado se generar e un subdirectorio llamado target. Para limpiar el proyecto y borrar todo el contenido generado se usa el comando mvn clean.

Cuando tenemos un proyecto con subproyectos (submodulos, en maven) si es muy complicado puede volverse loco y no hacerlo bien. En Bash tenemos un truco para borrarlos de forma recursiva, con el comando (ejecutado en el raíz del proyecto):

for f in $(find . -type d -name target -exec echo {} \;); do rm -rf $f; done

Podemos ver el tamáño del directorio con:

du -h -d1

Por ejemplo, si comparamos un proyecto antes y después de hacer esto:

Una diferenci de 9 GB !!!

Carpetas compatidas en VirtualBox

Introducción

El problema es conocido: crear una máquina virtual y disponer de un mapeo entre carpetas de la máquina que aloja al virtualizador (host) y otra en el máquina huesped (guest) De este modo tenemos una ruta donde leer o escribir ficheros, y el sistema debería mapear permisos de usuario de forma bidireccional.

Guía paso a paso

Crear una carpeta en tu equipo (donde tiene el software de virtualización). En caso de Windows, por ejemplo: C:\temp\CompartidoVirtualBox

Y en Virtual Box debemos abirr la configuración de la máquina virtual, ir a la sección de compartidos y poner esta información (o la que cada cual haya querido):

– Arranca la máquina virtual
– Ir a: Devices > Insert Guest Additions CD image…
– Si no se monta de forma automática la imgen de CD usar el comando: sudo mount /dev/cdrom /media/cdrom
– Instalar paquetes adicionales: sudo apt-get install make gcc linux-headers-$(uname -r)
– Instalar Guest Additions: sudo /media/cdrom/VBoxLinuxAdditions.run

IMPORTANTE: Debemos añadir el usuario que va a usar el recurso compartido al grupo vboxsf.

sudo usermod -aG vboxsf $(whoami)

Reinciar, el punto de montaje debe estar disponble.

GIT Cómo hacer un parche de un commit(s) dado

Introducción

Relacionado: GIT: Cómo hacer un parche con los cambios actuales

El caso en esta entrada puede ser conocido por muchos usurios veteranos de git y por los nóveles que no hayan conocido cómo solucionarlo.

En nuestro trabajo diario, tenemos que compartir uno o varios cambios que están en el histórico de git o en una rama local de trabajo y queremos compartir esos combios ya sea como solución a un problema o para pasarle una tarea a un compañero o lo que sea, ¿cómo lo hacemos?

Continue reading

Añadir origen de nuget por defecto

Problema

Recientemente he tenido que reinstalar mi equipo de trabajo, y comprobando que la nueva instalación funcionaba como la anterior me he encontrado que al recompilar un proyecto hecho con .NET5 no compilaba (le falta encontrar los origenes de Nuget), dando el siguiente mensaje:

Continue reading

Instalar Oh My Posh y personalizar el prompt del terminal

Introducción

Oh My Posh es un motor para el prompt del terminal de windows, que permite ser personalizado para cualquier shell que tenga la capacidad de ajustar la cadena de solicitud con una función o variable (usaremos powershell).

Es muy útil si programas y usas GIT porqué te muestra información útil, depende del tema que se use, pero si estás en un directorio en un repo git, la rama de trabajo, cuantos commits estás por detras del remote, cuantos ficheros pendietes de commit, si ha habido un error, y más …

El objetivo es tener un prompt (parecido, no esté en concreto necesariamente) como sl siguiente:

Continue reading

GIT: Cómo hacer un parche con los cambios actuales

Introducción

El caso por ver en esta entrada puede ser conocido por muchos usurios veteranos de git y por los nóveles que no hayan conocido cómo solucionarlo.

Estamos trabajando en una rama de trabajo, y queremos cambiar a la principal para hacer un pull, pero … no quermos perder o descartar los cambios, ¿qué hacer? Existen soluciones usar git stash o en IntelliJ hacer un shelf, pero cómo dice el título y si quiero almacenar TODOS los cambios que hay en el working tree en un fichero, un parche.

Continue reading

Como hacer un usuario Administrador en Windows

En Windows, una forma fácil de hacer que un usuario se administrador (pertenezca al grupo Administrador) es abrir un CMD con privilegios elevados (como administraodr) y ejecutar el comando:

> net localgroup Administrators (UserLoginName) /add

Podemos verificar que la acción ha sido un éxito con el comando:

> net localgroup "Administrators"

Nombre de alias   Administrators 
Comentario

Miembros
-------------------------------------------------------------------
Administrator
UsuarioLocal*
Dominio\UsuarioExterno*

Se ha completado el comando correctamente.

* son ejemplos de usuarios y dominios que no existen

 

Descargar carpeta WEB completa con CURL

Introducción

Supongamos que queremos descargar un contenido WEB. Por ejemplo, en la siguiente imagen vemos un caso real de unos XML modelo publicados por la administración pública (pero podría ser una página HTML con sus imágenes, etc.):

Solución

La forma de hacerlo usando wget sería:

wget --no-parent -r http[s]://dominio.com/ruta/directorio/descargar

Con esto, se crea una carpeta con el nombre del dominio y la estructura de carpetas publicadas en el servidor y todos los documentos referendo los enlaces disponibles desde la ruta indicada.

NOTA: Para poder usar WGET con SSL (https) leer mi post anterior.

***ADICONAL**: Parametros adicionales en https://www.guyrutenberg.com/2014/05/02/make-offline-mirror-of-a-site-using-wget/