Files
functionaljava/functionaljava.spec

100 lines
3.5 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# 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 Javas 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
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd"
>
<modelVersion>4.0.0</modelVersion>
<groupId>org.functionaljava</groupId>
<artifactId>functionaljava-parent</artifactId>
<name>Functional Java Parent POM</name>
<version>%{version}</version>
<packaging>pom</packaging>
<modules>
<module>core</module>
<module>java-core</module>
</modules>
</project>
__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