File cal10n.spec of Package cal10n

%global bootstrap 1
%global _mavenpomdir /usr/share/maven2/poms
%global _mavendepmapfragdir /etc/maven/fragments

Name:           cal10n
Version:        0.7.4
Release:        2%{?dist}
Summary:        Compiler assisted localization library (CAL10N)

Group:          Development/Libraries
License:        MIT
URL:            http://cal10n.qos.ch
Source0:        http://cal10n.qos.ch/dist/cal10n-%{version}.tar.gz
Patch0:         %{name}-fix-maven.patch
Patch1:         pom.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch: noarch

BuildRequires: junit4
BuildRequires: java-devel 
BuildRequires: maven2 mvn-helper
%if !%{bootstrap}
BuildRequires: maven-assembly-plugin
BuildRequires: maven-compiler-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-plugin-plugin
BuildRequires: maven-resources-plugin
BuildRequires: maven-source-plugin
BuildRequires: maven-doxia-sitetools
BuildRequires: maven-site-plugin
BuildRequires: maven-surefire-maven-plugin
BuildRequires: maven-surefire-provider-junit4
%endif

Requires(post):   jpackage-utils >= 1.7.3
Requires(postun): jpackage-utils >= 1.7.3

%description
Compiler Assisted Localization, abbreviated as CAL10N (pronounced as "calion") 
is a java library for writing localized (internationalized) messages.
Features:
    * java compiler verifies message keys used in source code
    * tooling to detect errors in message keys
    * native2ascii tool made superfluous, as you can directly encode bundles 
      in the most convenient charset, per locale.
    * good performance (300 nanoseconds per key look-up)
    * automatic reloading of resource bundles upon change


# %package javadoc
# Group:          Documentation
# Summary:        Javadoc for %{name}
# 
# %description javadoc
# API documentation for %{name}.

%package -n maven-cal10n-plugin
Summary: CAL10N maven plugin
Group: Development/Tools
Requires: maven2

%description -n maven-cal10n-plugin
Maven plugin verifying that the codes defined in
an enum type match those in the corresponding resource bundles. 

%prep
%setup -q 
find . -name "*.jar" | xargs rm
%patch0
%patch1

mvn-helper replace -r /usr/share/maven2/bootstrap_repo/mvn-pass1/ .
mvn-helper filter -f /etc/mvn-helper/config.xml .

for pom in `find . -iname 'pom.xml'`;do
sed -i 's/0.7.2/0.7.4/' $pom
done

%build
# mvn-jpp \
#         -e \
#         -Dmaven2.jpp.mode=true \
#         -Dmaven.test.failure.ignore=true \
#         install javadoc:javadoc

mvn --settings /usr/share/maven2/conf/settings-custom.xml -Dmaven.test.skip=true install

%install

# jars
install -d -m 0755 %{buildroot}%{_javadir}/%{name}
install -m 644 cal10n-api/target/cal10n-api-%{version}.jar \
        %{buildroot}%{_javadir}/%{name}/cal10n-api-%{version}.jar
install -m 644 maven-cal10n-plugin/target/maven-cal10n-plugin-%{version}.jar \
        %{buildroot}%{_javadir}/%{name}/maven-cal10n-plugin-%{version}.jar

(cd %{buildroot}%{_javadir}/%{name} && for jar in *-%{version}*; \
    do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)

%add_to_maven_depmap ch.qos.cal10n cal10n-parent %{version} JPP/%{name} cal10n-parent
%add_to_maven_depmap ch.qos.cal10n cal10n-api %{version} JPP/%{name} cal10n-api
%add_to_maven_depmap ch.qos.cal10n maven-cal10n-plugin %{version} JPP/%{name} maven-cal10n-plugin

# poms
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-parent.pom
install -pm 644 cal10n-api/pom.xml \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-api.pom
install -pm 644 maven-cal10n-plugin/pom.xml \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-maven-cal10n-plugin.pom

# javadoc
# install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}-%{version}
# cp -pr target/site/api*/* %{buildroot}%{_javadocdir}/%{name}-%{version}/
# ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
# rm -rf target/site/api*

%post
%update_maven_depmap

%postun
%update_maven_depmap

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-,root,root,-)
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/%{name}*.jar
%{_datadir}/maven2/poms/JPP.%{name}-parent*
%{_datadir}/maven2/poms/JPP.%{name}-api*
%{_mavendepmapfragdir}/

%files -n maven-cal10n-plugin
%defattr(-,root,root,-)
%{_javadir}/%{name}/maven*.jar
%{_datadir}/maven2/poms/JPP.%{name}-maven*

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

%changelog
* Mon Jul 19 2010 Alexander Kurtakov <akurtako@redhat.com> 0.7.4-2
- BR maven-site-plugin.

* Mon Jul 19 2010 Alexander Kurtakov <akurtako@redhat.com> 0.7.4-1
- Update to 0.7.4.

* Wed Feb 3 2010 Alexander Kurtakov <akurtako@redhat.com> 0.7.2-2
- Removed not needed external repo definitions.
- Use _mavenpomdir.

* Wed Feb 3 2010 Alexander Kurtakov <akurtako@redhat.com> 0.7.2-1
- Initial package
openSUSE Build Service is sponsored by