La tienda de la dependencia

La tienda de la dependencia

Dependencias de gradle

Pero no quiero añadirlo a un repositorio. La razón es que quiero que mis comandos habituales de maven como mvn compile, etc, funcionen de forma inmediata. (Sin exigir a los desarrolladores que lo añadan a algún repositorio por su cuenta).
Si realmente quieres esto (entiéndase, si no puedes usar un repositorio corporativo), entonces mi consejo sería usar un “repositorio de archivos” local al proyecto y no usar una dependencia de alcance del sistema. El system scoped debe ser evitado, tales dependencias no funcionan bien en muchas situaciones (por ejemplo, en ensamblaje), causan más problemas que beneficios.

Lista de dependencias de helm

He buscado en internet y he encontrado dos formas diferentes de almacenar las versiones de gradle para una aplicación android. Una es el gradle.properties y la otra es el archivo raíz build.gradle bajo un objeto ext. Ambos son accesibles desde todos los demás módulos. Sólo estoy tratando de averiguar la diferencia entre cada uno y cuál se recomienda utilizar y por qué?
Bueno, si echamos un vistazo a la documentación podemos ver que gradle.properties debe ser un archivo que consiste en propiedades más “abstractas” que su proyecto necesita. Cosas como el home de Java o la activación/desactivación de la caché de Gradles. En Android tenemos además el archivo local.properties, que por ejemplo declara la ruta al Sdk de Android.

Archivo de dependencia de helm

¿Cuál es el propósito de esta clase UserManager?, puede usar sus repos cuando los necesite. El nombre “Manager” es normalmente un aviso de una clase con muchas o poco claras responsabilidades, ¿quién sabe lo que hace un “manager”?
Otra cosa que parece un poco extraña en tu diseño es que parece que estás creando un repositorio por tabla o almacenamiento (este repo de caché) más que un repositorio por entidad/agregado como la propuesta original en Domain Driven Design.
Por ejemplo, tienes un teamRepository en lugar de tener un método findByTeam en el repositorio de usuario. Espero que un teamRepository me devuelva “equipos” no usuarios. Piensa en un repositorio como una abstracción para acceder a la entidad de usuario cualquiera que sea este usuario realmente. Dentro de esta implementación del repositorio puedes, por supuesto, acceder a diferentes tablas o sistemas de almacenamiento para obtener esos usuarios.
Sobre la pregunta original, en general si tienes N dependencias en una clase y cada dependencia solo se usa en un método tienes un problema de cohesión en tu clase, esto es un mal síntoma, es una “alarma” para revisar tu diseño.

Ejemplo de dependencia de helm

Gradle utiliza la misma lógica que Maven para identificar la ubicación de su caché local de Maven. Si se define una ubicación de repositorio local en un settings.xml, se utilizará esta ubicación. El settings.xml en USER_HOME/.m2 tiene prioridad sobre el settings.xml en M2_HOME/conf. Si no hay un settings.xml disponible, Gradle utiliza la ubicación por defecto USER_HOME/.m2/repository.
¿Pero qué pasa con las dependencias resueltas? Por las razones mencionadas anteriormente, Gradle no puede almacenar dependencias en el repositorio local de Maven. Actualmente no hay ninguna funcionalidad incorporada para publicar las dependencias en el repositorio local de Maven desde el script de construcción. Así que cuáles son tus opciones:
Si hago mvn install para un proyecto que tiene una versión de 1.1.1.SNAPSHOT va a mi repositorio local de Maven (~/m2/repository/…) sin errores. Sin embargo, Gradle usando mavenLocal() no intenta localizarlo en el repositorio local de maven (habiendo usado ./gradlew bootRun –debug e inspeccionando los logs).
Me encontré con este problema porque estoy trabajando en un proyecto heredado en el que necesito ejecutar mi construcción con el comando sudo gradle build. La construcción implica copiar archivos XSD, que requieren permisos de root. Opté por no emplear las soluciones de las respuestas anteriores porque no quería cambiar el archivo de construcción; no quería comprobar accidentalmente los cambios en mi build.gradle. Lo que encontré fue que Gradle estaba buscando mavenLocal en la carpeta /var/root/.m2. Mi solución fue copiar /Users/me/.m2/settings.xml a /var/root/.m2 y añadir una línea para que el localRepository apunte de nuevo a mi carpeta /Users/me/.m2. Una línea de ejemplo y dónde añadirla es: