]> git.pld-linux.org Git - packages/aspectwerkz.git/blob - aspectwerkz.spec
- new names for some deps (java-junit, java-qdox)
[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 %if %(locale -a | grep -q '^en_US$'; echo $?)
35 BuildRequires:  glibc-localedb-all
36 %endif
37 Requires:       concurrent
38 Requires:       gnu.trove
39 Requires:       java-dom4j
40 Requires:       java-qdox
41 Requires:       javassist
42 Requires:       jpackage-utils
43 Requires:       jrexx
44 Requires:       piccolo
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
60 %description -l pl.UTF-8
61 AspectWerkz to dynamiczny, lekki i wydajny szkielet AOP/AOSD dla Javy.
62 Wykorzystuje modyfikowanie bajtkodu do modyfikowania klas w czasie
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
69 pliku definicji XML lub Runtime Attributes.
70
71 %package javadoc
72 Summary:        Javadoc for %{name}
73 Summary(pl.UTF-8):      Dokumentacja javadoc dla pakietu %{name}
74 Group:          Documentation
75 Requires:       jpackage-utils
76
77 %description javadoc
78 Javadoc for %{name}.
79
80 %description javadoc -l pl.UTF-8
81 Dokumentacja javadoc dla pakietu %{name}.
82
83 %package manual
84 Summary:        Documents for %{name}
85 Summary(pl.UTF-8):      Dokumentacja dla pakietu %{name}
86 Group:          Documentation
87
88 %description manual
89 Documents for %{name}.
90
91 %description manual -l pl.UTF-8
92 Dokumentacja dla pakietu %{name}.
93
94 %package demo
95 Summary:        Samples for %{name}
96 Summary(pl.UTF-8):      Przykłady dla pakietu %{name}
97 Group:          Documentation
98
99 %description demo
100 Samples for %{name}.
101
102 %description demo -l pl.UTF-8
103 Przykłady dla pakietu %{name}.
104
105 %prep
106 %setup -q
107 find -name '*.jar' | xargs rm -vf
108 chmod +x bin/aspectwerkz
109 %patch0
110 %patch1
111
112 %build
113 export ASPECTWERKZ_HOME=$RPM_BUILD_DIR/%{name}-%{version}
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}
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
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
162 install -d $RPM_BUILD_ROOT%{_bindir}
163 cp -p bin/aspectwerkz $RPM_BUILD_ROOT%{_bindir}
164
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
187 ln -sf %{name}-%{version} %{_javadocdir}/%{name}
188
189 %files
190 %defattr(644,root,root,755)
191 %doc %{_docdir}/%{name}-%{version}/LICENSE.txt
192 %attr(755,root,root) %{_bindir}/aspectwerkz
193 %{_javadir}/*.jar
194
195 %files javadoc
196 %defattr(644,root,root,755)
197 %{_javadocdir}/%{name}-%{version}
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}
This page took 0.125384 seconds and 4 git commands to generate.