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