]> git.pld-linux.org Git - packages/aspectwerkz.git/blob - aspectwerkz.spec
- drop obsolete and outdated manual inclusion of rpm macros
[packages/aspectwerkz.git] / aspectwerkz.spec
1 #
2 # Conditional build:
3 %bcond_with     tests           # compile and run tests
4 #
5 %include        /usr/lib/rpm/macros.java
6 Summary:        AOP for Java
7 Summary(pl.UTF-8):      AOP dla Javy
8 Name:           aspectwerkz
9 Version:        2.0
10 Release:        0.1
11 License:        BSD-style License
12 Group:          Development/Languages/Java
13 Source0:        http://dist.codehaus.org/aspectwerkz/distributions/%{name}-%{version}.zip
14 # Source0-md5:  d7462b4d76f268e78a3843a28da71990
15 Patch0:         %{name}2-build_xml.patch
16 Patch1:         %{name}2-script.patch
17 URL:            http://aspectwerkz.codehaus.org/
18 BuildRequires:  ant >= 1.6
19 BuildRequires:  asm
20 BuildRequires:  concurrent
21 #BuildRequires: dom4j
22 BuildRequires:  gnu.trove
23 BuildRequires:  jarjar
24 BuildRequires:  java-junit
25 BuildRequires:  java-qdox
26 BuildRequires:  javassist
27 BuildRequires:  jdk
28 BuildRequires:  jpackage-utils
29 BuildRequires:  jrexx
30 BuildRequires:  junitperf
31 BuildRequires:  piccolo
32 BuildRequires:  rpm-javaprov
33 BuildRequires:  rpmbuild(macros) >= 1.300
34 BuildRequires:  unzip
35 %if %(locale -a | grep -q '^en_US$'; echo $?)
36 BuildRequires:  glibc-localedb-all
37 %endif
38 Requires:       concurrent
39 Requires:       gnu.trove
40 Requires:       java-dom4j
41 Requires:       java-qdox
42 Requires:       javassist
43 Requires:       jpackage-utils
44 Requires:       jrexx
45 Requires:       piccolo
46 BuildArch:      noarch
47 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49 %description
50 AspectWerkz is a dynamic, lightweight and high-performant AOP/AOSD
51 framework for Java. AspectWerkz utilizes runtime bytecode modification
52 to weave your classes at runtime. It hooks in and weaves classes
53 loaded by any class loader except the bootstrap class loader. It has a
54 rich join point model. Aspects, advices and introductions are written
55 in plain Java and your target classes can be regular POJOs. You have
56 the possibility to add, remove and re-structure advices as well as
57 swapping the implementation of your introductions at runtime. Your
58 aspects can be defined using either an XML definition file or using
59 Runtime Attributes.
60
61 %description -l pl.UTF-8
62 AspectWerkz to dynamiczny, lekki i wydajny szkielet AOP/AOSD dla Javy.
63 Wykorzystuje modyfikowanie bajtkodu do modyfikowania klas w czasie
64 działania. Przechwytuje i modyfikuje klasy wczytywane przez wszystkie
65 procedury ładowania klas oprócz startowej. Ma bogady model punktu
66 łączenia. Aspekty, porady i wprowadzenia są napisane w czystej Javie,
67 a klasy docelowe mogą być zwykłymi POJO. Istnieje możliwość dodawania,
68 usuwania i restrukturyzacji porad, a także zamiany implementacji na
69 własną w trakcie działania. Aspekty mogą być definiowane przy użyciu
70 pliku definicji XML lub Runtime Attributes.
71
72 %package javadoc
73 Summary:        Javadoc for %{name}
74 Summary(pl.UTF-8):      Dokumentacja javadoc dla pakietu %{name}
75 Group:          Documentation
76 Requires:       jpackage-utils
77
78 %description javadoc
79 Javadoc for %{name}.
80
81 %description javadoc -l pl.UTF-8
82 Dokumentacja javadoc dla pakietu %{name}.
83
84 %package manual
85 Summary:        Documents for %{name}
86 Summary(pl.UTF-8):      Dokumentacja dla pakietu %{name}
87 Group:          Documentation
88
89 %description manual
90 Documents for %{name}.
91
92 %description manual -l pl.UTF-8
93 Dokumentacja dla pakietu %{name}.
94
95 %package demo
96 Summary:        Samples for %{name}
97 Summary(pl.UTF-8):      Przykłady dla pakietu %{name}
98 Group:          Documentation
99
100 %description demo
101 Samples for %{name}.
102
103 %description demo -l pl.UTF-8
104 Przykłady dla pakietu %{name}.
105
106 %prep
107 %setup -q
108 find -name '*.jar' | xargs rm -vf
109 chmod +x bin/aspectwerkz
110 %patch0
111 %patch1
112
113 %build
114 export ASPECTWERKZ_HOME=$RPM_BUILD_DIR/%{name}-%{version}
115 required_jars="
116 jarjar
117 asm
118 asm-attrs
119 asm-util
120 dom4j
121 gnu.trove
122 concurrent
123 junit
124 jrexx
125 javassist
126 qdox
127 piccolo
128 junitperf
129 "
130 build-jar-repository -s -p lib "$required_jars" || :
131
132 export LC_ALL=en_US # source code not US-ASCII
133 %ant compile compile:extensions %{?with_tests:compile:test}
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137
138 # jars
139 install -d $RPM_BUILD_ROOT%{_javadir}
140 cp -p target/%{name}-%{version}.jar \
141   $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
142 cp -p target/%{name}-core-%{version}.jar \
143   $RPM_BUILD_ROOT%{_javadir}/%{name}-core-%{version}.jar
144 cp -p target/%{name}-extensions-%{version}.jar \
145   $RPM_BUILD_ROOT%{_javadir}/%{name}-extensions-%{version}.jar
146 cp -p target/%{name}-jdk14-%{version}.jar \
147   $RPM_BUILD_ROOT%{_javadir}/%{name}-jdk14-%{version}.jar
148 cp -p target/%{name}-jdk5-%{version}.jar \
149   $RPM_BUILD_ROOT%{_javadir}/%{name}-jdk5-%{version}.jar
150 cp -p target/%{name}-nodeps-%{version}.jar \
151   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-%{version}.jar
152 cp -p target/%{name}-nodeps-jdk14-%{version}.jar \
153   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-jdk14-%{version}.jar
154 cp -p target/%{name}-nodeps-jdk5-%{version}.jar \
155   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-jdk5-%{version}.jar
156
157 cd $RPM_BUILD_ROOT%{_javadir}
158 for jar in *-%{version}.jar; do
159         ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`
160 done
161 cd -
162
163 install -d $RPM_BUILD_ROOT%{_bindir}
164 cp -p bin/aspectwerkz $RPM_BUILD_ROOT%{_bindir}
165
166 # javadoc
167 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
168 cp -pr docs/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
169 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
170 rm -rf docs/apidocs
171
172 # demo
173 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
174 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
175 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/bin
176 cp -pr target/samples-classes/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
177 cp -pr src/samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
178
179 # manual
180 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
181 cp -pr docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
182 cp -p LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
183
184 %clean
185 rm -rf $RPM_BUILD_ROOT
186
187 %post javadoc
188 ln -sf %{name}-%{version} %{_javadocdir}/%{name}
189
190 %files
191 %defattr(644,root,root,755)
192 %doc %{_docdir}/%{name}-%{version}/LICENSE.txt
193 %attr(755,root,root) %{_bindir}/aspectwerkz
194 %{_javadir}/*.jar
195
196 %files javadoc
197 %defattr(644,root,root,755)
198 %{_javadocdir}/%{name}-%{version}
199 %ghost %{_javadocdir}/%{name}
200
201 %files manual
202 %defattr(644,root,root,755)
203 %doc %{_docdir}/%{name}-%{version}
204
205 %files demo
206 %defattr(644,root,root,755)
207 %{_datadir}/%{name}-%{version}
This page took 0.157784 seconds and 3 git commands to generate.