corese icon indicating copy to clipboard operation
corese copied to clipboard

Build error

Open ndelaforge opened this issue 9 years ago • 20 comments

I have the following error while trying to compile Corese from sources :

$ mvn clean -Dmaven.test.skip=true package
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] corese-parent
[INFO] kgram
[INFO] sparql
[INFO] kgenv
[INFO] engine
[INFO] corese-core
[INFO] kgengine
[INFO] corese-gui
[INFO] kgdqp
[INFO] corese-server
[INFO] kgimport
[INFO] rif
[INFO] rtc
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building corese-parent 3.2.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ corese-parent ---
[INFO] 
[INFO] --- jacoco-maven-plugin:0.7.4.201502262128:prepare-agent (agent) @ corese-parent ---
[INFO] argLine set to -javaagent:/Users/nico/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runtime.jar=destfile=/Users/nico/Dev/IdeaProjects/corese/../target/jacoco.exec,append=true
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building kgram 3.2.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] corese-parent ...................................... SUCCESS [  0.594 s]
[INFO] kgram .............................................. FAILURE [  0.045 s]
[INFO] sparql ............................................. SKIPPED
[INFO] kgenv .............................................. SKIPPED
[INFO] engine ............................................. SKIPPED
[INFO] corese-core ........................................ SKIPPED
[INFO] kgengine ........................................... SKIPPED
[INFO] corese-gui ......................................... SKIPPED
[INFO] kgdqp .............................................. SKIPPED
[INFO] corese-server ...................................... SKIPPED
[INFO] kgimport ........................................... SKIPPED
[INFO] rif ................................................ SKIPPED
[INFO] rtc ................................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.833 s
[INFO] Finished at: 2016-07-08T14:23:50+02:00
[INFO] Final Memory: 11M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project kgram: Could not resolve dependencies for project fr.inria.wimmics:kgram:jar:3.2.1-SNAPSHOT: Could not find artifact fr.inria.wimmics:kgram:jar:3.2.1-SNAPSHOT -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :kgram

ndelaforge avatar Jul 08 '16 12:07 ndelaforge

J'ai fait un pull de tout le source et je l'ai compilé sans pb avec mvn clean install -Dmaven.test.skip=true

Olivier

ocorby avatar Jul 08 '16 12:07 ocorby

Probablement parce que tu as déjà la dépendance qui pose problème dans le cache maven. Mon petit doigt me dit que le problème vient du fait que le module kgram a comme dépendance lui-même :

        <dependency>
            <groupId>fr.inria.wimmics</groupId>
            <artifactId>kgram</artifactId>
            <version>3.2.1-SNAPSHOT</version>
            <type>jar</type>
        </dependency>

Ce qui fait que tant qu'il n'a pas été compilé, il ne peut pas se compiler. :)

ndelaforge avatar Jul 08 '16 12:07 ndelaforge

OK, j'ai modifié et poussé le pom.xml de kgram.

Olivier

ocorby avatar Jul 08 '16 12:07 ocorby

C'est mieux mais ça compile toujours pas :

[INFO] ------------------------------------------------------------------------
[INFO] Building kgdqp 3.2.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for fr.inria.wimmics:kgtool:jar:3.2.1-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] corese-parent ...................................... SUCCESS [  0.467 s]
[INFO] kgram .............................................. SUCCESS [  2.537 s]
[INFO] sparql ............................................. SUCCESS [  1.435 s]
[INFO] kgenv .............................................. SUCCESS [  0.330 s]
[INFO] engine ............................................. SUCCESS [  0.195 s]
[INFO] corese-core ........................................ SUCCESS [  3.477 s]
[INFO] kgengine ........................................... SUCCESS [  0.176 s]
[INFO] corese-gui ......................................... SUCCESS [  5.090 s]
[INFO] kgdqp .............................................. FAILURE [  0.052 s]
[INFO] corese-server ...................................... SKIPPED
[INFO] kgimport ........................................... SKIPPED
[INFO] rif ................................................ SKIPPED
[INFO] rtc ................................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.929 s
[INFO] Finished at: 2016-07-08T14:56:00+02:00
[INFO] Final Memory: 103M/470M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project kgdqp: Could not resolve dependencies for project fr.inria.wimmics:kgdqp:jar:3.2.1-SNAPSHOT: Could not find artifact fr.inria.wimmics:kgtool:jar:3.2.1-SNAPSHOT -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :kgdqp

ndelaforge avatar Jul 08 '16 12:07 ndelaforge

Il y a un problème de nommage entre kgtool et corese-core.

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

je fais une branche qui devrait corriger le pb

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

On 07/08/2016 03:05 PM, Nicolas Delaforge wrote:

Il y a un problème de nommage entre |kgtool| et |corese-core|.

Quel problème ? Olivier

ocorby avatar Jul 08 '16 13:07 ocorby

Parfois kgtool est utilisé comme dépendance en tant que corese-core et parfois en tant que kgtool. Tu peux faire l'essai, tu supprimes le dossier de cache maven ~/.m2/repository/fr/inria/wimmics et tu relances la compilation, tu verras les erreurs apparaître.

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

On 07/08/2016 03:05 PM, Nicolas Delaforge wrote:

Il y a un problème de nommage entre |kgtool| et |corese-core|.

On a renommé le composant logiciel (le jar déployé par Maven) de kgtool à corese-core pour que ce soit plus clair pour les utilisateurs.

Olivier

ocorby avatar Jul 08 '16 13:07 ocorby

OK, dans ce cas tous les fichiers POM n'ont pas été mis à jour comme il faut. Je vous fais une pull request dans quelques minutes.

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

On 07/08/2016 03:11 PM, Nicolas Delaforge wrote:

Je vous fais une pull request dans quelques minutes. Je laisse Erwan traiter ça lundi alors :)

Olivier

ocorby avatar Jul 08 '16 13:07 ocorby

Tu peux regarder le détail des modifications qui ont été faites dans ma branche là : https://github.com/Wimmics/corese/pull/21/commits/aa2e6e73fdbccfcc7ed50b58054f07ab21fe4bdc

Et accepter le merge, si tu penses que la modif est OK : https://github.com/Wimmics/corese/pull/21

Chez moi ça compile en tout cas.

[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] corese-parent ...................................... SUCCESS [  0.518 s]
[INFO] kgram .............................................. SUCCESS [  2.491 s]
[INFO] sparql ............................................. SUCCESS [  1.048 s]
[INFO] kgenv .............................................. SUCCESS [  0.319 s]
[INFO] engine ............................................. SUCCESS [  0.186 s]
[INFO] corese-core ........................................ SUCCESS [  3.845 s]
[INFO] kgengine ........................................... SUCCESS [  0.174 s]
[INFO] corese-gui ......................................... SUCCESS [  5.010 s]
[INFO] kgdqp .............................................. SUCCESS [  8.804 s]
[INFO] kgserver ........................................... SUCCESS [  6.682 s]
[INFO] kgimport ........................................... SUCCESS [  5.515 s]
[INFO] rif ................................................ SUCCESS [  0.416 s]
[INFO] rtc ................................................ SUCCESS [  0.439 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.628 s
[INFO] Finished at: 2016-07-08T15:28:11+02:00
[INFO] Final Memory: 68M/1070M
[INFO] ------------------------------------------------------------------------

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

Autre question, y a-t-il encore un intérêt à appeler le projet racine "corese-parent" ? Pourquoi pas "corese" tout court ?

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

On 07/08/2016 03:34 PM, Nicolas Delaforge wrote:

Autre question, y a-t-il encore un intérêt à appeler le projet racine "corese-parent" ? Pourquoi pas "corese" tout court ?

Oui c'est possible, mais le pb c'est qu'il y dedans des packages "R&D" qui ne devraient pas, ou pas encore, faire partie du logiciel stabilisé, e.g. : rif, engine, kgdqp, rtc, kginport. On verra ça la semaine prochaine aussi.

Olivier

ocorby avatar Jul 08 '16 13:07 ocorby

Tu peux désactiver leur compilation/publication en les mettant en commentaire dans le pom.xml racine si tu ne veux pas les voir "livrés" avec le reste du soft.

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

kgdqp est utilisé dans corese-server c'est normal ?

ndelaforge avatar Jul 08 '16 13:07 ndelaforge

Quelle est la différence entre engine et kgengine ?

ndelaforge avatar Jul 08 '16 14:07 ndelaforge

On 07/08/2016 03:59 PM, Nicolas Delaforge wrote:

|kgdqp| est utilisé dans |corese-server| c'est normal ?

Oui et non. Alban faisait des tests de ses développements DQP à partir d'une page Web du serveur. Mais le serveur que l'on diffuse ne devrait pas dépendre de DQP.

Olivier

ocorby avatar Jul 08 '16 14:07 ocorby

On 07/08/2016 04:00 PM, Nicolas Delaforge wrote:

Quelle est la différence entre |engine| et |kgengine| ?

kgengine est maintenant deprecated, ça me sert de base de test, ça ne devrait plus être dans le source

engine est un moteur de règles en chainage arrière expérimental qui n'a jamais été finalisé: deprecated aussi

Olivier

ocorby avatar Jul 08 '16 14:07 ocorby

Salut Nicolas, Mieux vaut tard que jamais, je suis en train de regarder le pull request :

  • sauf erreur de ma part le groupId et la version d'un package fils est implicitement donné par son parent. Donc j'ai remplacé les <groupId>${parent.groupId}</groupId> <artifactId>kgserver</artifactId> ${parent.version} par <artifactId>kgserver</artifactId>
  • maven émettait des warnings disant qu'il fallait mettre des project.parent.version à la place de parent.version. Résultat : j'ai mis partout des project.parent.version et project.parent.groupId.

Erwan

ErwanDemairy avatar Sep 01 '16 16:09 ErwanDemairy