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