# # spec file for package functionaljava # # 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/ # Name: functionaljava Version: 5.0 Release: 0 Summary: Functional programming in Java License: BSD-3-Clause Group: Development/Libraries/Java URL: http://www.functionaljava.org/ Source0: https://github.com/functionaljava/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://repo1.maven.org/maven2/org/%{name}/%{name}/%{version}/%{name}-%{version}.pom Source2: https://repo1.maven.org/maven2/org/%{name}/%{name}-java-core/%{version}/%{name}-java-core-%{version}.pom BuildRequires: maven-local BuildArch: noarch %description Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. The library is intended for use in production applications and is thoroughly tested using the technique of automated specification-based testing with ScalaCheck and Functional Java’s quickcheck module. Functional Java provides abstractions for the following types: • Basic Data Structures - total and partial functions, products, unit, option, unbiased and right biased unions (either and validation), void. • Immutable Collections - array, list, vector, stream, set, map, priority queue, finger tree, heterogenous list, difference list. • Other Abstractions - monoid, semigroup, natural, random number generator, reader, writer, state, input/output, parser, zipper, specification based testing (quickcheck), actors, optics (lens, prism, fold, traversal and others), concurrency and type conversion. %package javadoc Summary: API documentation for %{name} Group: Documentation/HTML %description javadoc API documentation for %{name}. %prep %setup -q cp %{SOURCE1} core/pom.xml cp %{SOURCE2} java-core/pom.xml cat <<__POM__ >pom.xml 4.0.0 org.functionaljava functionaljava-parent Functional Java Parent POM %{version} pom core java-core __POM__ %build %{mvn_build} -f -- -Dmaven.compiler.{source,target}=8 %install %{mvn_package} :functionaljava-parent:pom: __noinstall %mvn_install %files -f .mfiles %license etc/LICENCE %doc etc/release-notes etc/CONTRIBUTORS README.adoc %files javadoc -f .mfiles-javadoc %license etc/LICENCE %changelog