/[packages]/cauldron/aspectwerkz/current/SPECS/aspectwerkz.spec
ViewVC logotype

Contents of /cauldron/aspectwerkz/current/SPECS/aspectwerkz.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21166 - (show annotations) (download)
Mon Jan 17 12:05:07 2011 UTC (13 years, 3 months ago) by dmorgan
File size: 6660 byte(s)
imported package aspectwerkz
1 # Copyright (c) 2000-2005, JPackage Project
2 # All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 #
8 # 1. Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # 2. Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the
13 # distribution.
14 # 3. Neither the name of the JPackage Project nor the names of its
15 # contributors may be used to endorse or promote products derived
16 # from this software without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #
30
31 %define section devel
32
33 Summary: AOP for Java
34 Name: aspectwerkz
35 Version: 2.0
36 Release: %mkrel 2.0.1
37 Epoch: 0
38 License: BSD-style License
39 URL: http://aspectwerkz.codehaus.org/
40 Group: Development/Java
41 Source0: http://dist.codehaus.org/aspectwerkz/distributions/aspectwerkz-2.0.zip
42 Patch0: aspectwerkz2-build_xml.patch
43 Patch1: aspectwerkz2-script.patch
44 BuildRequires: jpackage-utils >= 0:1.6
45 BuildRequires: java-1.7.0-icedtea
46 BuildRequires: junit
47 BuildRequires: ant >= 0:1.6
48 BuildRequires: java-devel
49 BuildRequires: asm
50 BuildRequires: concurrent
51 BuildRequires: dom4j
52 BuildRequires: geronimo-j2ee-management-1.0-api
53 BuildRequires: jarjar
54 BuildRequires: javassist
55 BuildRequires: jrexx
56 BuildRequires: piccolo
57 BuildRequires: qdox
58 BuildRequires: gnu.trove
59 BuildRequires: junitperf
60 Requires: concurrent
61 Requires: dom4j
62 Requires: javassist
63 Requires: jrexx
64 Requires: piccolo
65 Requires: qdox
66 Requires: gnu.trove
67 BuildArch: noarch
68 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
69
70 %description
71 AspectWerkz is a dynamic, lightweight and
72 high-performant AOP/AOSD framework for Java.
73 AspectWerkz utilizes runtime bytecode modification
74 to weave your classes at runtime. It hooks in and
75 weaves classes loaded by any class loader except
76 the bootstrap class loader. It has a rich join
77 point model. Aspects, advices and introductions
78 are written in plain Java and your target classes
79 can be regular POJOs. You have the possibility to
80 add, remove and re-structure advices as well as
81 swapping the implementation of your introductions at
82 runtime. Your aspects can be defined using either an
83 XML definition file or using Runtime Attributes.
84
85
86 %package javadoc
87 Summary: Javadoc for %{name}
88 Group: Development/Java
89
90 %description javadoc
91 %{summary}.
92
93 %package manual
94 Summary: Documents for %{name}
95 Group: Development/Java
96
97 %description manual
98 %{summary}.
99
100 %package demo
101 Summary: Samples for %{name}
102 Group: Development/Java
103
104 %description demo
105 %{summary}.
106
107 %prep
108 %setup -q -n %{name}-%{version}
109 %remove_java_binaries
110 chmod +x bin/aspectwerkz
111
112 %patch0 -b .sav
113 %patch1 -b .sav
114
115 # FIXME Remove the BEA JRockit specific code or it will only build on BEA JDK
116 # org/codehaus/aspectwerkz/extension/jrockit/JRockitPreProcessor.class
117 rm -fr src/extensions/org/codehaus/aspectwerkz/extension/jrockit
118
119 %build
120 export ASPECTWERKZ_HOME=$RPM_BUILD_DIR/%{name}-%{version}
121 build-jar-repository -s -p lib \
122 jarjar \
123 asm/asm \
124 asm/asm-attrs \
125 asm/asm-util \
126 dom4j \
127 gnu.trove \
128 concurrent \
129 j2ee-management \
130 junit \
131 jrexx \
132 javassist \
133 qdox \
134 piccolo \
135 junitperf \
136
137 export JAVA_HOME=%{_jvmdir}/java-icedtea
138 ant test cleandist
139
140 %install
141 rm -rf $RPM_BUILD_ROOT
142
143 # jars
144 mkdir -p $RPM_BUILD_ROOT%{_javadir}
145 cp -p target/%{name}-%{version}.jar \
146 $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
147 cp -p target/%{name}-core-%{version}.jar \
148 $RPM_BUILD_ROOT%{_javadir}/%{name}-core-%{version}.jar
149 cp -p target/%{name}-extensions-%{version}.jar \
150 $RPM_BUILD_ROOT%{_javadir}/%{name}-extensions-%{version}.jar
151 cp -p target/%{name}-jdk14-%{version}.jar \
152 $RPM_BUILD_ROOT%{_javadir}/%{name}-jdk14-%{version}.jar
153 cp -p target/%{name}-nodeps-%{version}.jar \
154 $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-%{version}.jar
155 cp -p target/%{name}-nodeps-jdk14-%{version}.jar \
156 $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-jdk14-%{version}.jar
157 (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
158 mkdir -p $RPM_BUILD_ROOT%{_bindir}
159 cp -p bin/aspectwerkz $RPM_BUILD_ROOT%{_bindir}
160
161
162 # javadoc
163 mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
164 cp -pr docs/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
165 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
166 rm -rf docs/apidocs
167
168 # demo
169 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
170 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
171 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/bin
172 # FIXME Can only build samples with a JDK 5
173 #cp -pr target/samples-classes/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
174 cp -pr src/samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
175
176 # manual
177 mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
178 cp -pr docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
179 cp -p LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
180
181 %clean
182 rm -rf $RPM_BUILD_ROOT
183
184 %post javadoc
185 rm -f %{_javadocdir}/%{name}
186 ln -s %{name}-%{version} %{_javadocdir}/%{name}
187
188 %postun javadoc
189 if [ "$1" = "0" ]; then
190 rm -f %{_javadocdir}/%{name}
191 fi
192
193 %files
194 %defattr(0644,root,root,0755)
195 %doc %{_docdir}/%{name}-%{version}/LICENSE.txt
196 %{_javadir}/*.jar
197 %attr(755, root, root) %{_bindir}/aspectwerkz
198
199 %files javadoc
200 %defattr(0644,root,root,0755)
201 %doc %{_javadocdir}/%{name}-%{version}
202 %doc %{_javadocdir}/%{name}
203
204 %files manual
205 %defattr(0644,root,root,0755)
206 %doc %{_docdir}/%{name}-%{version}
207
208 %files demo
209 %defattr(0644,root,root,0755)
210 %{_datadir}/%{name}-%{version}
211
212

  ViewVC Help
Powered by ViewVC 1.1.30