Name: oval
Version: 1.85
Release: 1%{?dist}
Summary: Object validation framework for Java
License: EPL
URL: http://oval.sourceforge.net/
Source0: https://github.com/sebthom/oval/archive/%{name}-%{version}.tar.gz
Patch0: oval-1.85-use-commons-ognl.patch
# Not available
Patch1: oval-1.85-disable-trove4j-support.patch
BuildRequires: maven-local
BuildRequires: mvn(aopalliance:aopalliance)
BuildRequires: mvn(cglib:cglib)
BuildRequires: mvn(com.google.inject:guice)
BuildRequires: mvn(com.thoughtworks.paranamer:paranamer)
BuildRequires: mvn(com.thoughtworks.xstream:xstream)
BuildRequires: mvn(commons-jxpath:commons-jxpath)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(javax.persistence:persistence-api)
BuildRequires: mvn(javax.validation:validation-api)
BuildRequires: mvn(javolution:javolution)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(org.apache.commons:commons-jexl)
BuildRequires: mvn(org.apache.commons:commons-ognl)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.aspectj:aspectjrt)
BuildRequires: mvn(org.beanshell:bsh)
BuildRequires: mvn(org.codehaus.groovy:groovy-all)
BuildRequires: mvn(org.codehaus.mojo:native2ascii-maven-plugin)
BuildRequires: mvn(org.jruby:jruby)
BuildRequires: mvn(org.mozilla:rhino)
BuildRequires: mvn(org.mvel:mvel2)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.springframework:spring-aop)
BuildRequires: mvn(org.springframework:spring-context)
BuildArch: noarch
%description
OVal is a pragmatic and extensible validation framework
for any kind of Java objects (not only JavaBeans).
Constraints can be declared with annotations (@NotNull,
@MaxLength), POJOs or XML.
Custom constraints can be expressed as custom Java classes
or by using scripting languages such as JavaScript, Groovy,
BeanShell, OGNL or MVEL.
Besides field/property validation OVal implements Programming
by Contract features by utilizing AspectJ based aspects. This
for example allows runtime validation of method arguments.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{name}-%{version}
%patch0 -p1
%pom_change_dep ognl:ognl org.apache.commons:commons-ognl:4.0-incubating-SNAPSHOT
%patch1 -p1
rm -rf src/main/java/net/sf/oval/collection/CollectionFactoryTroveImpl.java
%pom_remove_dep :trove4j
# Use JVM APIs
%pom_remove_dep :jsr223-api
%pom_change_dep cglib:cglib-nodep :cglib
# org.apache.maven.wagon:wagon-ssh:2.10
%pom_xpath_remove pom:build/pom:extensions
# Not available
%pom_remove_plugin :aspectj-maven-plugin
%pom_remove_plugin :clirr-maven-plugin
%pom_remove_plugin :docbkx-maven-plugin
# Unwanted tasks
%pom_remove_plugin :maven-assembly-plugin
%pom_remove_plugin :maven-changes-plugin
%pom_remove_plugin :maven-eclipse-plugin
# Use org.codehaus.mojo:extra-enforcer-rules:1.0-beta-3
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :maven-site-plugin
# Use com.google.code.maven-scm-provider-svnjava:maven-scm-provider-svnjava:2.1.1
%pom_remove_plugin :maven-release-plugin
%pom_remove_plugin :maven-scm-plugin
%pom_remove_plugin :maven-source-plugin
%pom_remove_plugin :maven-toolchains-plugin
# Remove pre-configured OSGi manifest file
rm src/main/java/META-INF/MANIFEST.MF
%pom_remove_plugin :maven-jar-plugin
# Generate OSGi manifest file
%pom_xpath_set "pom:packaging" bundle
%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 . '
true
${project.groupId}
oval.sf.net
${project.version}
net.sf.oval,
net.sf.oval.collection,
net.sf.oval.configuration
net.sf.oval.configuration.annotation,
net.sf.oval.configuration.pojo,
net.sf.oval.configuration.pojo.elements,
net.sf.oval.configuration.xml,
net.sf.oval.constraint,
net.sf.oval.constraint.exclusion,
net.sf.oval.context,
net.sf.oval.exception,
net.sf.oval.expression,
net.sf.oval.guard,
net.sf.oval.integration.guice,
net.sf.oval.integration.spring,
net.sf.oval.internal,
net.sf.oval.internal.util,
net.sf.oval.localization,
net.sf.oval.localization.context,
net.sf.oval.localization.message,
net.sf.oval.localization.value,
net.sf.oval.logging,
net.sf.oval.ogn
bundle-manifest
process-classes
manifest
'
# Convert from dos to unix line ending
sed -i.orig 's|\r||g' README.txt
touch -r README.txt.orig README.txt
rm README.txt.orig
%mvn_file net.sf.%{name}:%{name} %{name}
%build
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc README.txt
%license LICENSE.txt
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt
%changelog
* Wed Apr 06 2016 gil cattaneo 1.85-1
- initial rpm