aboutsummaryrefslogtreecommitdiffstats
path: root/enforcer-rule
diff options
context:
space:
mode:
authorJulien Eluard <[email protected]>2012-02-02 13:03:02 -0300
committerJulien Eluard <[email protected]>2012-02-02 13:03:02 -0300
commitaf2c9184a69ad2b3e1de9a41d5d00edda3c65f69 (patch)
tree719a7b641febe289395e535791a1e3e360d4bf8d /enforcer-rule
parentcc75ee2c28e0c12db102cb63fd1b6fb2232cd280 (diff)
Removed old documentation.
Diffstat (limited to 'enforcer-rule')
-rwxr-xr-xenforcer-rule/src/site/apt/examples/backward-compatibility.apt.vm361
-rwxr-xr-xenforcer-rule/src/site/apt/examples/semantic-versioning-conformance.apt.vm300
-rwxr-xr-xenforcer-rule/src/site/apt/index.apt32
-rwxr-xr-xenforcer-rule/src/site/apt/usage.apt.vm138
-rwxr-xr-xenforcer-rule/src/site/site.xml35
5 files changed, 0 insertions, 866 deletions
diff --git a/enforcer-rule/src/site/apt/examples/backward-compatibility.apt.vm b/enforcer-rule/src/site/apt/examples/backward-compatibility.apt.vm
deleted file mode 100755
index 41faf0b..0000000
--- a/enforcer-rule/src/site/apt/examples/backward-compatibility.apt.vm
+++ /dev/null
@@ -1,361 +0,0 @@
-#*
- * This software is licensed under the Apache 2 license, quoted below.
- *
- * Copyright 2010 Julien Eluard
- *
- * Licensed 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.
- *#
-
-Checking a project's compatibility against older releases
-
-* Basic example
-
- In order to check your project's compatibility against an older release, you must add the enforcer rule as a dependency to
- the maven-enforcer-plugin and then configure your the maven-enforcer-plugin to run the rule. Rule will succeed if specified compatibility type is compatible with specified one (less permissive compatibility types will be accepted).
-
- By default current artifact will be checked against most recently released version (retrieved from either local or one of configured remote repositories). Setting dumpDetails to true will output differences to standard output.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- <dumpDetails>true</dumpDetails>
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Checking against a specific released version
-
- You can check your project against a specific released version:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- ...
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- <previousVersion>1.0.0</previousVersion>
- ...
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Including classes
-
- By default all classes will be considered during checking process. You might want to only check a subset of classes/packages. This is achieved by specifying <<<includes>>>.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- ...
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- <includes>
- <include>org.project.MyClass</include>
- </includes>
- ...
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
- We can specify multiple <includes> classes or packages. For example, to include <<<org.project.MyClass>>> class and <<<org.project.internal>>> package you would use a configuration like:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- ...
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- <includes>
- <include>org.project.MyClass</include>
- <include>org.project.internal</include>
- </includes>
- ...
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Excluding classes
-
- You may also want to exclude some classes/packages. For instance internal code might evolve independently from published API. This is achieved by specifying <<<excludes>>>.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- ...
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- <excludes>
- <exclude>org.project.MyClass</exclude>
- </excludes>
- ...
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-* Strict checking against a specific released version
-
- You can stricly check your project (backward compatibility type MUST match specified one) against a specific released version:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- ...
- <compatibilityType>NON_BACKWARD_COMPATIBLE</compatibilityType>
- <strictChecking>true</strictChecking>
- <previousVersion>1.0.0</previousVersion>
- ...
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
---- \ No newline at end of file
diff --git a/enforcer-rule/src/site/apt/examples/semantic-versioning-conformance.apt.vm b/enforcer-rule/src/site/apt/examples/semantic-versioning-conformance.apt.vm
deleted file mode 100755
index 0f7bf82..0000000
--- a/enforcer-rule/src/site/apt/examples/semantic-versioning-conformance.apt.vm
+++ /dev/null
@@ -1,300 +0,0 @@
-#*
- * This software is licensed under the Apache 2 license, quoted below.
- *
- * Copyright 2010 Julien Eluard
- *
- * Licensed 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.
- *#
-
-Checking a project's version against older releases
-
-* Basic example
-
- In order to check your project's version against an older release, you must add the enforcer rule as a dependency to
- the maven-enforcer-plugin and then configure your the maven-enforcer-plugin to run the rule.
-
- By default current artifact will be checked against most recently released version (retrieved from either local or one of configured remote repositories). Setting dumpDetails to true will output differences to standard output.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance">
- <dumpDetails>true</dumpDetails>
- </requireSemanticVersioningConformance>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Checking against a specific released version
-
- You can check your project against a specific released version:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance">
- ...
- <previousVersion>1.0.0</previousVersion>
- ...
- </requireSemanticVersioningConformance>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Including classes
-
- By default all classes will be considered during checking process. You might want to only check a subset of classes/packages. This is achieved by specifying <<<includes>>>.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance">
- ...
- <includes>
- <include>org.project.MyClass</include>
- </includes>
- ...
- </requireSemanticVersioningConformance>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
- We can specify multiple <includes> classes or packages. For example, to include <<<org.project.MyClass>>> class and <<<org.project.internal>>> package you would use a configuration like:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance">
- ...
- <includes>
- <include>org.project.MyClass</include>
- <include>org.project.internal</include>
- </includes>
- ...
- </requireSemanticVersioningConformance>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
-* Excluding classes
-
- You may also want to exclude some classes/packages. For instance internal code might evolve independently from published API. This is achieved by specifying <<<excludes>>>.
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check-version</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance">
- ...
- <excludes>
- <exclude>org.project.MyClass</exclude>
- </excludes>
- ...
- </requireSemanticVersioningConformance>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
diff --git a/enforcer-rule/src/site/apt/index.apt b/enforcer-rule/src/site/apt/index.apt
deleted file mode 100755
index 2887116..0000000
--- a/enforcer-rule/src/site/apt/index.apt
+++ /dev/null
@@ -1,32 +0,0 @@
-~~
-~~ This software is licensed under the Apache 2 license, quoted below.
-~~
-~~ Copyright 2010 Julien Eluard
-~~
-~~ Licensed 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.
-~~
-
-Semantic Versioning Enforcer Rule
-
- The Semantic Versioning Enforcer Rule is used to check your classes against previously released classes.
- Depending on changes your version number will be valid or not according to {{{http://semver.org}semantic versioning}} rules.
-
-* Rules Overview
-
- The Semantic Versioning Enforcer Rule has the following rules.
-
- * {{{./examples/semantic-versioning-conformance.html}requireSemanticVersioningConformance}} checks a project version number against an older release.
-
- * {{{./examples/backward-compatibility.html}requireBackwardCompatibility}} checks a project artifact against an older release.
-
- []
diff --git a/enforcer-rule/src/site/apt/usage.apt.vm b/enforcer-rule/src/site/apt/usage.apt.vm
deleted file mode 100755
index fc9c196..0000000
--- a/enforcer-rule/src/site/apt/usage.apt.vm
+++ /dev/null
@@ -1,138 +0,0 @@
-#*
- * This software is licensed under the Apache 2 license, quoted below.
- *
- * Copyright 2010 Julien Eluard
- *
- * Licensed 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.
- *#
-
-Usage
-
- The enforcer rule offers a rule for checking project's version against a previously released artifact.
-
-* Basic Usage
-
-** Checking a project's compatibility
-
- In order to check your project's compatibility, you must add the enforcer rule as a dependency to
- the maven-enforcer-plugin and then configure the maven-enforcer-plugin to run the rule:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- <compatibilityType>BACKWARD_COMPATIBLE_IMPLEMENTER</compatibilityType>
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
- Once you have configured your project, maven-enforcer will be able to throw a build error if current version is not backward compatible with last released one.
-
- Some more detailed {{{./examples/backward-compatibility.html}examples}} of the <<<requireBacwardCompatibility>>> rule.
-
-
-** Checking a project's version
-
- In order to check your project's version, you must add the enforcer rule as a dependency to
- the maven-enforcer-plugin and then configure the maven-enforcer-plugin to run the rule:
-
----
-<project>
- ...
- <build>
- ...
- <plugins>
- ...
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0-beta-1</version>
- ...
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${project.artifactId}</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
- ...
- <executions>
- ....
- <execution>
- <id>check</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireSemanticVersioningConformance implementation="org.semver.enforcer.RequireSemanticVersioningConformance" />
- </rules>
- </configuration>
- </execution>
- ...
- </executions>
- ...
- </plugin>
- ...
- </plugins>
- ...
- </build>
- ...
-</project>
----
-
- Once you have configured your project, maven-enforcer will be able to throw a build error if current version follows semantic versioning principles.
-
- Some more detailed {{{./examples/semantic-versioning-conformance.html}examples}} of the <<<requireSemanticVersioningConformance>>> rule.
diff --git a/enforcer-rule/src/site/site.xml b/enforcer-rule/src/site/site.xml
deleted file mode 100755
index d8d264e..0000000
--- a/enforcer-rule/src/site/site.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- This software is licensed under the Apache 2 license, quoted below.
-
- Copyright 2010 Julien Eluard
-
- Licensed 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.
-
--->
-
-<project>
- <body>
- <menu ref="parent"/>
- <menu name="Overview">
- <item name="Introduction" href="index.html" />
- <item name="Usage" href="usage.html" />
- </menu>
- <menu name="Examples">
- <item name="Checking a project backward compatibility" href="examples/backward-compatibility.html" />
- <item name="Checking a project version number" href="examples/semantic-versioning-conformance.html" />
- </menu>
- <menu ref="reports" />
- </body>
-</project>