Commit f2c06ab6 authored by Jerome Chauveau's avatar Jerome Chauveau
Browse files

prise en charge des dépendances JS des plugins avec le cli (--enable-plugin)

parent 271fa00b
Loading
Loading
Loading
Loading
+26 −7
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ if (process.argv[2] == "-demo")
    include_baseconf("demo_lorem", DEMO_CONFIG_INC);
else if (process.argv[2] == "-new")
    new_edition(process.argv[3],process.argv[4],process.argv[5]);
else if (process.argv[2] == "-plugin")
    install_plugin_dependencies(process.argv[3]);
return;


@@ -72,7 +74,7 @@ Inclusion d'une configuration d'une édition au sein de la configuration globale
        var include_content = "<xi:include href='" + relative_file + "' xmlns:xi='http://www.w3.org/2001/XInclude'/>";
        var config_content = fs.readFileSync(config_file, {encoding: 'utf-8'})
        var include_dom = new DOMParser().parseFromString(include_content);
        install_plugin_dependencies(new DOMParser().parseFromString(config_content));
        install_plugins_dependencies(new DOMParser().parseFromString(config_content));
        var main_config_content = fs.readFileSync(MAIN_CONFIG_FILE, {encoding: 'utf-8'})
        var config_dom = new DOMParser().parseFromString(main_config_content);
        var editions_node =
@@ -103,7 +105,7 @@ Inclusion d'une configuration d'une édition au sein de la configuration globale
/*
* Installation des plugins
*/
function install_plugin_dependencies(dom){
function install_plugins_dependencies(dom){
    let pluginElts = dom.getElementsByTagName('plugins')[0].getElementsByTagName('plugin');
    if(pluginElts.length > 0)
      console.log("==== Installation des dépendances JS des plugins [" + pluginElts.length +"]")
@@ -112,10 +114,28 @@ function install_plugin_dependencies(dom){
    }
    for(let i = 0; i < pluginElts.length; i++){
        let name = pluginElts[i].getAttribute('name');
        console.log()
        let path = __dirname+'/../plugins-enabled/' + name +'/resources.json';
        install_plugin_dependencies(name);
//        console.log()
//        let path = __dirname+'/../plugins-enabled/' + name +'/resources.json';
//        if (fs.existsSync(path)) {
//          console.log(' + Installation des dépendances pour ' + name);
//          let data = fs.readFileSync(path);
//          let deps = JSON.parse(data);
//          Object.keys(deps).forEach(function(k,v){
//            console.log(' cp -r ' + __dirname + '/../'+deps[k] +' ' +__dirname + '/../ui/lib/');
//            execSync('cp -r ' + __dirname + '/../'+deps[k] +' ' + __dirname + '/../ui/lib/');
//          });
//        }
//        else{
//          console.log(' - Pas de dépendances pour ' + name);
//        }
    }
}

function install_plugin_dependencies(plugin_id){
        let path = __dirname+'/../plugins-enabled/' + plugin_id +'/resources.json';
        if (fs.existsSync(path)) {
          console.log(' + Installation des dépendances pour ' + name);
          console.log(' + Installation des dépendances pour ' + plugin_id);
          let data = fs.readFileSync(path);
          let deps = JSON.parse(data);
          Object.keys(deps).forEach(function(k,v){
@@ -124,7 +144,6 @@ function install_plugin_dependencies(dom){
          });
        }
        else{
          console.log(' - Pas de dépendances pour ' + name);
        }
          console.log(' - Pas de dépendances pour ' + plugin_id);
        }
}
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ enable_plugin(){
  fi

  ln -s $target $ENABLED_PLUGINS_DIR/$1
  node $DIRECTORY/edition_manager.js -plugin $1
  echo -e "Plugin $1 successfully enabled."
  echo -e ''
}