SLING-11489 Provide Hamcrest Option
diff --git a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
index 3ea7b62..4a5efd2 100644
--- a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
+++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java
@@ -46,7 +46,7 @@
     public static ModifiableCompositeOption awaitility() {
         return composite(
             mavenBundle().groupId("org.awaitility").artifactId("awaitility").version(versionResolver),
-            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+            hamcrest()
         );
     }
 
@@ -99,6 +99,12 @@
         );
     }
 
+    public static ModifiableCompositeOption hamcrest() {
+        return composite(
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+        );
+    }
+
     public static ModifiableCompositeOption http() {
         return composite(
             mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.jetty").version(versionResolver),
@@ -270,7 +276,7 @@
             mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.stax-api-1.2").version(versionResolver),
             mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver),
             mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver),
-            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+            hamcrest()
         );
     }
 
diff --git a/src/main/resources/templates/SlingOptions.hbs b/src/main/resources/templates/SlingOptions.hbs
index a419fac..cf46627 100644
--- a/src/main/resources/templates/SlingOptions.hbs
+++ b/src/main/resources/templates/SlingOptions.hbs
@@ -46,7 +46,7 @@
     public static ModifiableCompositeOption awaitility() {
         return composite(
             mavenBundle().groupId("org.awaitility").artifactId("awaitility").version(versionResolver),
-            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+            hamcrest()
         );
     }
 
@@ -99,6 +99,12 @@
         );
     }
 
+    public static ModifiableCompositeOption hamcrest() {
+        return composite(
+            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+        );
+    }
+
     public static ModifiableCompositeOption http() {
         return composite(
             mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.jetty").version(versionResolver),
@@ -270,7 +276,7 @@
             mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.stax-api-1.2").version(versionResolver),
             mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver),
             mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver),
-            mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
+            hamcrest()
         );
     }
 
diff --git a/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsHamcrestIT.java b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsHamcrestIT.java
new file mode 100644
index 0000000..a7501ea
--- /dev/null
+++ b/src/test/java/org/apache/sling/testing/paxexam/it/tests/SlingOptionsHamcrestIT.java
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+package org.apache.sling.testing.paxexam.it.tests;
+
+import org.apache.sling.testing.paxexam.it.SlingOptionsTestSupport;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+
+import static org.apache.sling.testing.paxexam.SlingOptions.hamcrest;
+import static org.ops4j.pax.exam.CoreOptions.options;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+public class SlingOptionsHamcrestIT extends SlingOptionsTestSupport {
+
+    @Configuration
+    public Option[] configuration() {
+        return options(
+            baseConfiguration(),
+            hamcrest()
+        );
+    }
+
+    @Test
+    public void test() {
+    }
+
+}