Newsgroup: it.comp.java
Titolo: PROPERTY NAME IN FILE ANT: MAH!!

Scusate
ma proprio non capisco
ho il mio bel file build.xml (riporto solo una parte alla fine del
post)
Perchè se lancio ant da Eclipse va tutto bene
se lancio il comando ant.bat compile da command line ricevo l'errore
la cartella bla bla .../${src} non exist!!!!
cioè sostanzialmente non effettua la sostituzione per la property name
indicata
proprio non ci arrivo
grazie per l'aiuto
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="build" name="Gradebook">
	<!-- INIT -->
	<target name="init" description="Initialization.">
		<property location="classes" name="."/>
		<property location="." name="."/>
		<property location="doc/api" name="javadoc.dir"/>
		<property name="
project.name
" value="${
ant.project.name
}"/>
		<property name="classes.dir" value="build" />
		<property name="src.dir" value="src" />
		<property name="img.dir" value="${classes.dir}/view/img/"/>
		<property name="imgsrc.dir" value="${src.dir}/view/img/"/>
		<property location="${
project.name
}.jar" name="jar"/>
	</target>
	<!-- COMPILE -->
	<target name="compile" description="Compile.">
		<mkdir dir="${classes.dir}"/>
			<javac debug="true" deprecation="true" destdir="${classes.dir}"
srcdir="${src.dir}"/>
		<mkdir dir="${img.dir}"/>
			<copy todir="${img.dir}" >
		        <fileset dir="${imgsrc.dir}">
		           <include name="**/*.gif"/>
		            <include name="**/*.jpg"/>
		            <include name="**/*.png"/>
		        </fileset>
		    </copy>
	</target>
	<!-- JAR -->
	<target depends="init,compile" name="jar" description="Create jar.">
		<jar basedir="${classes.dir}" compress="true" jarfile="${jar}">
			<manifest>
				<attribute name="Main-Class" value="starter.Starter"/>
			</manifest>
		</jar>
	</target>
</project>

 indicata
Premessa: Non conosco ant così a fondo.
Perché compile non dipende da init?
Perché le variabili definite in init possono essere solo viste da init?

Perché preferisci scriverti il build.xml a manina quando ce l'hai gratis 
con netbeans oppure quando puoi scrivere un pom.xml molto piu' piccolo e 
conciso con maven? Non è una domanda polemica, è la domanda di uno che 
sta cominciando a studiare maven e vuole capire se è più comodo di ant.
Guarda quanto è più semplice un pom.xml di esempio:
<project xmlns="
http://maven.apache.org/POM/4.0.0
" 
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
"
   xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0
 
http://maven.apache.org/maven-v4_0_0.xsd
">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.mycompany</groupId>
   <artifactId>mavenproject1</artifactId>
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>mavenproject1</name>
   <url>
http://maven.apache.org
</url>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
</project>
-- 
Andrea Francia
http://www.andreafrancia.it/

 Andrea Franciahttp://
www.andreafrancia.it/
Le tue domande sono lecite.
Sono vincoli di un progetto universitario che non mi permettono di
scegliere.
Rimane il fatto che la tua prima domanda
Perché compile non dipende da init?
ho risolto tutto.
Ho inserito il depends e "magicamente" tutto ok.
In eclipse non succedeva perchè davo io da interfaccia l'ordine di
esecuzione dei vari target.
grazie mille
ciao
Pietro

 grazie per l'aiuto
In eclipse i percorsi sono relativi alla directory del progetto, nel 
.bat con ogni probabilita' no.
-- 
Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à merda
Spamers iros a la mierda/Spamers allez vous faire foutre/Spammers loop
schijten/Spammers macht Euch vom Acker/Spamerzy wypierdalac'

 scegliere.
Quale corso è?
Che Facolta? Di Dove?
Chi è il tuo professore?


 NetBeans produce makefile orribili e immanutenibili.
Caso mai file build.xml, i Makefile non c'entrano con ant.
Puoi spiegare perché li trovi immanutenibili?


 decine di minuti un nuovo file, migliore del precedente e manutenibile.
Questo non spiega il tuo punto di vista in un modo che sia possibile 
discuterne.
Non è che il motivo per cui la procedura di build non era manutenibile 
era perché te l'hanno lasciata mal documentata?
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html

 discuterne.
Non fraintendermi, non dico che tu non abbia ragione, dico solo che uno 
che non ha avuto le tue stesse esperienze come me non può capire il tuo 
punto di vista.
Se dettagliavi un esempio pratico di problema di manutenibilità dei file 
di build di Netbeans era piu' facile capire cosa pensi.


 un esempio magistrale)?
Io mi trovo bene con i file generati da netbeans, c'e' ne sono tre 
principali:
  - build.xml
  - build-impl.xml
  - project.properties
Il file build.xml è uno stub che richiama i target di build-impl.xml.
In questo file si possono mettere le costomizzazioni, puoi aggiungere i 
tuoi target specifici oppure puoi aggiungere i vari hook -pre e -post 
dei target di build-impl.xml.
Se non fai customizzazione questo file è fondamentalmente un file vuoto.
Il file build-impl.xml è complicato ma non lo devi toccare perché è 
autogenerato da netbeans quando le cose cambiamo. L'unica cosa che devi 
sapere di questo file è l'interfaccia, quali sono i target per fare 
cosa. L'interfaccia di build-impl.xml non mi sembra difficile da 
comprendere.
Il file project.properties contiene le variabili sulle informazioni del 
progetto.


On Oct 16, 2:10 pm, Andrea Francia

informatica
Varese
prof. Ignazio Gallo
ciao

 build.xml su misura è sempre lì a fare il suo sporco lavoro.
Dal Netbeans 6.1 in poi hanno aggiunto le shared libraries che 
consentono (finalmente) di individuare i file delle librerie con 
percorsi relativi al progetto.
I problemi che hai risolto riscrivendo il build.xml c'entravano con 
questa cosa oppure no?
L'idea che mi sto facendo è che maven è molto piu' comodo di uno script 
ant per gestire le dipendenze da librerie, tu hai opinioni a riguardo?
