Build error
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
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
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. :)
OK, j'ai modifié et poussé le pom.xml de kgram.
Olivier
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
Il y a un problème de nommage entre kgtool et corese-core.
je fais une branche qui devrait corriger le pb
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
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.
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
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.
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
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] ------------------------------------------------------------------------
Autre question, y a-t-il encore un intérêt à appeler le projet racine "corese-parent" ? Pourquoi pas "corese" tout court ?
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
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.
kgdqp est utilisé dans corese-server c'est normal ?
Quelle est la différence entre engine et kgengine ?
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
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
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