Bueno son alrededor de 300 clases y tengo que poner un cabezal comun a todas. Hay alguna herramienta en eclipse para hacerlo? A mano es muy jodido :cry:
:twisted: ctrl+C :twisted: ctrl+V :twisted: ctrl+C :twisted: ctrl+V :twisted: joder :evil:
Supongo que puedes hacer un script, que lo haga, concatenando el mismo fichero a todos tus ficheros.
algo asi como esto:
for $file ( @ficheros) {
copy noseque.head+$file out/$file
}
Creo que podrías usar un "precompiled header" para ello, evitando así tocar cada fichero individual, pero no sé como se configuraría tal parámetro del proyecto en Eclipse.
Cita de: "Tei"Supongo que puedes hacer un script, que lo haga, concatenando el mismo fichero a todos tus ficheros.
algo asi como esto:
for $file ( @ficheros) {
copy noseque.head+$file out/$file
}
entiendo...pero creo que seria
cat $miClase $header > $miClase
pero tengo 2 dudas:
* como paso todas las clases como parametro
* desde donde corro el script
desde consola eso seria algo como:
copy clase1.java + header.java
a la clase1 se le concatena el contenido de header, al inicio. Habria que iterar (como tu pusiste) sobre todas las clases y ejecutarlo...el tema es como :D
Cita de: "ZüNdFoLGe"Cita de: "Tei"Supongo que puedes hacer un script, que lo haga, concatenando el mismo fichero a todos tus ficheros.
algo asi como esto:
for $file ( @ficheros) {
copy noseque.head+$file out/$file
}
entiendo...pero creo que seria
cat $miClase $header > $miClase
pero tengo 2 dudas:
* como paso todas las clases como parametro
* desde donde corro el script
desde consola eso seria algo como:
copy clase1.java + header.java
a la clase1 se le concatena el contenido de header, al inicio. Habria que iterar (como tu pusiste) sobre todas las clases y ejecutarlo...el tema es como :D
Puedes crear una lista ficheros:
ls -1 > listaficheros
luego puedes copipastear la lista en una variable
$ficheros = "bla.c
blabla2.c
blaglubla.c";
nota: hay formas mucho mejores
y convertilo a un array
@ficheros = split(/\n/,$ficheros);
luego lo recorres en un bucle
foreach $file ( @ficheros) {
system( "cp head headtemp && cat $file >>headtemp && mv headtemp $file"); //pervert way to concatenate two files
}
nota: esto es pseudocodigo, no lo confudas con ningun lenguaje de programacion o de consola
En ms-dos creo que las concatenaciones deberian tener este aspecto:
copy header.java+clase1.java clase1.java
Seguramente existe una forma elegante de hacer esto con un simple makefile, dado que make te da ya de por si de gratis el "haz tal operacion con todos los *.java".
No se si te he ayudado. Creo que todo el mundo deberia saber un poco de [inserta aqui tu lenguaje de script favorito] para hacer esta clase de cosas.
¿Desde donde correr el script? Si haces un buen script, sera recursivo, y te bastara con ejecutarlo en el directorio donde este el codigo fuente, y sus subdirectorios. Si el script es una caca, tendras que ejecutarlo en todos los directorios donde hay ficheros .java, con cuidado de no ejecutarlo dos veces. Para estas cosas es obvio que antes es ideal hacer una copia de seguridad por si acaso.
es buena idea... lo voy a probar 8) grax!