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