[Jderobot] Cambio estructura subversion

Roberto Calvo rocapal en gsyc.urjc.es
Mar Ago 13 09:38:34 CEST 2013


El lun, 12-08-2013 a las 19:48 +0200, Maikel González escribió:
> Hola,
> 
> he probado a compilar introrob desde su respectivo directorio "build/" y 
> parece que la nueva estructura de directorios a roto la compilación por 
> componentes.
> 
> No sé si es que esta forma de compilación se va a descartar o sería 
> bueno arreglarla. En el segundo de los casos puedo echaros una mano.

Es algo que no tenemos claro. Luis Roberto también me ha escrito
comentando algo parecido.

La compilación por componentes está muy bien pero requiere mucho trabajo
de mantenimiento, además es necesario tener todo el repositorio
descargado y tiene dependencias relativas como por ejemplo del
directorio donde están las librerías. Cambiar un componente de diretorio
no debería influir en su compilación si queremos que la compilación de
un componente sea totalmente independiente del proyecto entero.

La idea es generar un proceso de compilación sencillo y que funcione
bien, cuando no se encuentren ciertas dependencias desactivar ciertos
componentes y listo (ahora sea hace con openni, player y gazebo). La
compilación por componentes ya sea descargándose todo el repositorio o
solo el componente me gusta, pero requiere mucho trabajo y esfuerzo de
mantenimiento (duplicamos CMakeList y deps) que creo que no podemos
abarcar.

¿Qué opináis?

> 
> Un saludo.
> 
> Maikel.
> 
> On 12/08/13 12:45, Roberto Calvo wrote:
> > El lun, 12-08-2013 a las 09:57 +0200, Roberto Calvo escribió:
> >> Hola!
> >>
> >> Durante esta mañana va a estar el repo sin permisos para escribir.
> >> Estamos haciendo un cambio grande en la estructura del repo y es difícil
> >> sincronizarlo bien si hay commits de por medio.
> >>
> >> En cuanto termine os aviso y comentamos los cambios.
> > Ya está listo y restaurado los permisos para escribir en el subversion.
> >
> > Lo primero de todo es que os lo descarguéis y comprobéis que os compila
> > bien. Cualquier problema, reportarlo.
> >
> > La modificación más grande en la organización del repositorio es que
> > dentro de src/ tendremos 2 ramas diferencias en cuanto a al estabilidad
> > del código. La idea es que la compilación de jderobot sea fluida y sin
> > problemas para aquellos que la tienen que utilizar día a día.
> >
> > Tenemos dos directorios dentro de src:
> >
> > * "Stable" tiene que compilar siempre y funcionar perfectamente, por lo
> > tanto cualquier commit debajo de "stable" debéis revisarlo bien.
> >
> > * "Testing" es todo aquello que aunque compila correctamente todavía no
> > pertenece al core de jderobot (quizás nunca lo haga) pero necesita del
> > entorno para compilar. Por defecto "testing" no se compila, para ello
> > hay que habilitar la variable de entorno "JDEROBOT_TESTING". Tenemos que
> > ver qué componentes tienen sentido que los quitemos y dejar solo
> > accesible mediante el tag, porque están muy muy deprecated.
> >
> > Ahora mismo de la parte stable se compila todo excepto los componentes
> > de gazebo y de player porque es necesario generar bien las dependencias
> > y activar o desactivar la compilación dependiendo de si se tienen o no.
> > Necesito gente que trabaje con player y gazebo para dejar listo estos
> > componentes ¿Quién se anima? ( ¿Edu, Borja, Alex? :-) )
> >
> > Algunos cambios (aunque quedará todo esto documentado en el wiki)
> >
> > - Para compilar e instalar
> >
> > 	cmake .
> > 	make
> > 	cmake .
> > 	make install
> >
> > [El segundo "cmake ." genera la lista de los .so generados, así no hay
> > que ponerlos a mano ni asumir que cada librería va a tener un único .so
> > que se llama igual que el directorio. En el futuro lo cambiaremos para
> > que las propias librerías se encarguen de instalar su targets].
> >
> > - El install de las librerías ha cambiado para que sea genérico y no
> > haga falta modificar los CMakeList constantemente.
> >
> > - La librería geometry ya está incluida dentro de todo el proyecto, asi
> > no duplicamos código de dependencias.
> >
> > - Cuando se crea un nuevo componente o librería no hace falta añadirlo a
> > los CMakeList, ya se escanea los directorios automáticamente con una
> > macro de CMAKE y compila todo lo que hay por debajo de components/  y
> > libs/
> >
> >
> > Creo que no me dejo nada. Lo importante sobre todo, cualquier problema
> > que tengáis a la hora de compilar con el nuevo cambio comentármelo.
> >
> > Un saludo!
> >
> >> Un saludo!
> >>
> 
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers

-- 
Roberto Calvo Palomino        | Robotics Lab (GSyC) 
R&D Android Mobile Engineer   | Universidad Rey Juan Carlos

Twitter: @rocapal 
Linkedin: http://www.linkedin.com/in/rocapal



More information about the Jde-developers mailing list