IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

Comparer les versions de sources


Sujet :

ANT Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut Comparer les versions de sources
    Bonjour à Tous,
    J'ai un petit souci avec mon script build sous Ant, au fait je cherche un task qui pourra comparer les versions de mes sources du projet puis faire un rapport en affichant les modifications faites entres les différentes versions.
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut comparaison de ressource
    voici mon code de build:
    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
    <!-- comparaison de sources -->
      <target name="compare">
     
      <compare when="eq" against="all">
         <fileset dir="${av-control-1.1-sourc}">
             <controle>
         	       <resource directory="av-control-1.4-sourc"/>
             </controle>
         	<clirr>
         	    <origfiles dir="C:/Users/cdosunga/workspace/av-control-1.1-source/mhepg/platform/backend" includes="**/*.java"/>
         	    <newfiles dir="C:/Users/cdosunga/workspace/av-control-1.4-source/mhepg/platform/backend" includes="**/*.java"/>
         	    <formatter type="xml"/>
         	</clirr>
            </fileset>
          </compare>	
     
      </target>
    J'utilise le task clirr pour donner plus de détails en formant xml sur la comparaison de mes resources av-controle-1.1 et 1.4 sur les mises à jours de lignes de codes ajoutées dans les différents fichiers .java
    En compilant ma target j'ai un bug qui s'affiche du genre: Problem: failed to create task or type compare. J'ai besoin d'aide svp car ça fait un temps que je n'arrive pas à trouver la solution.
    Merci

  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    "compare" n'est pas une tâche Ant standard. Il faut donc la déclarer.

    Voir http://ant.apache.org/manual/Tasks/taskdef.html
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Merci Nemek pour ton intervention, j'ai pu utiliser la task jdiff ça marche nikel, jdiff affiche seulement la comparaison de javadoc
    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
     <!-- comparaison avec jdiff -->
    	  <project name="dom.project" default="checkbinarycompatibility">
               <taskdef classpath="D:/apache-ant-1.8.1-bin/apache-ant-1.8.1/lib/clirr-core-0.6.jar" resource="clirrtask.properties"/>
              <target name="compare.jdiff" depends="clean,compile">
    	    <!-- créer un repertoire -->
    		<taskdef name="jdiff" classname="jdiff.JDiffAntTask" classpath="${JDIFF_HOME}/antjdiff.jar"/>
    		<jdiff destdir="C:/Users/cdosunga/workspace/jdiff.dir" verbose="on" stats="on" docchanges="off">
    			<old name="ancienne version">
    		   	  <dirset dir="${av-control-1.1-source}"/>
    		   	</old>
    			<new name="nouvelle version">
    			  <dirset dir="${av-control-1.4-source}"/>
    			</new>
    		</jdiff>	
    	</target>
            </project>
    du coup je veux aussi en utlisant la task clirr qui fait comparaison de méthodes de type public, voici mon code:
    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
    <target name="checkbinarycompatibility" >
     
    		<path id="compile.classpath">
    			<fileset dir="C:Users/cdosunga/workspace/clirr/lib">
    				<include name="*.jar" />
    			</fileset>
    		</path>
     
    	  <clirr>
    	        <origfiles dir="${lib-last-release}" includes="hne-1.5.jar"/>
    	        <newfiles dir="${jar}" includes="hne-1.7.jar"/>
     
    	        <formatter type="xml" outfile="build/navigator-clirr-result.xml" />
    	  </clirr>
    	</target>
    je reçois un message d'erreur du genre: java.lang.NoClassDefFoundError: org/apache/bcel/util/Repository. Merci pour votre aide

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    org.apache.bcel.util.Repository est une classe de la bibliothèque BCEL (Byte Code Engineering Library)

    Il rendre le jar BCEL disponible à Ant, voici un lien. Il est également possible de fournir un classpath lors de la définition de la tâche.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Salut Nemek, je te remercie pour tes intervention alors j'ai fourni la classpath, voici mon code:
    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
    <project name="Test1" default="all" basedir=".">
    <property name="lib-last-release" location="C:/Users/cdosunga/workspace/clirr/lib-last-release"/>
      <taskdef classpath="D:/apache-ant-1.8.1-bin/apache-ant-1.8.1/lib/clirr-core-0.6.jar;C:/Users/cdosunga/workspace/clirr/clirr/bcel-5.2.jar;C:/Users/cdosunga/workspace/clirr/lib/bo.jar;D:/apache-ant-1.8.1-bin/apache-ant-1.8.1/lib/bo.jar" resource="clirrtask.properties"/>
      <property name="jar" location="C:/Users/cdosunga/workspace/clirr/jar"/>
      <property name="lib.dir" location="C:Users/cdosunga/workspace/clirr/lib"/>
    <target name="checkbinarycompatibility" >
     
    		<path id="compile.classpath">
    			<fileset dir="${lib.dir}">
    				<include name="*.jar" />
    			</fileset>
    		</path>
     
    	  <clirr>
     
    	        <origfiles dir="${lib-last-release}" includes="hne-1.5.jar"/>
    	        <newfiles dir="${jar}" includes="hne-1.7.jar"/>
     
    	        <formatter type="xml" outfile="build/navigator-clirr-result.xml" />
    	  </clirr>
    	</target>
    </project>
    en compilant clirr une partie de méthode public de mes classes .java et il y a aussi des erreurs du genre:

    Buildfile: C:\Users\cdosunga\workspace\Test1\buildfile.xml
    checkbinarycompatibility:
    [clirr] INFO: mhepg.platform.hnet.HNFactory: Accessibility of method 'protected HNFactory()' has been increased from protected to public
    [clirr] INFO: mhepg.platform.hnet.HNFactory: Method 'public mhepg.platform.hnet.HNList createHNList(int)' has been deprecated
    [clirr] INFO: mhepg.platform.hnet.HNFactory: Method 'public mhepg.platform.hnet.HNList createHNList(mhepg.platform.hnet.HNListID)' has been added
    [clirr] ERROR: mhepg.platform.hnet.HNItem: Method 'public void addHNItemListener(mhepg.platform.hnet.HNItemListener)' has been added to an interface
    [clirr] ERROR: mhepg.platform.hnet.HNItem: Method 'public java.util.Date getDate()' has been added to an interface
    [clirr] ERROR: mhepg.platform.hnet.HNItem: Method 'public java.lang.String getDescription()' has been added to an interface
    [clirr] ERROR: mhepg.platform.hnet.HNItem: Method 'public java.lang.String getMetadata(java.lang.String, int)' has been removed
    [clirr] ERROR: mhepg.platform.hnet.HNItem: Method 'public void removeHNItemListener(mhepg.platform.hnet.HNItemListener)' has been added to an interface
    [clirr] INFO: mhepg.platform.hnet.HNItem: Method 'public void setHNItemListener(mhepg.platform.hnet.HNItemListener)' has been deprecated
    [clirr] ERROR: mhepg.platform.hnet.HNList: Method 'public void quickJump(mhepg.platform.hnet.search.HNCriteriaType, int, java.lang.String, boolean)' has been added to an interface
    [clirr] INFO: mhepg.platform.hnet.HNListID: Class mhepg.platform.hnet.HNListID added

    BUILD FAILED
    C:\Users\cdosunga\workspace\Test1\buildfile.xml:144: java.lang.ClassNotFoundException: javax.tv.locator.Locator not found.

    Total time: 293 milliseconds
    Merci d'avance.

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Comme indiquer dans le message il te manque la classe "javax.tv.locator.Locator"

    Normalement tu n'as pas besoin de mettre dans le classpath les JAR qui se trouvent dans le répertoire "<ANT_HOME>/lib"
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Salut Nemek,
    Le problème avec l'erreur: java.lang.ClassNotFoundException: javax.tv.locator.Locator not found est que clirr ne trouve pas le .jar de ma classe bo, j'ai essayé avec les tags
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <origClassPath>
                      <classpath>
                      <pathelement location="C:/Users/cdosunga/workspace/clirr/lib/bo.jar"/>
                      </classpath>
                </origClassPath>
     
    	  	    <newClassPath>
     
    	  	          <pathelement location="C:/Users/cdosunga/workspace/clirr/lib/bo.jar"/>
     
    	  	    </newClassPath>
    mais il y a aussi un message d'erreur du genre: origClassPath doesn't support the nested "classpath" element. Merci pour votre aide, a+

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Salut à Tous,
    je suis entraine de chercher un tutorial sur clirr j'ai utiliser le site officiel de clirr:http://clirr.sourceforge.net/clirr-core, mais je trouve que ce n'est pas bien détaillé. Merci

  10. #10
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    origClassPath ne supporte pas l'élément fils "classpath". Il faut trouver une autre écriture pour cette balise.

    Ne s'agissant pas d'un élément standard de Ant, je suppose qu'il s'agit d'un élément fourni par "clirr". Je te conseille donc de consulter leur documentation.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    du coup j'ai pu trouvé l'erreur, c'était un problème de version de mon fichier bo.jar j'utilisais une ancienne version que je prenais sur le repository au lieu de prendre la nlle version. Du coup ça marche nikel. En tout cas merci Nemek pour ton aide. Bonne journée, à plus...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    voici mon dernier code pour ceux qui sont intéressés:
    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
     
    <project name="dom.project" default="checkbinarycompatibility">
    <taskdef classpath="D:/apache-ant-1.8.1-bin/apache-ant-1.8.1/lib/clirr-core-0.6.jar;C:/Users/cdosunga/workspace/clirr/clirr/bcel-5.2.jar" resource="clirrtask.properties"/>
    <target name="checkbinarycompatibility" >
     
    	<path id="compile.classpath">
    		<fileset dir="lib">
    			<include name="**/*.jar" />
    		</fileset>
    	</path>
     
    <property name="myproperty" refid="compile.classpath"/>
    <echo message="lib path=${myproperty}"/>
     
    <taskdef classpathref="compile.classpath" resource="clirrtask.properties"/> 
    <clirr>
     
    	        <origfiles dir="C:/Users/cdosunga/workspace/clirr/hne_1.3" includes="epg-core-1.1-SNAPSHOT.jar"/>
     
    	        <newfiles dir="C:/Users/cdosunga/workspace/clirr/hne_1.4" includes="epg-core-1.4-SNAPSHOT.jar"/>
     
    	  	    <origClassPath path="${myproperty}"/>
     
    	  	    <newClassPath path="${{myproperty}"/>
     
     
    	        <formatter type="xml" outfile="build/navigator-clirr-result.xml" />
    	  </clirr>
    	</target>
    </project>

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/05/2015, 14h01
  2. Réponses: 0
    Dernier message: 23/06/2014, 08h30
  3. [Débutant] comparer les versions pour MàJ
    Par Sylvain.R dans le forum VB.NET
    Réponses: 6
    Dernier message: 24/06/2012, 22h24
  4. Comment gérer les versions code source/code compilé?
    Par kisitomomotene dans le forum Général Java
    Réponses: 4
    Dernier message: 24/12/2008, 15h41
  5. Réponses: 1
    Dernier message: 08/12/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo