Blob Blame History Raw
%global jarname commons-jexl

Name:           apache-%{jarname}
Version:        1.1
Release:        4%{?dist}
Summary:        Java Expression Language (JEXL)

Group:          Development/Libraries
License:        ASL 2.0
URL:            http://commons.apache.org/jexl
Source0:        http://www.apache.org/dist/commons/jexl/source/%{jarname}-%{version}-src.tar.gz
Source1:        pom.xml
#Up source and target level to 1.3 from 1.2
Patch0:         %{name}-1.1-level.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  jpackage-utils
BuildRequires:  java-devel
BuildRequires:  maven2
BuildRequires:    maven2-plugin-compiler
BuildRequires:    maven2-plugin-install
BuildRequires:    maven2-plugin-jar
BuildRequires:    maven2-plugin-javadoc
BuildRequires:    maven2-plugin-resources
BuildRequires:    maven2-plugin-surefire
BuildRequires:    maven2-plugin-surefire-report
BuildRequires:  maven-doxia-sitetools

BuildArch:      noarch

Requires:       jpackage-utils
Requires:       java
Provides:       %{jarname} = %{version}-%{release}

%description
Java Expression Language (JEXL) is an expression language engine which can be
embedded in applications and frameworks.  JEXL is inspired by Jakarta Velocity
and the Expression Language defined in the JavaServer Pages Standard Tag
Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP).  While
inspired by JSTL EL, it must be noted that JEXL is not a compatible
implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152).
For a compatible implementation of these specifications, see the Commons EL 
project.

JEXL attempts to bring some of the lessons learned by the Velocity community
about expression languages in templating to a wider audience.  Commons Jelly
needed Velocity-ish method access, it just had to have it. 


%package javadoc
Summary:        Javadocs for %{name}
Group:          Documentation
Requires:       %{name} = %{version}-%{release}
Requires:       jpackage-utils
Provides:       %{jarname}-javadoc = %{version}-%{release}

%description javadoc
This package contains the API documentation for %{name}.


%prep
%setup -q -n %{jarname}-%{version}-src
%patch0 -p1 -b .level
cp %SOURCE1 .
find \( -name '*.jar' -o -name '*.class' \) -exec rm -f '{}' +
# Fix line endings
find -name '*.txt' -exec sed -i 's/\r//' '{}' +


%build
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL

mvn-jpp \
-Dmaven.repo.local=$MAVEN_REPO_LOCAL \
install javadoc:javadoc


%install
rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp target/%{jarname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{jarname}.jar
ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{jarname}-%{version}.jar

mkdir -p $RPM_BUILD_ROOT%{_javadocdir}
cp -rp target/site/apidocs \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}

mkdir -p $RPM_BUILD_ROOT%{_datadir}/maven2/poms
cp -p pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}.pom
%add_to_maven_depmap commons-jexl %{jarname} %{version} JPP %{name}


%clean
rm -rf $RPM_BUILD_ROOT


%post
%update_maven_depmap

%postun
%update_maven_depmap


%files
%defattr(-,root,root,-)
%doc LICENSE.txt NOTICE.txt RELEASE-NOTES.txt
%{_datadir}/maven2/poms/JPP-%{name}.pom
%{_mavendepmapfragdir}
%{_javadir}/%{name}-%{version}.jar
%{_javadir}/%{name}.jar
%{_javadir}/%{jarname}-%{version}.jar
%{_javadir}/%{jarname}.jar

%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}


%changelog
* Thu Oct 7 2010 Orion Poplawski <orion@cora.nwra.com> - 1.1-4
- Fix groupId in %%add_to_maven_depmap

* Sat Jan 9 2010 Orion Poplawski <orion@cora.nwra.com> - 1.1-3
- Drop gcj support
- Fix javadoc group
- Bump java levels in pom.xml

* Thu Jan 7 2010 Orion Poplawski <orion@cora.nwra.com> - 1.1-2
- Rename to apache-commons-jexl

* Tue Oct 27 2009 Orion Poplawski <orion@cora.nwra.com> - 1.1-1
- Initial Fedora Package