Bonjour,
je viens de creer un projet Maven "QA", qui est lie au deux autres porjets principaux via des svn:externals, afin de pouvoir parser les sources via des outils comme PMD ou Checkstyle.
L'un de ces deux projets, qui contiennent beaucoup de sous-modules, a deja un site Maven defini, utilise pour generer de la documentation, rendue publique.
J'ai donc defini un nouveau site sur mon projet QA, afin de pouvoir publier un site avec les differents rapports, qui lui n'est pas publique.
je me retrouve donc avec cette structure:
Et j'ai ceci dans mon pom.xml :projet_qa
├── pom.xml
├── src
│** ├── main
│** │** └── resources
│** │** ** └── checkstyle
│** │** ** ** └── jahia_rules.xml
│** └── site
│** ├── apt
│** │** ├── deployments
│** │** │** ├── jboss.apt
│** │** │** ├── tomcat.apt
│** │** │** └── websphere.apt
│** │** ├── index.apt
│** │** └── profiles
│** │** ├── code-coverage.apt
│** │** ├── code-quality-check.apt
│** │** ├── core-tests.apt
│** │** ├── deploy-tests.apt
│** │** ├── jmeter-tests.apt
│** │** ├── junit-tests.apt
│** │** ├── modules-tests.apt
│** │** ├── run-jahia.apt
│** │** ├── selenium-tests.apt
│** │** └── server-deployments.apt
│** └── site.xml
├── projet_1
├── projet_2
Et ce profil, dans lequel j'inclue les sous-modules afin que le plugin PMD aille voir dans les sources de ceux-ci car ca ne se fait pas automatiquement via le reporting:
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
31
32
33
34
35
36
37
38 <reporting> <plugins> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>${mvn.checkstyle.version}</version> <configuration> <configLocation>src/main/resources/checkstyle/jahia_rules.xml</configLocation> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${mvn.pmd.version}</version> <configuration> <linkXref>true</linkXref> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>1.6</targetJdk> <aggregate>true</aggregate> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.3.2</version> </plugin> </plugins> </reporting>
Je genere donc les rapports d'analyse de code et le site via cette commande:
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
31
32
33
34
35
36
37
38
39 <profile> <id>code-quality-check</id> <modules> <module>projet_1</module> <module>projet_2</module> </modules> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${mvn.pmd.version}</version> <configuration> <linkXref>true</linkXref> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>1.6</targetJdk> <aggregate>true</aggregate> </configuration> <executions> <execution> <id>pmd-check</id> <phase>verify</phase> <goals> <goal>pmd</goal> </goals> </execution> <execution> <id>cpd-check</id> <phase>verify</phase> <goals> <goal>cpd</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>
Ce qui fonctionne tres bien. Ensuite je peux faire un mvn site:deploy pour deployer le site vers le serveur distant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mvn -Pcode-quality-check clean verify site
Par contre, si je fais tout a la fois (et j'aimerais bien car je veux faire ce truc automatiquement via un plan Bamboo):
Maven essaie de generer le site du projet_2, or forcement dans ce cas je m'en fiche et je n'ai pas envie de le generer, je n'ai donc rien de configure et le build echoue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mvn -Pcode-quality-check clean verify site site:deploy
Pourtant si je lis la doc : http://maven.apache.org/plugins/maven-site-plugin/
Je comprends ici que Maven devrait generer le site du module dans lequel je me trouve, et ne pas aller plus loin. Et que ce serait justement si je voulais generer chaque site que j'aurais des problemes.site:site is used generate a site for a single project. Note that links between module sites in a multi module build will not work.
Du coup je ne sais pas trop comment faire, quelqu'un pourrait-il m'aiguiller pour que je puisse generer et deployer mon site QA en une seule fois ?
Merci d'avance.
P.S: desole pour la lisibilite je n'ai pas d'accents sur mon clavier








Répondre avec citation
Partager