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