Author: tchemit Date: 2010-12-30 11:42:58 +0100 (Thu, 30 Dec 2010) New Revision: 1999 Url: http://nuiton.org/repositories/revision/nuiton-utils/1999 Log: Evolution #1188: Introduce nuiton-utils-extra module Added: trunk/nuiton-utils-extra/ trunk/nuiton-utils-extra/LICENSE.txt trunk/nuiton-utils-extra/README.txt trunk/nuiton-utils-extra/changelog.txt trunk/nuiton-utils-extra/pom.xml trunk/nuiton-utils-extra/src/ trunk/nuiton-utils-extra/src/license/ trunk/nuiton-utils-extra/src/license/THIRD-PARTY.properties trunk/nuiton-utils-extra/src/main/ trunk/nuiton-utils-extra/src/main/java/ trunk/nuiton-utils-extra/src/main/java/org/ trunk/nuiton-utils-extra/src/main/java/org/nuiton/ trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/ trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/NuitonTrace.java trunk/nuiton-utils-extra/src/main/resources/ trunk/nuiton-utils-extra/src/site/ trunk/nuiton-utils-extra/src/site/apt/ trunk/nuiton-utils-extra/src/site/apt/index.apt trunk/nuiton-utils-extra/src/site/site_fr.xml trunk/nuiton-utils-extra/src/test/ trunk/nuiton-utils-extra/src/test/java/ trunk/nuiton-utils-extra/src/test/java/org/ trunk/nuiton-utils-extra/src/test/java/org/nuiton/ trunk/nuiton-utils-extra/src/test/resources/ Modified: trunk/nuiton-validator/src/site/site_fr.xml trunk/pom.xml trunk/src/site/apt/index.apt trunk/src/site/site_fr.xml Property changes on: trunk/nuiton-utils-extra ___________________________________________________________________ Added: svn:ignore + target velocity.log maven.log .eclipse .classpath *.iml *.ipr *.iws .settings .project Property changes on: trunk/nuiton-utils-extra/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Property changes on: trunk/nuiton-utils-extra/README.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Property changes on: trunk/nuiton-utils-extra/changelog.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/nuiton-utils-extra/pom.xml =================================================================== --- trunk/nuiton-utils-extra/pom.xml (rev 0) +++ trunk/nuiton-utils-extra/pom.xml 2010-12-30 10:42:58 UTC (rev 1999) @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + Nuiton Utils + $Id$ + $HeadURL: http://svn.nuiton.org/svn/nuiton-utils/trunk/nuiton-utils/pom.xml $ + %% + Copyright (C) 2004 - 2010 CodeLutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Lesser Public License for more details. + + You should have received a copy of the GNU General Lesser Public + License along with this program. If not, see + <http://www.gnu.org/licenses/lgpl-3.0.html>. + #L% + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-utils-parent</artifactId> + <version>2.0-SNAPSHOT</version> + </parent> + + <artifactId>nuiton-utils-extra</artifactId> + + <dependencies> + + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz-core</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz</artifactId> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz-jdk5</artifactId> + <scope>compile</scope> + </dependency> + + </dependencies> + + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Nuiton Utils :: Nuiton Utils Extra</name> + <description>Library of usefull class to be used in any project.</description> + <inceptionYear>2004</inceptionYear> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <properties> + + <!-- extra files to include in release --> + <redmine.releaseFiles>${redmine.libReleaseFiles}</redmine.releaseFiles> + + </properties> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <profiles> + <profile> + <id>reporting</id> + <activation> + <property> + <name>performRelease</name> + <value>true</value> + </property> + </activation> + + <reporting> + <plugins> + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <quiet>true</quiet> + <links> + <link>http://java.sun.com/javase/6/docs/api/</link> + </links> + </configuration> + </plugin> + </plugins> + </reporting> + + </profile> + + <!-- create assemblies at release time --> + <profile> + <id>assembly-profile</id> + <activation> + <property> + <name>performRelease</name> + <value>true</value> + </property> + </activation> + <build> + <plugins> + + <!-- launch in a release the assembly automaticly --> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>create-assemblies</id> + <phase>verify</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + <configuration> + <attach>false</attach> + <descriptorRefs> + <descriptorRef>deps</descriptorRef> + <descriptorRef>full</descriptorRef> + </descriptorRefs> + </configuration> + </plugin> + + </plugins> + + </build> + </profile> + + </profiles> + +</project> Property changes on: trunk/nuiton-utils-extra/pom.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/nuiton-utils-extra/src/license/THIRD-PARTY.properties =================================================================== --- trunk/nuiton-utils-extra/src/license/THIRD-PARTY.properties (rev 0) +++ trunk/nuiton-utils-extra/src/license/THIRD-PARTY.properties 2010-12-30 10:42:58 UTC (rev 1999) @@ -0,0 +1,33 @@ +# Generated by org.nuiton.license.plugin.AddThirdPartyMojo +#------------------------------------------------------------------------------- +# Already used licenses in project : +# - ASM License +# - Apache Software License +# - Apache Software License, Version 2.0 +# - BSD License +# - GNU Lesser General Public License +# - Jaxen license +# - Lesser General Public License (LGPL) +# - MIT License +# - SAXPath License +# - The Apache Software License, Version 2.0 +#------------------------------------------------------------------------------- +# Please fill the missing licenses for dependencies : +# +# +#Thu Dec 30 11:34:10 CET 2010 +aspectwerkz--aspectwerkz--2.0--jar=GNU Lesser General Public License +aspectwerkz--aspectwerkz-core--2.0--jar=GNU Lesser General Public License +aspectwerkz--aspectwerkz-jdk5--2.0--jar=GNU Lesser General Public License +dom4j--dom4j--1.4--jar=BSD License +isorelax--isorelax--20020414--jar=MIT License +jaxen--jaxen--1.0-FCS--jar=Jaxen license +jrexx--jrexx--1.1.1--jar=Apache Software License +msv--msv--20020414--jar=BSD License +org.nuiton.thirdparty--asm--1.5.4-snapshot--jar=ASM License +org.nuiton.thirdparty--asm-attrs--1.5.4-snapshot--jar=ASM License +org.nuiton.thirdparty--asm-util--1.5.4-snapshot--jar=ASM License +qdox--qdox--1.4--jar=Apache Software License, Version 2.0 +relaxngDatatype--relaxngDatatype--20020414--jar=BSD License +saxpath--saxpath--1.0-FCS--jar=SAXPath License +trove--trove--1.0.2--jar=Lesser General Public License (LGPL) Property changes on: trunk/nuiton-utils-extra/src/license/THIRD-PARTY.properties ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/NuitonTrace.java =================================================================== --- trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/NuitonTrace.java (rev 0) +++ trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/NuitonTrace.java 2010-12-30 10:42:58 UTC (rev 1999) @@ -0,0 +1,264 @@ +/* + * #%L + * Nuiton utilities extra library + * %% + * Copyright (C) 2006 - 2010 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.profiling; + +import org.apache.commons.lang.time.DurationFormatUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.codehaus.aspectwerkz.annotation.After; +import org.codehaus.aspectwerkz.annotation.AfterThrowing; +import org.codehaus.aspectwerkz.annotation.Aspect; +import org.codehaus.aspectwerkz.annotation.Before; +import org.codehaus.aspectwerkz.joinpoint.JoinPoint; +import org.codehaus.aspectwerkz.joinpoint.MethodSignature; + +import java.io.PrintStream; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Stack; + +/** + * Permet de tracer les appels aux methodes. + * <p/> + * Pour l'utiliser il faut définir un fichier XML qui intercepte les methodes + * souhaiter. + * <pre> + * <?xml version="1.0" encoding="ISO-8859-1"?> + * <p/> + * <!DOCTYPE aspectwerkz PUBLIC + * "-//AspectWerkz//DTD//EN" + * "http://aspectwerkz.codehaus.org/dtd/aspectwerkz2.dtd"> + * <p/> + * <aspectwerkz> + * <system id="sample"> + * <aspect class="fr.ifremer.isisfish.aspect.TraceIsis"> + * <pointcut name="executeMethod"> + * execution(* fr.ifremer.isisfish.datastore.ResultStorage.*(..)) + * || execution(* fr.ifremer.isisfish.aspect.Cache.*(..)) + * || execution(* fr.ifremer.isisfish.aspect.Trace.*(..)) + * || execution(* org.nuiton.topia..*(..)) + * || execution(* org.nuiton.math.matrix..*(..)) + * || execution(* fr.ifremer.isisfish.types..*(..)) + * || execution(* org.apache.commons.collections..*(..)) + * </pointcut> + * </aspect> + * </system> + * </aspectwerkz> + * <p/> + * </pre> + * Ensuite il faut lancer la JVM avec deux options + * <li> -javaagent:path/to/aspectwerkz-jdk5-2.0.jar + * <li> -Daspectwerkz.definition.file=path/to/trace-aop.xml + * <p/> + * il doit être possible d'utiliser des noms normalisé et + * trouvable dans le classpath a la place de -Daspectwerkz.definition.file + * <li> /aspectwerkz.xml + * <li> META-INF/aop.xml + * <li> WEB-INF/aop.xml + * <p/> + * Ensuite pour afficher les statistiques dans votre programme + * <li> log.info(NuitonTrace.getStatisticsAndClear()); + * <li> NuitonTrace.printStatistiqueAndClear(); + * <p/> + * <p/> + * <p/> + * Il doit être possible, plutot que d'écrire un fichier XML, de sous classer + * NuitonTrace en ajoutant par exemple + * <p/> + * + * @author poussin + * @Expression( "execution(* fr.ifremer.isisfish.datastore.ResultStorage.*(..))" + + * "|| execution(* fr.ifremer.isisfish.aspect.Cache.*(..))" + + * "|| execution(* fr.ifremer.isisfish.aspect.Trace.*(..))" + + * "|| execution(* org.nuiton.topia..*(..))" + + * "|| execution(* org.nuiton.math.matrix..*(..))" + + * "|| execution(* fr.ifremer.isisfish.types..*(..))" + + * "|| execution(* org.apache.commons.collections..*(..))" + * ) + * Pointcut executeMethod; + * </p> + */ +@Aspect("perJVM") +public class NuitonTrace { + + /** to use log facility, just put in your code: log.info("..."); */ + static private Log log = LogFactory.getLog(NuitonTrace.class); + + static private List<NuitonTrace> instances = new ArrayList<NuitonTrace>(); + + /** nombre d'appel */ + final static public int STAT_CALL = 0; + /** nombre d'appel vers une autre method depuis cette methode */ + final static public int STAT_CALL_NEST_METHOD = 1; + /** temps mini d'execution de cette methode (sans le temps des autres methodes) */ + final static public int STAT_TIME_MIN = 2; + /** temps max d'execution de cette methode (sans le temps des autres methodes) */ + final static public int STAT_TIME_MAX = 3; + /** temps total d'execution de cette methode (sans le temps des autres methodes) */ + final static public int STAT_TIME_TOTAL = 4; + /** temps total d'execution de cette methode (avec le temps des autres methodes) */ + final static public int STAT_TIME_TOTAL_NEST_METHOD = 5; + + /** nombre d'appel vers une autre method depuis cette methode */ + final static private int STACK_CALL_NEST_METHOD = 0; + /** heure de depart de l'appel a la methode (sans le temps des autres methodes) */ + final static private int STACK_TIME_START = 1; + /** heure de depart de l'appel a la methode (avec le temps des autres methodes) */ + final static private int STACK_TIME_START_NEST_METHOD = 2; + + + /** array : [call's numbers, call do, min time, max time, total time, total time with child] */ + protected Map<Method, long[]> statistics = new LinkedHashMap<Method, long[]>(); + + /** array : [nest method call, start time, start time with child] */ + protected Stack<long[]> callStack = new Stack<long[]>(); + +// @Expression( +// "execution(* fr.ifremer.isisfish.datastore.ResultStorage.*(..))" + +// "|| execution(* fr.ifremer.isisfish.aspect.Cache.*(..))" + +// "|| execution(* fr.ifremer.isisfish.aspect.Trace.*(..))" + +// "|| execution(* org.nuiton.topia..*(..))" + +// "|| execution(* org.nuiton.math.matrix..*(..))" + +// "|| execution(* fr.ifremer.isisfish.types..*(..))" + +// "|| execution(* org.apache.commons.collections..*(..))" +// ) +// Pointcut executeMethod; + + public NuitonTrace() { + instances.add(this); + } + + public long[] getStatistics(Method method) { + long[] result = statistics.get(method); + if (result == null) { + result = new long[]{0, 0, 0, 0, 0, 0}; + statistics.put(method, result); + } + return result; + } + + @Before("executeMethod") + public void traceBeforeExecute(JoinPoint jp) { + // ajout dans le stack + long current = System.nanoTime(); + long[] stackItem = new long[]{0, current, current}; + callStack.push(stackItem); + + + } + + @AfterThrowing("executeMethod") + public void traceAfterThrowingExecute(JoinPoint jp) { + // si une exeption est leve, il faut faire la meme chose + traceAfterExecute(jp); + } + + @After("executeMethod") + public void traceAfterExecute(JoinPoint jp) { + Method method = ((MethodSignature) jp.getSignature()).getMethod(); + + long current = System.nanoTime(); + + if (callStack.isEmpty()) { + log.warn("Empty stack in afterExecute for method " + method.getName()); + } else { + long[] stackItem = callStack.pop(); + long timeSpent = current - stackItem[STACK_TIME_START]; + long timeSpentNestMethod = current - stackItem[STACK_TIME_START_NEST_METHOD]; + + long[] stat = getStatistics(method); + stat[STAT_CALL]++; // add +1 to call number + stat[STAT_CALL_NEST_METHOD] += stackItem[STACK_CALL_NEST_METHOD]; + stat[STAT_TIME_TOTAL] += timeSpent; + stat[STAT_TIME_TOTAL_NEST_METHOD] += timeSpentNestMethod; + if (stat[STAT_TIME_MIN] > timeSpent) { + stat[STAT_TIME_MIN] = timeSpent; + } + if (stat[STAT_TIME_MAX] < timeSpent) { + stat[STAT_TIME_MAX] = timeSpent; + } + + if (!callStack.isEmpty()) { + long[] parent = callStack.peek(); + parent[STACK_CALL_NEST_METHOD]++; // add +1 to call number nest method + parent[STACK_TIME_START] += timeSpentNestMethod; // remove to time all time spent in nest method (yes + to remove :) + } + } + + // ajouter le delta de temps dans le temps passé dans la méthod + + // il faud garder le temps passé dans l'appel d'autre methode de la stack + // --> A + // ========= + // --> B + // <-- B + // ========= + // --> C + // --> D + // <-- D + // <-- C + // ========= + // <-- A + + // le temps reellement passé dans A est representé par les ===== + } + + /** @return les statistiques */ + static public String getStatisticsAndClear() { + StringBuffer result = new StringBuffer(); + for (NuitonTrace trace : instances) { + result.append("--- Statistics ---\n"); + for (Method method : trace.statistics.keySet()) { + long[] stat = trace.getStatistics(method); + long meanTime = stat[STAT_TIME_TOTAL] / stat[STAT_CALL]; + result.append(method).append("\t") + .append(" call: ").append(stat[STAT_CALL]) + // TIme is in nano not millis, we must divide by 1000000 + .append(" min: ").append(DurationFormatUtils.formatDuration(stat[STAT_TIME_MIN] / 1000000, "s'.'S")) + .append(" mean: ").append(DurationFormatUtils.formatDuration(meanTime / 1000000, "s'.'S")) + .append(" max: ").append(DurationFormatUtils.formatDuration(stat[STAT_TIME_MAX] / 1000000, "s'.'S")) + .append(" total: ").append(DurationFormatUtils.formatDuration(stat[STAT_TIME_TOTAL] / 1000000, "s'.'S")) + .append(" call_nest: ").append(stat[STAT_CALL_NEST_METHOD]) + .append(" total_with_nest: ").append(DurationFormatUtils.formatDuration(stat[STAT_TIME_TOTAL_NEST_METHOD] / 1000000, "s'.'S")) + .append("\n"); + } + result.append("--------------------\n"); + } + instances.clear(); + return result.toString(); + } + + static public void printStatisticsAndClear() { + printStatisticsAndClear(System.out); + } + + static public void printStatisticsAndClear(PrintStream printer) { + String stat = getStatisticsAndClear(); + if (stat != null && !"".equals(stat)) { + printer.println(stat); + } + } + +} Property changes on: trunk/nuiton-utils-extra/src/main/java/org/nuiton/profiling/NuitonTrace.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/nuiton-utils-extra/src/site/apt/index.apt =================================================================== --- trunk/nuiton-utils-extra/src/site/apt/index.apt (rev 0) +++ trunk/nuiton-utils-extra/src/site/apt/index.apt 2010-12-30 10:42:58 UTC (rev 1999) @@ -0,0 +1,42 @@ +~~~ +~~ #%L +~~ Nuiton Utils :: Nuiton Utils Extra +~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2004 - 2010 CodeLutin +~~ %% +~~ This program is free software: you can redistribute it and/or modify +~~ it under the terms of the GNU Lesser General Public License as +~~ published by the Free Software Foundation, either version 3 of the +~~ License, or (at your option) any later version. +~~ +~~ This program is distributed in the hope that it will be useful, +~~ but WITHOUT ANY WARRANTY; without even the implied warranty of +~~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +~~ GNU General Lesser Public License for more details. +~~ +~~ You should have received a copy of the GNU General Lesser Public +~~ License along with this program. If not, see +~~ <http://www.gnu.org/licenses/lgpl-3.0.html>. +~~ #L% +~~~ + ---- + Nuiton utils Extra + ---- + ---- + 2009-08-23 + ---- + +Présentation + + nuiton-utils-extra contient un ensemble de librairies trop petites pour avoir + leur propre projet, mais avec trop de dépendances pour être dans nuiton-utils. + Elles sont aussi utiles à la plupart des projets de Code Lutin. + +NuitonTrace + + + Permet de tracer le temps passé dans les méthodes au cours de l'éxecution. + Cette classe utilise l'AOP pour cela. Pour l'utiliser voir sa javadoc. Property changes on: trunk/nuiton-utils-extra/src/site/apt/index.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/nuiton-utils-extra/src/site/site_fr.xml =================================================================== --- trunk/nuiton-utils-extra/src/site/site_fr.xml (rev 0) +++ trunk/nuiton-utils-extra/src/site/site_fr.xml 2010-12-30 10:42:58 UTC (rev 1999) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + Nuiton Utils + + $Id$ + $HeadURL: http://svn.nuiton.org/svn/nuiton-utils/trunk/nuiton-utils/src/site/site_fr.x... $ + %% + Copyright (C) 2004 - 2010 CodeLutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Lesser Public License for more details. + + You should have received a copy of the GNU General Lesser Public + License along with this program. If not, see + <http://www.gnu.org/licenses/lgpl-3.0.html>. + #L% + --> + +<project name="${project.name}"> + + <bannerLeft> + <name>${project.name}</name> + <href>index.html</href> + </bannerLeft> + + <body> + + <breadcrumbs> + <item name="${project.name}" href="index.html"/> + </breadcrumbs> + + <menu ref="parent"/> + + <menu name="Utilisateur"> + <item name="Accueil" href="index.html"/> + </menu> + + <menu name="Téléchargement"> + <item + href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}.jar" + name="Librairie (jar)"/> + <item + href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-javadoc.jar" + name="Javadoc (jar)"/> + <item + href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar" + name="Sources (jar)"/> + </menu> + + <menu ref="reports"/> + + </body> +</project> Property changes on: trunk/nuiton-utils-extra/src/site/site_fr.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/nuiton-validator/src/site/site_fr.xml =================================================================== --- trunk/nuiton-validator/src/site/site_fr.xml 2010-12-30 09:44:04 UTC (rev 1998) +++ trunk/nuiton-validator/src/site/site_fr.xml 2010-12-30 10:42:58 UTC (rev 1999) @@ -41,9 +41,6 @@ <menu name="Utilisateur"> <item name="Accueil" href="index.html"/> - <item name="Documentation" href="/nuitonUtil.html"/> - <item name="Application config" href="/ApplicationConfig.html"/> - <item name="War launcher" href="/Warlauncher.html"/> </menu> <menu name="Téléchargement"> Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-12-30 09:44:04 UTC (rev 1998) +++ trunk/pom.xml 2010-12-30 10:42:58 UTC (rev 1999) @@ -43,6 +43,7 @@ <modules> <module>nuiton-utils</module> + <module>nuiton-utils-extra</module> <module>nuiton-validator</module> </modules> @@ -82,6 +83,26 @@ </exclusions> </dependency> + <!-- aspectwerkz dependencies --> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz-core</artifactId> + <version>${aspectwerkzVersion}</version> + </dependency> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz</artifactId> + <version>${aspectwerkzVersion}</version> + </dependency> + + <dependency> + <groupId>aspectwerkz</groupId> + <artifactId>aspectwerkz-jdk5</artifactId> + <version>${aspectwerkzVersion}</version> + </dependency> + </dependencies> </dependencyManagement> @@ -89,7 +110,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>Nuiton Utils :: Parent</name> + <name>Nuiton Utils</name> <description>Parent of nuiton utils projects.</description> <inceptionYear>2011</inceptionYear> <url>http://maven-site.nuiton.org/nuiton-utils</url> @@ -166,6 +187,8 @@ <nuitonI18nVersion>2.0.1</nuitonI18nVersion> + <aspectwerkzVersion>2.0</aspectwerkzVersion> + </properties> <build> Modified: trunk/src/site/apt/index.apt =================================================================== --- trunk/src/site/apt/index.apt 2010-12-30 09:44:04 UTC (rev 1998) +++ trunk/src/site/apt/index.apt 2010-12-30 10:42:58 UTC (rev 1999) @@ -1,6 +1,6 @@ ~~~ ~~ #%L -~~ Nuiton Utils :: Parent +~~ Nuiton Utils ~~ ~~ $Id$ ~~ $HeadURL$ Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2010-12-30 09:44:04 UTC (rev 1998) +++ trunk/src/site/site_fr.xml 2010-12-30 10:42:58 UTC (rev 1999) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- #%L - Nuiton Utils Parent + Nuiton Utils $Id$ $HeadURL$ @@ -45,6 +45,10 @@ <menu ref="modules"/> + <menu name="Utilisateur"> + <item name="Accueil" href="index.html"/> + </menu> + <menu ref="reports"/> </body>