Esempio n. 1
0
 protected function empaquetar_desarrollo($empaquetado)
 {
     $this->manejador_interface->mensaje("Copiando framework", false);
     $excepciones = toba_modelo_instalacion::dir_base();
     $destino_instalacion = $empaquetado['path_destino'] . '/proyectos/' . $this->get_id() . '/toba';
     toba_manejador_archivos::crear_arbol_directorios($destino_instalacion);
     toba_manejador_archivos::copiar_directorio(toba_dir(), $destino_instalacion, $excepciones, $this->manejador_interface, false);
     file_put_contents($destino_instalacion . '/REVISION', revision_svn(toba_dir(), true));
     $this->manejador_interface->progreso_fin();
     //--- Empaqueta el proyecto actual
     $this->manejador_interface->mensaje("Copiando aplicacion", false);
     $destino_aplicacion = $empaquetado['path_destino'] . '/proyectos/' . $this->get_id() . '/aplicacion';
     $excepciones = array(toba_dir(), toba_modelo_instalacion::dir_base());
     //Para cuando es una instalacion via composer
     if (isset($empaquetado['excepciones_proyecto'])) {
         $excepciones_extras = explode(',', $empaquetado['excepciones_proyecto']);
         $origen = $this->get_dir();
         foreach (array_keys($excepciones_extras) as $i) {
             $excepciones[] = $origen . '/' . trim($excepciones_extras[$i]);
         }
     }
     $this->empaquetar_proyecto($destino_aplicacion, $excepciones);
     $path_copia_metadatos = $destino_aplicacion . '/metadatos_originales/';
     $path_metadatos_ap = $destino_aplicacion . '/metadatos/';
     if (file_exists($path_copia_metadatos) && !toba_manejador_archivos::es_directorio_vacio($path_copia_metadatos)) {
         toba_manejador_archivos::eliminar_directorio($path_copia_metadatos);
     }
     toba_manejador_archivos::crear_arbol_directorios($path_copia_metadatos);
     toba_manejador_archivos::copiar_directorio($path_metadatos_ap, $path_copia_metadatos);
 }