¿Es posible hacer que un mecanismo de aprovisionamiento eclipse p2 se ejecute * localmente*?


Eclipse 3.4[.x] - también conocido como Ganímedes - viene con este nuevo mecanismo de aprovisionamiento llamado p2.

"Aprovisionamiento" es el proceso que permite descubrir y actualizar bajo demanda algunas partes de una aplicación, como se explica en general en este artículo en el Sitio web de Sun.

Eclipse tiene una sección wiki extendida en la que se presentan los detalles de p2. Específicamente, dice en esta página wiki que p2 buscará nuevos componentes Obstante después de leerlo.

Supongo (pero puede confirmar ese punto por su propia experiencia), que p2 puede funcionar con el protocolo file "file://", lo que le permitiría aprovisionar el archivo local (ya sea en su computadora o en una ruta UNC '\ server \ path'), como se ilustra aquí , pero también archivos:

  • [eclipse-SDK-3.4-win32]\eclipse\configuration\.preferencias\org.eclipsar.equinoccio.p2.artefacto.repositorio.prefs
  • [eclipse-SDK-3.4-win32]\eclipse\configuration\.preferencias\org.eclipsar.equinoccio.p2.metadatos.repositorio.prefs

El mecanismo P2 se utiliza para actualizar eclipse en sí, a través de un sitio de actualización eclipse 3.4, y la referencia en los '.archivos de prefs con línea como:

Repositories/file:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/url=file:/C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/

Ahora, ¿cómo podría replicar los componentes de eclipse presentes en ese sitio de actualización en un directorio local y hacer referencia a esos componentes a través del mencionado '.archivos de prefs, para tener un proceso de actualización completamente ejecutado localmente, sin tener que acceder a la web?
Supongo que algunos archivos de metadatos p2 presentes en el distante 'sitio de actualización' necesitan para ser replicado y cambiado.

¿Tienes algún pensamiento/consejo/consejo sobre eso ? (es decir, sobre cómo descubrir, recuperar y actualizar la estructura completa necesaria para una instalación completa de eclipse, con el fin de ejecutar esa instalación localmente)

Author: Adam Bellaire, 2008-09-25

2 answers

Sí, puede especificar las ubicaciones del repositorio si utiliza el p2.director

Esto, por ejemplo, es un fragmento de un script que uso para instalar eclipse (Ganymede) desde una copia local del repositorio Ganymede

./eclipse\
      -nosplash -consolelog -debug\
      -vm "${VM}"\
      -application org.eclipse.equinox.p2.director.app.application\
      -metadataRepository file:${SHARED_REPOSITORY_DIR}\
      -artifactRepository file:${SHARED_REPOSITORY_DIR}\
      -installIU "${4-org.eclipse.sdk.ide}"\
      -destination "${3}"\
      -profile "${1}"\
      -profileProperties org.eclipse.update.install.features=true\
      -bundlepool ${SHARED_BUNDLEPOOL_DIR}\
      -p2.os linux\
      -p2.ws gtk\
      -p2.arch "${2}"\
      \
      -vmargs\
        -Xms64m -Xmx1024m -XX:MaxPermSize=256m\
        -Declipse.p2.data.area=${SHARED_P2_DIR}

Aquí hay algunos enlaces para usar el director de p2

Http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi
http://wiki.eclipse.org/Equinox_p2_director_application

 11
Author: lothar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-21 21:54:17

Parece que necesita tener un trabajo de actualización a través de la web que reflejará (descargar) lo que necesita. Pero después de eso debería ser capaz de obtener los archivos del par local. Pero supongo que esa es su pregunta: ¿necesita acceso a la web para determinar eso?..

 1
Author: Chris Kimpton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-08 10:13:33