Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] New Enforcer Rules

I've gone ahead and added 3 new enforcer rules into the toolchain.

The current jetty-parent-15-SNAPSHOT.pom has the following section ...

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0-alpha-4</version>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[2.0.6,)</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[1.5,)</version>
                </requireJavaVersion>
                <versionTxtRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.VersionTxtRule" />
                <versionOsgiRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireOsgiCompatibleVersionRule" />
                <versionRedhatRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireRedhatCompatibleVersionRule" />
                <versionDebianRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireDebianCompatibleVersionRule" />
              </rules>
            </configuration>
          </execution>
        </executions>
        <dependencies>
           <dependency>
             <groupId>org.eclipse.jetty.toolchain</groupId>
             <artifactId>jetty-enforcer-rules</artifactId>
             <version>1.1-SNAPSHOT</version>
           </dependency>
        </dependencies>
      </plugin>

To break down what each of those 4 versionRules do ...

Only validates the "jetty-project" artifact
  versionTxtRule - this is the original version rule added by Jesse that ensures that during release we have also updated the VERSION.txt file to eliminate the SNAPSHOT references.
Validates all non-pom packaging projects
  versionOsgiRule - this rule ensures that the various OSGi version format rules are enforced.
  versionDebianRule - rule to ensure that various debian versioning restrictions are enforced.  (disabled on SNAPSHOTS)
  versionRedhatRule - rule to ensure that various redhat versioning restrictions are enforced.  (disabled on SNAPSHOTS)

I'd like to get the following done this week (but need ok from the rest of you) ...

1) Release jetty-enforcer-rules-1.1.jar
2) Release jetty-parent-15.pom
3) Make trunk use new jetty-parent-15.pom

I propose we make trunk use jetty-parent-15-SNAPSHOT.pom for now, just to flesh out the impact of these new rules.
Meanwhile, I encourage the developers to look over the rules (and test cases) to familiarize themselves with the impact this will have.

VersionTxtRule --
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-toolchain/trunk/jetty-enforcer-rules/src/main/java/org/eclipse/jetty/toolchain/enforcer/rules/VersionTxtRule.java

RequireOsgiCompatibleVersionRule --
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-toolchain/trunk/jetty-enforcer-rules/src/main/java/org/eclipse/jetty/toolchain/enforcer/rules/RequireOsgiCompatibleVersionRule.java

RequireDebianCompatibleVersionRule --
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-toolchain/trunk/jetty-enforcer-rules/src/main/java/org/eclipse/jetty/toolchain/enforcer/rules/RequireDebianCompatibleVersionRule.java

RequireRedhatCompatibleVersionRule --
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-toolchain/trunk/jetty-enforcer-rules/src/main/java/org/eclipse/jetty/toolchain/enforcer/rules/RequireRedhatCompatibleVersionRule.java

- Joakim

Back to the top