Sync from SUSE:SLFO:Main hamcrest revision 0ae0c8800126153adee84223ff73b991

This commit is contained in:
Adrian Schröter 2024-05-03 13:31:02 +02:00
commit 921455fd28
10 changed files with 835 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,131 @@
From d33031924faa557bb43ba0471f74d942ddfeae50 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Tue, 5 Nov 2019 14:50:23 +0100
Subject: [PATCH] Fix build with OpenJDK 11
---
.../src/main/java/org/hamcrest/collection/ArrayMatching.java | 3 ++-
.../org/hamcrest/collection/IsArrayContainingInAnyOrder.java | 2 +-
.../org/hamcrest/collection/IsArrayContainingInOrder.java | 2 +-
.../hamcrest/collection/IsIterableContainingInAnyOrder.java | 2 +-
.../collection/IsIterableContainingInRelativeOrder.java | 2 +-
hamcrest/src/main/java/org/hamcrest/core/AllOf.java | 2 +-
hamcrest/src/main/java/org/hamcrest/core/AnyOf.java | 2 +-
.../src/main/java/org/hamcrest/core/CombinableMatcher.java | 4 ++--
8 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/hamcrest/src/main/java/org/hamcrest/collection/ArrayMatching.java b/hamcrest/src/main/java/org/hamcrest/collection/ArrayMatching.java
index fc968e0..baab775 100644
--- a/hamcrest/src/main/java/org/hamcrest/collection/ArrayMatching.java
+++ b/hamcrest/src/main/java/org/hamcrest/collection/ArrayMatching.java
@@ -67,7 +67,8 @@ public class ArrayMatching {
*/
@SafeVarargs
public static <E> Matcher<E[]> arrayContainingInAnyOrder(Matcher<? super E>... itemMatchers) {
- return arrayContainingInAnyOrder(asList(itemMatchers));
+ Collection<Matcher<? super E>> itemMatchersList = asList(itemMatchers);
+ return new ArrayAsIterableMatcher<>(new IsIterableContainingInAnyOrder<>(itemMatchersList), itemMatchersList, "in any order");
}
/**
diff --git a/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java b/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java
index 7e72a62..c0c7efc 100644
--- a/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java
+++ b/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java
@@ -59,7 +59,7 @@ public class IsArrayContainingInAnyOrder<E> extends TypeSafeMatcher<E[]> {
* a list of matchers, each of which must be satisfied by an entry in an examined array
*/
public static <E> Matcher<E[]> arrayContainingInAnyOrder(Matcher<? super E>... itemMatchers) {
- return arrayContainingInAnyOrder(Arrays.asList(itemMatchers));
+ return new IsArrayContainingInAnyOrder<E>(Arrays.asList(itemMatchers));
}
/**
diff --git a/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java b/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java
index c046914..2022f1a 100644
--- a/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java
+++ b/hamcrest/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java
@@ -73,7 +73,7 @@ public class IsArrayContainingInOrder<E> extends TypeSafeMatcher<E[]> {
* the matchers that must be satisfied by the items in the examined array
*/
public static <E> Matcher<E[]> arrayContaining(Matcher<? super E>... itemMatchers) {
- return arrayContaining(asList(itemMatchers));
+ return new IsArrayContainingInOrder<E>(asList(itemMatchers));
}
/**
diff --git a/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java b/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java
index d6a9a33..9a7e6c0 100644
--- a/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java
+++ b/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java
@@ -98,7 +98,7 @@ public class IsIterableContainingInAnyOrder<T> extends TypeSafeDiagnosingMatcher
*/
@SafeVarargs
public static <T> Matcher<Iterable<? extends T>> containsInAnyOrder(Matcher<? super T>... itemMatchers) {
- return containsInAnyOrder(Arrays.asList(itemMatchers));
+ return new IsIterableContainingInAnyOrder<T>(Arrays.asList(itemMatchers));
}
/**
diff --git a/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInRelativeOrder.java b/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInRelativeOrder.java
index 0657768..06d6a57 100644
--- a/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInRelativeOrder.java
+++ b/hamcrest/src/main/java/org/hamcrest/collection/IsIterableContainingInRelativeOrder.java
@@ -99,7 +99,7 @@ public class IsIterableContainingInRelativeOrder<E> extends TypeSafeDiagnosingMa
*/
@SafeVarargs
public static <E> Matcher<Iterable<? extends E>> containsInRelativeOrder(Matcher<? super E>... itemMatchers) {
- return containsInRelativeOrder(asList(itemMatchers));
+ return new IsIterableContainingInRelativeOrder<E>(asList(itemMatchers));
}
/**
diff --git a/hamcrest/src/main/java/org/hamcrest/core/AllOf.java b/hamcrest/src/main/java/org/hamcrest/core/AllOf.java
index b8c3faa..f8951bd 100644
--- a/hamcrest/src/main/java/org/hamcrest/core/AllOf.java
+++ b/hamcrest/src/main/java/org/hamcrest/core/AllOf.java
@@ -56,6 +56,6 @@ public class AllOf<T> extends DiagnosingMatcher<T> {
*/
@SafeVarargs
public static <T> Matcher<T> allOf(Matcher<? super T>... matchers) {
- return allOf(Arrays.asList(matchers));
+ return new AllOf<T>(Arrays.asList(matchers));
}
}
diff --git a/hamcrest/src/main/java/org/hamcrest/core/AnyOf.java b/hamcrest/src/main/java/org/hamcrest/core/AnyOf.java
index 7a22c22..5a63574 100644
--- a/hamcrest/src/main/java/org/hamcrest/core/AnyOf.java
+++ b/hamcrest/src/main/java/org/hamcrest/core/AnyOf.java
@@ -46,6 +46,6 @@ public class AnyOf<T> extends ShortcutCombination<T> {
*/
@SafeVarargs
public static <T> AnyOf<T> anyOf(Matcher<? super T>... matchers) {
- return anyOf(Arrays.asList(matchers));
+ return new AnyOf<T>(Arrays.asList(matchers));
}
}
diff --git a/hamcrest/src/main/java/org/hamcrest/core/CombinableMatcher.java b/hamcrest/src/main/java/org/hamcrest/core/CombinableMatcher.java
index e37efce..6b44884 100644
--- a/hamcrest/src/main/java/org/hamcrest/core/CombinableMatcher.java
+++ b/hamcrest/src/main/java/org/hamcrest/core/CombinableMatcher.java
@@ -57,7 +57,7 @@ public class CombinableMatcher<T> extends TypeSafeDiagnosingMatcher<T> {
this.first = matcher;
}
public CombinableMatcher<X> and(Matcher<? super X> other) {
- return new CombinableMatcher<>(first).and(other);
+ return new CombinableMatcher<>(first).and((Matcher)other);
}
}
@@ -76,7 +76,7 @@ public class CombinableMatcher<T> extends TypeSafeDiagnosingMatcher<T> {
this.first = matcher;
}
public CombinableMatcher<X> or(Matcher<? super X> other) {
- return new CombinableMatcher<>(first).or(other);
+ return new CombinableMatcher<>(first).or((Matcher)other);
}
}
}
--
2.21.0

27
LICENSE.txt Normal file
View File

@ -0,0 +1,27 @@
BSD License
Copyright (c) 2000-2015 www.hamcrest.org
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer. Redistributions in binary form must reproduce
the above copyright notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
Neither the name of Hamcrest nor the names of its contributors may be used to endorse
or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

63
README.md Normal file
View File

@ -0,0 +1,63 @@
![JavaHamcrest](http://hamcrest.org/images/logo.jpg)
[![Build Status](https://travis-ci.org/hamcrest/JavaHamcrest.png?branch=master)](https://travis-ci.org/hamcrest/JavaHamcrest)
Java Hamcrest
=============
Licensed under [BSD License][].
What is Hamcrest?
-----------------
Hamcrest is a library of matchers, which can be combined in to create flexible expressions of intent in tests.
They've also been used for other purposes.
Downloads
---------
You can obtain Hamcrest binaries from [maven central][].
Extensions
----------
For Hamcrest extension projects see the [hamcrest extensions page][].
Documentation
-------------
Documentation can be found on the [Hamcrest site](http://hamcrest.org).
Reporting Bugs/Issues
---------------------
If you find an issue with Java Hamcrest, please report it via the
[GitHub issue tracker](https://github.com/hamcrest/JavaHamcrest/issues),
after first checking that it hasn't been raised already.
Source
------
To build, please read BUILDING.txt
Acknowledgements
----------------
Developers:
* Joe Walnes
* Nat Pryce
* Steve Freeman
Contributors:
* Robert Chatley
* Tom White
* Neil Dunn
* Dan North
* Magne Rasmussen
* David Saff
* Tom Denley
Also, thanks to everyone who has worked on DynaMock, nMock, jMock, EasyMock and MiniMock! These libraries inspired Hamcrest.
[logo]: http://hamcrest.org/images/logo.jpg
[website]: https://github.com/hamcrest/JavaHamcrest
[BSD License]: http://opensource.org/licenses/BSD-3-Clause
[Maven central]: http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.hamcrest
[hamcrest extensions page]: https://github.com/hamcrest/JavaHamcrest/wiki/Related-Projects
[GitHub issue tracker]: https://github.com/hamcrest/JavaHamcrest/issues

19
_service Normal file
View File

@ -0,0 +1,19 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/hamcrest/JavaHamcrest.git</param>
<param name="subdir">hamcrest</param>
<param name="revision">v2.2</param>
<param name="match-tag">v*</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="filename">hamcrest</param>
<param name="exclude">*.gradle</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<!-- <service name="download_files" mode="disabled"/> -->
<service name="set_version" mode="disabled"/>
</services>

35
hamcrest-2.2.pom Normal file
View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<name>Hamcrest</name>
<description>Core API and libraries of hamcrest matcher framework.</description>
<url>http://hamcrest.org/JavaHamcrest/</url>
<licenses>
<license>
<name>BSD License 3</name>
<url>http://opensource.org/licenses/BSD-3-Clause</url>
</license>
</licenses>
<developers>
<developer>
<id>joewalnes</id>
<name>Joe Walnes</name>
</developer>
<developer>
<id>npryce</id>
<name>Nat Pryce</name>
</developer>
<developer>
<id>sf105</id>
<name>Steve Freeman</name>
</developer>
</developers>
<scm>
<connection>git@github.com:hamcrest/JavaHamcrest.git</connection>
<url>https://github.com/hamcrest/JavaHamcrest</url>
</scm>
</project>

BIN
hamcrest-2.2.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

210
hamcrest-build.xml Normal file
View File

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="hamcrest" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.groupId" value="org.hamcrest"/>
<property name="project.artifactId" value="hamcrest"/>
<property name="project.version" value="2.2"/>
<property name="compiler.source" value="1.8"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="build.testOutputDir" value="${build.dir}/test-classes"/>
<property name="build.testDir" value="src/test/java"/>
<property name="build.testResourceDir" value="src/test/resources"/>
<property name="test.reports" value="${build.dir}/test-reports"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir}"/>
</src>
</javac>
</target>
<!-- ====================================================================== -->
<!-- Test-compilation target -->
<!-- ====================================================================== -->
<target name="compile-tests"
depends="compile"
description="Compile the test code"
unless="test.skip">
<mkdir dir="${build.testOutputDir}"/>
<javac destdir="${build.testOutputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.testDir}"/>
</src>
<classpath>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
</target>
<!-- ====================================================================== -->
<!-- Run all tests -->
<!-- ====================================================================== -->
<target name="test"
depends="compile-tests, junit-missing"
unless="junit.skipped"
description="Run the test cases">
<mkdir dir="${test.reports}"/>
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
<sysproperty key="basedir" value="."/>
<formatter type="xml"/>
<formatter type="brief" usefile="false"/>
<classpath>
<pathelement location="${build.outputDir}"/>
<pathelement location="${build.testOutputDir}"/>
</classpath>
<batchtest todir="${test.reports}" unless="test">
<fileset dir="${build.testDir}">
<include name="**/Test*.java"/>
<include name="**/*Test.java"/>
<include name="**/*TestCase.java"/>
<exclude name="**/*Abstract*Test.java"/>
</fileset>
</batchtest>
<batchtest todir="${test.reports}" if="test">
<fileset dir="${build.testDir}">
<include name="**/${test}.java"/>
<exclude name="**/*Abstract*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="test-junit-present">
<available classname="junit.framework.Test" property="junit.present"/>
</target>
<target name="test-junit-status"
depends="test-junit-present">
<condition property="junit.missing">
<and>
<isfalse value="${junit.present}"/>
<isfalse value="${test.skip}"/>
</and>
</condition>
<condition property="junit.skipped">
<or>
<isfalse value="${junit.present}"/>
<istrue value="${test.skip}"/>
</or>
</condition>
</target>
<target name="junit-missing"
depends="test-junit-status"
if="junit.missing">
<echo>=================================== WARNING ===================================</echo>
<echo> JUnit is not present in the test classpath or your $ANT_HOME/lib directory. Tests not executed.</echo>
<echo>===============================================================================</echo>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
source="${compiler.source}"
verbose="false"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
charset="ISO-8859-1"
linksource="false"
doctitle="Hamcrest ${project.version} API"
breakiterator="false"/>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile,test" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Automatic-Module-Name" value="${project.groupId}"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="${project.artifactId}"/>
<attribute name="Bundle-SymbolicName" value="${project.groupId}"/>
<attribute name="Bundle-Version" value="${project.version}"/>
<attribute name="Export-Package" value="org.hamcrest.beans;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.collection;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.comparator;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.core;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.internal;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.io;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.number;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.object;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.text;version=&quot;${project.version}&quot;;uses:=&quot;org.hamcrest&quot;,org.hamcrest.xml;version=&quot;${project.version}&quot;;uses:=&quot;javax.xml.namespace,org.hamcrest,org.w3c.dom&quot;,org.hamcrest;version=&quot;${project.version}&quot;;uses:=&quot;javax.xml.namespace,org.hamcrest.collection,org.hamcrest.core,org.hamcrest.internal,org.w3c.dom&quot;"/>
<attribute name="Import-Package" value="javax.xml.namespace;resolution:=optional,javax.xml.xpath;resolution:=optional,org.hamcrest.beans,org.hamcrest.collection,org.hamcrest.comparator,org.hamcrest.core,org.hamcrest.internal,org.hamcrest.number,org.hamcrest.object,org.hamcrest.text,org.hamcrest.xml,org.hamcrest,org.w3c.dom;resolution:=optional"/>
<attribute name="Implementation-Title" value="${project.artifactId}"/>
<attribute name="Implementation-Vendor" value="${project.groupId}"/>
<attribute name="Implementation-Version" value="${project.version}"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=${compiler.target}))&quot;"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

225
hamcrest.changes Normal file
View File

@ -0,0 +1,225 @@
-------------------------------------------------------------------
Thu Jun 9 16:00:32 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 2.2
* After a long hiatus without releases, this version simplifies
the packaging of Hamcrest into a single jar. Other big changes
include Java 9 module compatibility, along with numerous other
improvements and bug fixes.
* Breaking Changes
+ Although the class API has not changed since Hamcrest 1.3, the
way that the project is packaged has changed. Refer to the
Hamcrest Distributables documentation for more information,
and in particular the section on Upgrading from Hamcrest 1.x
+ The org.hamcrest.Factory annotation has been removed
(it should not be used in client code)
* Improvements
+ AllOf/AnyOf: Pass the matchers to constructor using varargs
+ Matchers.anyOf: Fix generic bounds compatibility for JDK 11
+ AssertionError message is unhelpful when match fails for byte
type
+ Use platform specific line breaks
+ Build now checks for consistent use of spaces
* Changes
+ Fix compatibility issue for development with Android D8
+ Fix typo in license name
+ 1.3 compatible constructors for string matchers
+ Fix for split packages with Java 9 modules
+ Documentation updates
+ Add implementation for CharSequence length matcher
+ Fix for TypeSafeDiagnosingMatcher can't detect generic types
for subclass
+ Renamed IsCollectionContaining to IsIterableContaining
+ Make Hamcrest an OSGI bundle
+ Add StringRegularExpression matcher
+ Fix StringContainsInOrder to detect if a repeated pattern is
missing
+ Add ArrayAsIterableMatcher
+ Fix description for IsEqualIgnoringCase
+ Fix JavaDoc examples
+ Upgraded to Java 7
+ Build with Gradle
+ Deprecate IsCollectionContaining and IsArrayContainingXXX
+ Removed deprecated methods from previous release
+ Improve mismatch description of hasItem/hasItems
+ General improvements to mismatch descriptions
+ Several JavaDoc improvements and corrections
+ Deprecated several matcher factory methods of the for "isXyz"
+ Fix address doclint errors reported in JDK 1.8
+ Fix Iterable contains in order is null-safe
+ Added equalToObject() (i.e. unchecked) method
+ Fix arrayContaining(null, null) cause NullPointerException
* Fix string matching on regular expressions
* Fix isCloseTo() shows wrong delta in mismatch description
* Fix add untyped version of equalTo, named equalToObject
* Implement IsEmptyMap, IsMapWithSize
* Fix IsArray.describeMismatchSafely() should use
Matcher.describeMismatch
* Add Matcher implementation for files
* Fix NPE in IsIterableContainingInOrder
- Removed patches:
* hamcrest-1.3-build.patch
* hamcrest-1.3-fork-javac.patch
* hamcrest-1.3-javadoc.patch
* hamcrest-1.3-javadoc10.patch
* hamcrest-1.3-javadoc9.patch
* hamcrest-1.3-no-jarjar.patch
* hamcrest-1.3-qdox-2.0.patch
* hamcrest-1.3-random-build-crash.patch
* hamcrest-reproducible-builds.patch
+ not needed with the new version
- Modified patch:
* hamcrest-matchers.patch -> 0001-Fix-build-with-OpenJDK-11.patch
+ adapt to the changed context
-------------------------------------------------------------------
Fri Mar 18 20:25:15 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* hamcrest-1.3-build.patch
+ Build with source/target levels 8
- Added patch:
* hamcrest-matchers.patch
+ Fix build with jdk17
-------------------------------------------------------------------
Tue Jan 5 13:20:25 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
- Make hamcrest build reproducibly [bsc#1120493]
- Add hamcrest-reproducible-builds.patch
-------------------------------------------------------------------
Tue Jan 5 13:01:10 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
- Fix typo in hamcrest-core description [bsc#1179994]
-------------------------------------------------------------------
Thu Nov 19 12:48:02 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- Fix RPM Lint complaint: summary-ended-with-dot
-------------------------------------------------------------------
Tue Nov 17 17:39:48 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- Add obsoletes in core to fix updates. [bsc#1174544]
-------------------------------------------------------------------
Wed Oct 2 20:24:49 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Remove references to the hamcrest-parent pom and do not
distribute it
* useless since we don't build with maven
* creates problems with gradle connector
-------------------------------------------------------------------
Tue Jan 15 08:52:39 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Make jmock and easymock integration opt-in (bsc#1121956)
-------------------------------------------------------------------
Fri Jan 4 16:13:17 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Use sources from github, which are accessible
- Do not build the hamcrest-text empty jar
- Split a core package off the main package
- Added patch:
* hamcrest-1.3-qdox-2.0.patch
+ Fix build against QDox 2.0
- Removed patch:
* hamcrest-1.3-no-integration.patch
+ Not needed any more since integration is buildable
- Modified patches:
* hamcrest-1.3-build.patch
* hamcrest-1.3-fork-javac.patch
* hamcrest-1.3-javadoc.patch
* hamcrest-1.3-javadoc10.patch
* hamcrest-1.3-javadoc9.patch
* hamcrest-1.3-no-jarjar.patch
* hamcrest-1.3-random-build-crash.patch
-------------------------------------------------------------------
Mon Dec 18 06:53:19 UTC 2017 - fstrba@suse.com
- Added patch:
* hamcrest-1.3-javadoc10.patch
+ Fix build with jdk10's javadoc that ends in error when a
link cannot be downloaded
-------------------------------------------------------------------
Fri Sep 8 06:05:24 UTC 2017 - fstrba@suse.com
- Modified patch:
* hamcrest-1.3-fork-javac.patch
+ Specify java target level 1.6 in order to allow building
with jdk9
- Specify java source level 1.6 in order to allow building with
jdk9
- Added patch:
* hamcrest-1.3-javadoc9.patch
+ fix javadoc errors that are fatal in jdk9
-------------------------------------------------------------------
Mon May 29 16:05:25 UTC 2017 - tchvatal@suse.com
- Apply patch from fedora:
* hamcrest-1.3-fork-javac.patch
-------------------------------------------------------------------
Fri May 19 13:11:37 UTC 2017 - tchvatal@suse.com
- Fix homepage
- Update to build with new javapacakges-tools
-------------------------------------------------------------------
Wed Mar 18 09:46:07 UTC 2015 - tchvatal@suse.com
- Fix build with new javapackages-tools
-------------------------------------------------------------------
Mon Jul 7 15:02:47 UTC 2014 - tchvatal@suse.com
- Use junit not junit4
-------------------------------------------------------------------
Mon Jun 16 12:25:07 UTC 2014 - tchvatal@suse.com
- Add patch to fix random build errors by enforcing single thread.
* hamcrest-1.3-random-build-crash.patch
-------------------------------------------------------------------
Tue Oct 29 12:51:11 UTC 2013 - mvyskocil@suse.com
- drop junit from dependencies, it's not needed and cause a build cycle
-------------------------------------------------------------------
Mon Oct 21 11:34:31 UTC 2013 - mvyskocil@suse.com
- Update to 1.3
bugfix and feature update, see CHANGES.txt for details
- Removed patches
* hamcrest-1.1-build.patch
+ renamed to hamcrest-1.3-build.patch
* hamcrest-1.1-no-jarjar.patch
+ renamed to hamcrest-1.3-no-jarjar.patch
* hamcrest-1.1-no-integration.patch
+ renamed to hamcrest-1.3-no-integration.patch
- Added patches
* hamcrest-1.3-javadoc.patch
- Updated poms and added OSGI manifests from Fedora
-------------------------------------------------------------------
Mon Sep 9 11:05:43 UTC 2013 - tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
-------------------------------------------------------------------
Tue Sep 3 14:23:47 UTC 2013 - mvyskocil@suse.com
- use add_maven_depmap from javapackages-tools
- install non-versioned dirs and jars
-------------------------------------------------------------------
Tue May 5 14:53:21 CEST 2009 - mvyskocil@suse.cz
- Initial packaging of 1.1 in SUSE (from jpp 5.0)

99
hamcrest.spec Normal file
View File

@ -0,0 +1,99 @@
#
# spec file for package hamcrest
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_with tests
Name: hamcrest
Version: 2.2
Release: 0
Summary: Library of matchers for building test expressions
License: BSD-3-Clause
Group: Development/Libraries/Java
URL: https://github.com/hamcrest/JavaHamcrest
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-build.xml
Source2: https://repo1.maven.org/maven2/org/hamcrest/%{name}/%{version}/%{name}-%{version}.pom
Source3: https://raw.githubusercontent.com/hamcrest/JavaHamcrest/v2.2/LICENSE.txt
Source4: https://raw.githubusercontent.com/hamcrest/JavaHamcrest/v2.2/README.md
Patch0: 0001-Fix-build-with-OpenJDK-11.patch
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local
%if %{with tests}
BuildRequires: ant-junit
%endif
Provides: %{name}-core = %{version}
Obsoletes: %{name}-core < %{version}
Obsoletes: %{name}-demo < %{version}
BuildArch: noarch
%description
Provides a library of matcher objects (also known as constraints or
predicates) allowing 'match' rules to be defined declaratively, to be
used in other frameworks. Typical scenarios include testing frameworks,
mocking libraries and UI validation rules.
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
%description javadoc
Javadoc for %{name}.
%prep
%setup -q -n %{name}-%{version}
cp %{SOURCE1} build.xml
cp %{SOURCE3} %{SOURCE4} .
%patch0 -p2
%build
%ant \
%if %{without tests}
-Dtest.skip=true \
%endif
jar javadoc
%install
# jars
install -dm 0755 %{buildroot}%{_javadir}/%{name}
install -pm 0644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar
ln -sf %{name}.jar %{buildroot}%{_javadir}/%{name}/all.jar
ln -sf %{name}.jar %{buildroot}%{_javadir}/%{name}/core.jar
ln -sf %{name}.jar %{buildroot}%{_javadir}/%{name}/library.jar
# poms
install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
install -pm 0644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/%{name}/%{name}.pom
%add_maven_depmap %{name}/%{name}.pom %{name}/%{name}.jar -a "org.hamcrest:hamcrest-all,org.hamcrest:hamcrest-core,org.hamcrest:hamcrest-library"
# javadoc
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%{_javadir}/%{name}
%license LICENSE.txt
%doc README.md
%files javadoc
%license LICENSE.txt
%{_javadocdir}/%{name}
%changelog