Author: tchemit Date: 2009-09-01 20:24:37 +0200 (Tue, 01 Sep 2009) New Revision: 2 Added: archetype-nuiton-mojo/trunk/LICENSE.txt archetype-nuiton-mojo/trunk/README.txt archetype-nuiton-mojo/trunk/changelog.txt archetype-nuiton-mojo/trunk/src/site/ archetype-nuiton-mojo/trunk/src/site/apt/ archetype-nuiton-mojo/trunk/src/site/apt/Todo.apt archetype-nuiton-mojo/trunk/src/site/apt/examples.apt archetype-nuiton-mojo/trunk/src/site/apt/index.apt archetype-nuiton-mojo/trunk/src/site/site.xml Modified: archetype-nuiton-mojo/trunk/pom.xml Log: use mavenpom + make documentation Added: archetype-nuiton-mojo/trunk/LICENSE.txt =================================================================== --- archetype-nuiton-mojo/trunk/LICENSE.txt (rev 0) +++ archetype-nuiton-mojo/trunk/LICENSE.txt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,166 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + Added: archetype-nuiton-mojo/trunk/README.txt =================================================================== --- archetype-nuiton-mojo/trunk/README.txt (rev 0) +++ archetype-nuiton-mojo/trunk/README.txt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,2 @@ +To deploy new version of pom: mvn deploy +To install localy: mvn install Added: archetype-nuiton-mojo/trunk/changelog.txt =================================================================== --- archetype-nuiton-mojo/trunk/changelog.txt (rev 0) +++ archetype-nuiton-mojo/trunk/changelog.txt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,5 @@ +1.0.0 chemit 20090901 + + * First release + +-- chemit -- Tue, 01 Sep 2009 19:56:44 +0200 Modified: archetype-nuiton-mojo/trunk/pom.xml =================================================================== --- archetype-nuiton-mojo/trunk/pom.xml 2009-09-01 14:04:38 UTC (rev 1) +++ archetype-nuiton-mojo/trunk/pom.xml 2009-09-01 18:24:37 UTC (rev 2) @@ -2,21 +2,46 @@ <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> + + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom</artifactId> + <version>1.0.2-SNAPSHOT</version> + </parent> - <groupId>org.nuiton</groupId> <artifactId>archetype-nuiton-mojo</artifactId> - <version>1.0.0</version> - <packaging>maven-archetype</packaging> - <name>archetype-nuiton-mojo</name> + <version>1.0.0-SNAPSHOT</version> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Archetype for nuiton mojos</name> + <description> + A simple archetype to generate a mojo using mavenpom and + nuiton environnement + </description> <url>http://maven-site.nuiton.org/archetype-nuiton-mojo</url> - <dependencies> - <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-archetype-plugin</artifactId> - <version>${archetype.version}</version> - </dependency> - </dependencies> + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>maven-archetype</packaging> + + <properties> + + <projectId>archetypes</projectId> + + <archetype.version>2.0-alpha-4</archetype.version> + + </properties> + <build> <extensions> <extension> @@ -32,12 +57,24 @@ <extensions>true</extensions> </plugin> </plugins> + + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>${jrst.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </pluginManagement> + </build> - <properties> - <archetype.version>2.0-alpha-4</archetype.version> - </properties> - <!-- ************************************************************* --> <!-- *** Build Environment ************************************** --> <!-- ************************************************************* --> @@ -49,19 +86,4 @@ <url>http://www.nuiton.org/repositories/browse/archetypes/archetype-nuiton-mojo/trunk</url> </scm> - <distributionManagement> - <repository> - <id>nuiton</id> - <url>scpexe://nuiton.org/var/lib/maven/release</url> - </repository> - <snapshotRepository> - <id>nuiton</id> - <url>scpexe://nuiton.org/var/lib/maven/snapshot</url> - </snapshotRepository> - <site> - <id>nuiton</id> - <url>scpexe://nuiton.org/var/lib/redmine-nuiton.org/project-site/archetype-nuiton-mojo</url> - </site> - </distributionManagement> - </project> Added: archetype-nuiton-mojo/trunk/src/site/apt/Todo.apt =================================================================== --- archetype-nuiton-mojo/trunk/src/site/apt/Todo.apt (rev 0) +++ archetype-nuiton-mojo/trunk/src/site/apt/Todo.apt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,7 @@ +---- +TODO +---- +---- +2009-09-01 +---- + \ No newline at end of file Added: archetype-nuiton-mojo/trunk/src/site/apt/examples.apt =================================================================== --- archetype-nuiton-mojo/trunk/src/site/apt/examples.apt (rev 0) +++ archetype-nuiton-mojo/trunk/src/site/apt/examples.apt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,138 @@ +------ +Example +------ +------ +2009-09-01 +------ + +Lancer la commande de création + +------------------------------------------------------------------------------- + +mvn archetype:generate -DarchetypeCatalog=http://maven.nuiton.org/release \ + -DarchetypeGroupId=org.nuiton \ + -DarchetypeArtifactId=archetype-nuiton-mojo + +[INFO] Scanning for projects... +[INFO] Searching repository for plugin with prefix: 'archetype'. +[INFO] ------------------------------------------------------------------------ +[INFO] Building Maven Default Project +[INFO] task-segment: [archetype:generate] (aggregator-style) +[INFO] ------------------------------------------------------------------------ +[INFO] Preparing archetype:generate +[INFO] No goals needed for project - skipping +[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. +[INFO] Setting property: velocimacro.messages.on => 'false'. +[INFO] Setting property: resource.loader => 'classpath'. +[INFO] Setting property: resource.manager.logwhenfound => 'false'. +[INFO] [archetype:generate] +[INFO] Generating project in Interactive mode +[INFO] Archetype [org.nuiton:archetype-nuiton-mojo:1.0.0] found in catalog http://maven.nuiton.org/realse/ +------------------------------------------------------------------------------- + +Renseigner les valeurs requises + +------------------------------------------------------------------------------- +Define value for projectName: : Redmine maven Plugin +Define value for projectDescription: : Maven plugin to interacts with a redmine server +Define value for projectInceptionYear: : 2009 +Define value for projectAuthor: : tchemit +Define value for mojoName: : GetUsers +Define value for mojoGoal: : get-users +Define value for mojoDescription: : Obtain the list of users +Define value for mavenpomversion: : 1.0.2 +Define value for groupId: : org.nuiton +Define value for artifactId: : maven-redmine-plugin +Define value for version: 1.0-SNAPSHOT: : 1.0.0-SNAPSHOT +Define value for package: org.nuiton: : org.nuiton.redmine.plugin +------------------------------------------------------------------------------- + +Confirmer les valeurs + +------------------------------------------------------------------------------- +Confirm properties configuration: +projectName: Redmine maven Plugin +projectDescription: Maven plugin to interacts with a redmine server +projectInceptionYear: 2009 +projectAuthor: tchemit +mojoName: GetUsers +mojoGoal: get-users +mojoDescription: Obtain the list of users +mavenpomversion: 1.0.2-SNAPSHOT +groupId: org.nuiton +artifactId: maven-redmine-plugin +version: 1.0.0-SNAPSHOT +package: org.nuiton.redmine.plugin + Y: : y +------------------------------------------------------------------------------- + +Au final + + Le projet est créé dans le répertoire <maven-redmine-plugin> avec : + + - un Mojo de nom <mojoName>Plugin ayant pour goal <mojoGoal>. + + - un test unitaire de nom <mojoName>PluginTest + + - le site du projet (à compléter bien sûr) + +------------------------------------------------------------------------------- +maven-redmine-plugin/ +|-- LICENSE.txt +|-- README.txt +|-- changelog.txt +|-- pom.xml +`-- src + |-- main + | |-- java + | | `-- org + | | `-- nuiton + | | `-- redmine + | | `-- plugin + | | `-- GetUsersPlugin.java + | `-- resources + | `-- log4j.properties + |-- site + | |-- rst + | | |-- Todo.rst + | | |-- index.rst + | | `-- usage.rst + | `-- site.xml + `-- test + |-- java + | `-- org + | `-- nuiton + | `-- redmine + | `-- plugin + | `-- GetUsersPluginTest.java + `-- resources + `-- org + `-- nuiton + `-- redmine + `-- plugin + `-- GetUsersPluginTest + `-- get-users.xml +------------------------------------------------------------------------------- + +Note + + Il est aussi possible de lancer la commande de création en passant tous les + paramètres requis comme des variables d'environnement : + +------------------------------------------------------------------------------- +mvn archetype:generate -DarchetypeCatalog=http://maven.nuiton.org/release \ + -DarchetypeGroupId=org.nuiton \ + -DarchetypeArtifactId=archetype-nuiton-mojo \ + -DprojectName="Redmine maven Plugin" \ + -DprojectDescription="Maven plugin to interacts with a redmine server" \ + -DprojectInceptionYear=2009 \ + -DprojectAuthor=tchemit \ + -DmojoName=GetUsers \ + -DmojoGoal=get-users \ + -DmojoDescription="Obtain the list of users" \ + -Dmavenpomversion=1.0.2-SNAPSHOT \ + -DgroupId=org.nuiton \ + -DartifactId=maven-redmine-plugin \ + -Dversion=1.0.0-SNAPSHOT \ + -Dpackage=org.nuiton.redmine.plugin +------------------------------------------------------------------------------- Added: archetype-nuiton-mojo/trunk/src/site/apt/index.apt =================================================================== --- archetype-nuiton-mojo/trunk/src/site/apt/index.apt (rev 0) +++ archetype-nuiton-mojo/trunk/src/site/apt/index.apt 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,37 @@ +------ +Archetype Nuiton Mojo +------ +------ +2009-09-01 +------ + +Présentation + + Un archetype pour générer un module de type <maven-plugin> basé sur + {{{http://maven-site.nuiton.org/mavenpom}mavenpom}} et la plateforme + {{{http://www.nuiton.org}nuiton}}. + + Le projet généré possèdera un <mojo> et le test unitaire associé. + +Les propriétés de l'archetype + + * <<projectName>> : le nom du projet (contenu de la balise <name> du pom.xml) + + * <<projectDescription>> : la description du projet (contenu de la balise <description> du pom.xml) + + * <<projectInceptionYear>> : l'année de création du projet (contenu de la balise <inceptionYear> du pom.xml) + + * <<projectAuthor>> : l'auteur du module (sera ajouté dans le tag javadoc author des classes générées) + + * <<mojoName>> : Le nom du Mojo a créer (sera ensuite suffixé par Plugin) + + * <<mojoGoal>> : Le nom du goal a créer (dans le mojo du dessus) + + * <<mojoDescription>> : La description du goal à créer (se retrouvera dans la javadoc du plugin) + + * <<mavenpomversion>> : la version de mavenpom à utiliser dans le pom.xml + + +Exemples + + Voir la page des {{{examples.html}exemples}}. Added: archetype-nuiton-mojo/trunk/src/site/site.xml =================================================================== --- archetype-nuiton-mojo/trunk/src/site/site.xml (rev 0) +++ archetype-nuiton-mojo/trunk/src/site/site.xml 2009-09-01 18:24:37 UTC (rev 2) @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="${project.name}"> + + <publishDate format="dd/MM/yyyy"/> + + <skin> + <groupId>org.nuiton</groupId> + <artifactId>maven-nuiton-skin</artifactId> + <version>1.0.0</version> + </skin> + + <bannerLeft> + <name>${project.name}</name> + <href>index.html</href> + </bannerLeft> + + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>${project.organization.url}</href> + </bannerRight> + + <body> + <links> + <item name="Chorem" href="http://www.chorem.org"/> + <item name="Nuiton" href="http://www.nuiton.org"/> + <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="${project.organization.name}" href="${project.organization.url}"/> + <item name="dépôt maven" href="${repository.home.url}"/> + </links> + + <breadcrumbs> + <item name="${project.name}" href="${project.url}" /> + </breadcrumbs> + + <menu name="Utilisateur"> + <item name="Accueil" href="index.html"/> + <item name="Exemples" href="examples.html"/> + </menu> + + <menu name="Développeur"> + <item name="A faire" href="Todo.html"/> + </menu> + + <menu ref="reports"/> + + </body> +</project>
participants (1)
-
tchemit@users.nuiton.org