Foro de elhacker.net

Programación => Java => Mensaje iniciado por: kamsky en 25 Julio 2008, 13:05 pm



Título: ruta completa de archivo
Publicado por: kamsky en 25 Julio 2008, 13:05 pm
buenas, estoy haciendo un plugin de NetBeans para Ocaml, he conseguido ya el soporte para el nuevo tipo de ficheros (.ml), y he conseguido reescribir el botón de Run para enlazarlo con el compilador externo de Ocaml,pero el problema esque al compilador ha de pasársele la ruta completa del archivo a compilar, y ahi está el problema, una vez que en el netbeans se abre y se trabaja con el archivo a compilar/ejecutar, lo único que he conseguido es sacar rutas relativas del archivo (por ejemplo con la clase DataObject), pero nunca la ruta entera desde la raiz del S.O....

Lo estoy desarrollando en Linux, y había pensado una solución un tanto chapucera, llamar a la orden FIND ,que si que devuelve la ruta completa,pero claro , este plug-in también debe trabajar en Win,asi que...alguna idea???

y ya que estamos, también me he propuesto a parte de que se reconozca el tipo de archivo .ml, que se coloree la sintaxis y esas cosillas (todo hecho ya), poder crear un nuevo proyecto de tipo OCAML, en el módulo eligo añadir New Template o algo así , y muy bien, se crea la entrada de nuevo proyecto y tal, pero me salen las carpetas del módulo, las librerias y tal..vamos como si se tratase un proyecto java, y yo no quiero eso, simplemente que le des a nuevo proyecto y te salga un simple archivo de plantilla...alguien tiene idea de como hacer que no salgan todos esos archivos y carpetas que salen por defecto y elegir lo que quiero que se cree????

gracias!


Título: Re: ruta completa de archivo
Publicado por: kamsky en 28 Julio 2008, 12:03 pm
ya conseguí solucionarlo, posteo el code:


        DataObject dObj = (DataObject)
        activatedNodes[0].getCookie(DataObject.class);
        org.openide.filesystems.FileObject fileObj = dObj.getPrimaryFile();
        File file = FileUtil.toFile(fileObj);
        String orden="ocaml "+file.getAbsolutePath();


;)