Hi Mirko When I was reading the xml for the first time I'd expected something
else.When looking at <requireRoles> <developers>abc</developers>
<requireRoles> i would read it like:who require roles? developers.*which*
developers? abc.but what you are actually configuring are the *expected* roles.
IMO the naming is not strong/self-explaining enoughsuppose we want every
developer with an @codehaus.org that they require a role. I can imagne why
orgamizations need such role, but please rethink the naming. -RobertFrom:
[email protected]
To: [email protected]
Date: Mon, 9 Apr 2012 15:14:25 -0500
Subject: [mojo-scm] [16307] branches/mfriedenhagen/extra-enforcer-rules/src:
Documentation for new rule requireRoles.
[16307] branches/mfriedenhagen/extra-enforcer-rules/src: Documentation for new
rule requireRoles.
Revision 16307
Author mfriedenhagen
Date 2012-04-09 15:14:25 -0500 (Mon, 09 Apr 2012)
Log Message
Documentation for new rule requireRoles.
Modified Paths
branches/mfriedenhagen/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireRoles.java
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/index.apt
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requirePropertyDiverges.apt.vm
branches/mfriedenhagen/extra-enforcer-rules/src/site/site.xml
Added Paths
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requireRoles.apt.vm
Diff
Modified:
branches/mfriedenhagen/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireRoles.java
(16306 => 16307)
---
branches/mfriedenhagen/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireRoles.java
2012-04-09 19:48:06 UTC (rev 16306)
+++
branches/mfriedenhagen/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireRoles.java
2012-04-09 20:14:25 UTC (rev 16307)
@@ -18,6 +18,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
Modified: branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/index.apt
(16306 => 16307)
--- branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/index.apt
2012-04-09 19:48:06 UTC (rev 16306)
+++ branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/index.apt
2012-04-09 20:14:25 UTC (rev 16307)
@@ -38,6 +38,8 @@
* {{{./requirePropertyDiverges.html}requirePropertyDiverges}} - verifies
that a property in a child project diverges from one given in another project.
+ * {{{./requireRoles.html}requireRoles}} - verifies that certain roles are
defined in a project.
+
[]
* Usage
Modified:
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requirePropertyDiverges.apt.vm
(16306 => 16307)
---
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requirePropertyDiverges.apt.vm
2012-04-09 19:48:06 UTC (rev 16306)
+++
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requirePropertyDiverges.apt.vm
2012-04-09 20:14:25 UTC (rev 16307)
@@ -16,7 +16,7 @@
~~ under the License.
------
- Requite Property Diverges
+ Require Property Diverges
------
Mirko Friedenhagen
------
Added:
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requireRoles.apt.vm (0
=> 16307)
---
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requireRoles.apt.vm
(rev 0)
+++
branches/mfriedenhagen/extra-enforcer-rules/src/site/apt/requireRoles.apt.vm
2012-04-09 20:14:25 UTC (rev 16307)
@@ -0,0 +1,92 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements. See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership. The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License. You may obtain a copy of the License at
+~~
+~~ http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied. See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+ ------
+ Require Roles
+ ------
+ Mirko Friedenhagen
+ ------
+ April 2012
+ ------
+
+Require Roles
+
+ This rule checks that certain roles are defined in a project.
+
+ Say you want to enforce a policy that every project defines specific roles.
+
+ The following parameters are supported by this rule:
+
+ * <<<developers>>> - Comma separated list of developer roles which must be
defined. Defaults
+ to no roles.
+
+ * <<<contributors>>> - Comma separated list of contributor roles which must
be defined. Defaults
+ to no roles.
+
+ []
+
+
+ Sample Plugin Configuration:
+
++---+
+<project>
+ <groupId>company</groupId>
+ <artifactId>company-parent-pom</artifactId>
+ <version>1.0</version>
+ [...]
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${enforcerApiVersion}</version> <!-- find the latest version
at http://maven.apache.org/plugins/maven-enforcer-plugin/ -->
+ <executions>
+ <execution>
+ <id>enforce-rquire-property-diverges</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireRoles>
+ <developers>project lead</developers>
+ <contributors>business engineer, quality
manager</contributors>
+ </requireRoles>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ [...]
+</project>
++---+
+
+
+
+* Trademarks
+
+ Apache, Apache Maven, Maven and the Apache feather logo are trademarks of
The Apache Software Foundation.
Modified: branches/mfriedenhagen/extra-enforcer-rules/src/site/site.xml (16306
=> 16307)
--- branches/mfriedenhagen/extra-enforcer-rules/src/site/site.xml
2012-04-09 19:48:06 UTC (rev 16306)
+++ branches/mfriedenhagen/extra-enforcer-rules/src/site/site.xml
2012-04-09 20:14:25 UTC (rev 16307)
@@ -26,7 +26,8 @@
</menu>
<menu name="Rules">
<item name="Ban Duplicate Classes" href="banDuplicateClasses.html"/>
- <item name="Requite Property Diverges"
href="requirePropertyDiverges.html"/>
+ <item name="Require Property Diverges"
href="requirePropertyDiverges.html"/>
+ <item name="Require Roles" href="requireRoles.html"/>
</menu>
</body>
</project>
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email