Bonjour
Je débute avec ANT et proguard. Pour tester l'obfuscation de proguard j'ai fait un petit programme de test appelé : TestProguard
J'ai écrit un ant qui
  • lit un fichier de proprietes (build.properties)
  • qui créé un jar
  • qui utilise proguard


Les deux premières étapes se passent sans problème. Mais la troisième pose un problème de chemin.

Voici le fichier build.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?xml version="1.0" encoding="UTF-8"?>
<project name="TestProguard" basedir=".">
      <!-- on inclue les propriétés -->
      <property file="build.properties"/>     
 
      <!-- target qui supprime les classes compilé et le JAR -->
    <target name="clean">
            <delete file="${jar.dir}/${ant.project.name}.jar"/>
    </target>
 
      <!-- target qui crée le JAR -->
    <target name="create-jar" depends="clean">
      <jar destfile="${jar.dir}/${ant.project.name}.jar"
                  basedir="${bin.dir}">
                  <manifest>
                <!-- on indique la classe principale du JAR-->
                        <attribute name="Main-Class" value="${ant.project.name}"/>
                  </manifest>
            </jar>     
      </target>
 
      <!-- target qui utilise proguard -->
      <target name="create-ob" depends="create-jar">
            <java
                        jar="${proguard.dir}/proguard.jar" fork="true" failonerror="true">
              <arg value="@proguard.pro" />
            </java>
      </target>
</project>
Voici le fichier build.properties :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#build.properties
<!-- ce fichier définit les paramères réccurants -->
<!-- le répertoire des sources src -->
src.dir=src
<!-- le répertoire des classes build -->
bin.dir=bin
<!-- le répertoire du jar -->
jar.dir=jar
<!-- le répertoire de proguard -->
proguard.dir=proguard
<!-- le nom de la classe principale -->
main-class=TestProguard
Il me sort l'injure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Buildfile: C:\Test\TestProguard\build.xml
clean:
   [delete] Deleting: C:\Test\TestProguard\jar\TestProguard.jar
create-jar:
      [jar] Building jar: C:\Test\TestProguard\jar\TestProguard.jar
create-ob:
     [java] Error: C:\Test\TestProguard\proguard.pro (Le fichier spécifié est introuvable)
Evidemment si je mets les fichiers adéquates sous C:\Test\TestProguard\ il n'y a pas de problème.
Mais je voudrais que ces fichiers soient dans C:\Test\TestProguard\porguard\ et là il ne veut rien savoir.

Merci pour l'aide