# # spec file for package protostuff # # Copyright (c) 2024 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: protostuff Version: 1.8.0 Release: 0 Summary: Java serialization library, proto compiler, code generator License: Apache-2.0 Group: Development/Libraries/Java URL: https://github.com/protostuff/protostuff Source0: %{name}-%{version}.tar.xz BuildRequires: fdupes BuildRequires: maven-local BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-smile) BuildRequires: mvn(javax.annotation:javax.annotation-api) BuildRequires: mvn(org.antlr:antlr-runtime) BuildRequires: mvn(org.antlr:antlr3-maven-plugin) BuildRequires: mvn(org.antlr:stringtemplate) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) BuildRequires: mvn(org.apache.maven:maven-core) BuildRequires: mvn(org.apache.maven:maven-model) BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations) BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata) BuildArch: noarch %description A java serialization library with built-in support for forward-backward compatibility (schema evolution) and validation. • efficient, both in speed and memory • flexible, supporting pluggable formats Usecase • messaging layer in RPC • storage format in the datastore or cache %package api Summary: protostuff :: api Group: Development/Libraries/Java %description api serialization api for messages. %package bom Summary: protostuff :: bom Group: Development/Libraries/Java %description bom Protostuff "Bill of Materials" Dependency. %package collectionschema Summary: protostuff :: collectionschema Group: Development/Libraries/Java %description collectionschema predefined schemas for jdk collections and maps. %package compiler Summary: protostuff :: compiler Group: Development/Libraries/Java %description compiler compiler for .proto files (java/gwt%{_sysconfdir} output). %package core Summary: protostuff :: core Group: Development/Libraries/Java %description core protobuf serialization for mutable messages, %package json Summary: protostuff :: json Group: Development/Libraries/Java %description json protostuff serialization using json format. %package kvp Summary: protostuff :: kvp Group: Development/Libraries/Java %description kvp binary key-value-pair serialization format (see http://projects.unbit.it/uwsgi/wiki/uwsgiProtocol). %package maven-plugin Summary: protostuff :: maven-plugin Group: Development/Libraries/Java %description maven-plugin protostuff :: maven-plugin. %package parser Summary: protostuff :: parser Group: Development/Libraries/Java %description parser parser for .proto files. %package runtime Summary: protostuff :: runtime Group: Development/Libraries/Java %description runtime protobuf serialization for pre-existing objects. %package runtime-md Summary: protostuff :: runtime-md Group: Development/Libraries/Java %description runtime-md protostuff runtime for mobile devices (actually JREs with no sun.reflect.* packages). %package runtime-registry Summary: protostuff :: runtime-registry Group: Development/Libraries/Java %description runtime-registry id registration for runtime types. %package runtime-view Summary: protostuff :: runtime-view Group: Development/Libraries/Java %description runtime-view runtime views (filters and predicates, include/exclude fields on ser/deser). %package uberjar Summary: protostuff :: uberjar Group: Development/Libraries/Java %description uberjar serialization api for messages. %package xml Summary: protostuff :: xml Group: Development/Libraries/Java %description xml protostuff serialization using xml format. %package yaml Summary: protostuff :: yaml Group: Development/Libraries/Java %description yaml protostuff serialization using yaml format. %package javadoc Summary: API documentation for %{name} Group: Documentation/HTML %description javadoc This package contains javadoc for %{name}. %prep %setup -q %pom_remove_plugin :maven-enforcer-plugin %pom_remove_plugin :maven-source-plugin %pom_remove_plugin :maven-javadoc-plugin %pom_remove_plugin :maven-project-info-reports-plugin %pom_remove_plugin :maven-eclipse-plugin %pom_remove_plugin :maven-release-plugin %if %{?pkg_vcmp:%pkg_vcmp maven-antrun-plugin >= 3}%{!?pkg_vcmp:0} sed -i -e 's#tasks\>#target\>#g' \ protostuff-runtime-md/pom.xml \ protostuff-uberjar/pom.xml %endif %pom_disable_module protostuff-msgpack %pom_disable_module protostuff-it %pom_disable_module protostuff-benchmarks %build %{mvn_build} -f -s -- -Djavac.target=1.8 -Dsource=8 %install %mvn_install %fdupes -s %{buildroot}%{_javadocdir} %files -f .mfiles-%{name} %license LICENSE.txt NOTICE.txt %files api -f .mfiles-%{name}-api %files bom -f .mfiles-%{name}-bom %files collectionschema -f .mfiles-%{name}-collectionschema %files compiler -f .mfiles-%{name}-compiler %files core -f .mfiles-%{name}-core %files json -f .mfiles-%{name}-json %files kvp -f .mfiles-%{name}-kvp %files maven-plugin -f .mfiles-%{name}-maven-plugin %files parser -f .mfiles-%{name}-parser %files runtime-md -f .mfiles-%{name}-runtime-md %files runtime-registry -f .mfiles-%{name}-runtime-registry %files runtime-view -f .mfiles-%{name}-runtime-view %files runtime -f .mfiles-%{name}-runtime %files uberjar -f .mfiles-%{name}-uberjar %files xml -f .mfiles-%{name}-xml %files yaml -f .mfiles-%{name}-yaml %files javadoc -f .mfiles-javadoc %license LICENSE.txt NOTICE.txt %changelog