+#
+# Conditional build:
+%bcond_with tests # compile and run tests
+#
Summary: AOP for Java
-Summary(pl): AOP dla Javy
+Summary(pl.UTF-8): AOP dla Javy
Name: aspectwerkz
Version: 2.0
Release: 0.1
Patch0: %{name}2-build_xml.patch
Patch1: %{name}2-script.patch
URL: http://aspectwerkz.codehaus.org/
+BuildRequires: ant >= 1.6
BuildRequires: asm
BuildRequires: concurrent
-BuildRequires: dom4j
+#BuildRequires: dom4j
BuildRequires: gnu.trove
-BuildRequires: jakarta-ant >= 1.6
BuildRequires: jarjar
-BuildRequires: java-1.4.2-bea
-BuildRequires: java-1.5.0-sun-devel
+BuildRequires: java-junit
+BuildRequires: java-qdox
BuildRequires: javassist
-#BuildRequires: jpackage-utils >= 0:1.6
+BuildRequires: jdk
+BuildRequires: jpackage-utils
BuildRequires: jrexx
-BuildRequires: junit
BuildRequires: junitperf
BuildRequires: piccolo
-BuildRequires: qdox
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.300
+BuildRequires: unzip
+%if %(locale -a | grep -q '^en_US$'; echo $?)
+BuildRequires: glibc-localedb-all
+%endif
Requires: concurrent
-Requires: dom4j
Requires: gnu.trove
+Requires: java-dom4j
+Requires: java-qdox
Requires: javassist
+Requires: jpackage-utils
Requires: jrexx
Requires: piccolo
-Requires: qdox
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
aspects can be defined using either an XML definition file or using
Runtime Attributes.
-%description -l pl
+%description -l pl.UTF-8
AspectWerkz to dynamiczny, lekki i wydajny szkielet AOP/AOSD dla Javy.
Wykorzystuje modyfikowanie bajtkodu do modyfikowania klas w czasie
-dzia³ania. Przechwytuje i modyfikuje klasy wczytywane przez wszystkie
-procedury ³adowania klas oprócz startowej. Ma bogady model punktu
-³±czenia. Aspekty, porady i wprowadzenia s± napisane w czystej Javie,
-a klasy docelowe mog± byæ zwyk³ymi POJO. Istnieje mo¿liwo¶æ dodawania,
-usuwania i restrukturyzacji porad, a tak¿e zamiany implementacji na
-w³asn± w trakcie dzia³ania. Aspekty mog± byæ definiowane przy u¿yciu
+działania. Przechwytuje i modyfikuje klasy wczytywane przez wszystkie
+procedury ładowania klas oprócz startowej. Ma bogady model punktu
+łączenia. Aspekty, porady i wprowadzenia są napisane w czystej Javie,
+a klasy docelowe mogą być zwykłymi POJO. Istnieje możliwość dodawania,
+usuwania i restrukturyzacji porad, a także zamiany implementacji na
+własną w trakcie działania. Aspekty mogą być definiowane przy użyciu
pliku definicji XML lub Runtime Attributes.
%package javadoc
Summary: Javadoc for %{name}
-Summary(pl): Dokumentacja javadoc dla pakietu %{name}
+Summary(pl.UTF-8): Dokumentacja javadoc dla pakietu %{name}
Group: Documentation
+Requires: jpackage-utils
%description javadoc
Javadoc for %{name}.
-%description javadoc -l pl
+%description javadoc -l pl.UTF-8
Dokumentacja javadoc dla pakietu %{name}.
%package manual
Summary: Documents for %{name}
-Summary(pl): Dokumentacja dla pakietu %{name}
+Summary(pl.UTF-8): Dokumentacja dla pakietu %{name}
Group: Documentation
%description manual
Documents for %{name}.
-%description manual -l pl
+%description manual -l pl.UTF-8
Dokumentacja dla pakietu %{name}.
%package demo
Summary: Samples for %{name}
-Summary(pl): Przyk³ady dla pakietu %{name}
+Summary(pl.UTF-8): Przykłady dla pakietu %{name}
Group: Documentation
%description demo
Samples for %{name}.
-%description demo -l pl
-Przyk³ady dla pakietu %{name}.
+%description demo -l pl.UTF-8
+Przykłady dla pakietu %{name}.
%prep
%setup -q
-# remove all binary libs
-for j in $(find . -name "*.jar"); do
- mv $j $j.no
-done
+find -name '*.jar' | xargs rm -vf
chmod +x bin/aspectwerkz
-
%patch0
%patch1
%build
export ASPECTWERKZ_HOME=$RPM_BUILD_DIR/%{name}-%{version}
-build-jar-repository -s -p lib \
-jarjar \
-asm/asm \
-asm/asm-attrs \
-asm/asm-util \
-dom4j \
-gnu.trove \
-concurrent \
-junit \
-jrexx \
-javassist \
-qdox \
-piccolo \
-junitperf \
-
-ln -sf %{_prefix}/lib/jvm/java-1.4.2-bea/jre/lib/managementapi.jar lib
-ln -sf %{_prefix}/lib/jvm/java-1.4.2-bea/jre/lib/managementserver.jar lib
-
-export JAVA_HOME=%{_prefix}/lib/jvm/java-1.5.0
-ant test cleandist
-#export JAVA_HOME=%{_prefix}/lib/jvm/java-1.5.0
-#ant test
+required_jars="
+jarjar
+asm
+asm-attrs
+asm-util
+dom4j
+gnu.trove
+concurrent
+junit
+jrexx
+javassist
+qdox
+piccolo
+junitperf
+"
+build-jar-repository -s -p lib "$required_jars" || :
+
+export LC_ALL=en_US # source code not US-ASCII
+%ant compile compile:extensions %{?with_tests:compile:test}
%install
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
%post javadoc
-rm -f %{_javadocdir}/%{name}
-ln -s %{name}-%{version} %{_javadocdir}/%{name}
-
-%postun javadoc
-if [ "$1" = "0" ]; then
- rm -f %{_javadocdir}/%{name}
-fi
+ln -sf %{name}-%{version} %{_javadocdir}/%{name}
%files
%defattr(644,root,root,755)
%doc %{_docdir}/%{name}-%{version}/LICENSE.txt
-%{_javadir}/*.jar
%attr(755,root,root) %{_bindir}/aspectwerkz
+%{_javadir}/*.jar
%files javadoc
%defattr(644,root,root,755)
-%doc %{_javadocdir}/%{name}-%{version}
+%{_javadocdir}/%{name}-%{version}
%ghost %{_javadocdir}/%{name}
%files manual