]> git.pld-linux.org Git - packages/aspectwerkz.git/blob - aspectwerkz.spec
- NFY
[packages/aspectwerkz.git] / aspectwerkz.spec
1 Summary:        AOP for Java
2 Name:           aspectwerkz
3 Version:        2.0
4 Release:        0.1
5 License:        BSD-style License
6 Group:          Development/Languages/Java
7 URL:            http://aspectwerkz.codehaus.org/
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 BuildRequires:  asm
13 BuildRequires:  concurrent
14 BuildRequires:  dom4j
15 BuildRequires:  gnu.trove
16 BuildRequires:  jakarta-ant >= 1.6
17 BuildRequires:  jarjar
18 BuildRequires:  java-1.4.2-bea
19 BuildRequires:  java-1.5.0-sun-devel
20 BuildRequires:  javassist
21 #BuildRequires: jpackage-utils >= 0:1.6
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
50 %package javadoc
51 Summary:        Javadoc for %{name}
52 Group:          Documentation
53
54 %description javadoc
55 %{summary}.
56
57 %package manual
58 Summary:        Documents for %{name}
59 Group:          Documentation
60
61 %description manual
62 %{summary}.
63
64 %package demo
65 Summary:        Samples for %{name}
66 Group:          Documentation
67
68 %description demo
69 %{summary}.
70
71 %prep
72 %setup -q
73 # remove all binary libs
74 for j in $(find . -name "*.jar"); do
75         mv $j $j.no
76 done
77 chmod +x bin/aspectwerkz
78
79 %patch0
80 %patch1
81
82 %build
83 export ASPECTWERKZ_HOME=$RPM_BUILD_DIR/%{name}-%{version}
84 build-jar-repository -s -p lib \
85 jarjar \
86 asm/asm \
87 asm/asm-attrs \
88 asm/asm-util \
89 dom4j \
90 gnu.trove \
91 concurrent \
92 junit \
93 jrexx \
94 javassist \
95 qdox \
96 piccolo \
97 junitperf \
98
99 ln -sf %{_prefix}/lib/jvm/java-1.4.2-bea/jre/lib/managementapi.jar lib
100 ln -sf %{_prefix}/lib/jvm/java-1.4.2-bea/jre/lib/managementserver.jar lib
101
102 export JAVA_HOME=%{_prefix}/lib/jvm/java-1.5.0
103 ant test cleandist
104 #export JAVA_HOME=%{_prefix}/lib/jvm/java-1.5.0
105 #ant test
106
107 %install
108 rm -rf $RPM_BUILD_ROOT
109
110 # jars
111 install -d $RPM_BUILD_ROOT%{_javadir}
112 cp -p target/%{name}-%{version}.jar \
113   $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
114 cp -p target/%{name}-core-%{version}.jar \
115   $RPM_BUILD_ROOT%{_javadir}/%{name}-core-%{version}.jar
116 cp -p target/%{name}-extensions-%{version}.jar \
117   $RPM_BUILD_ROOT%{_javadir}/%{name}-extensions-%{version}.jar
118 cp -p target/%{name}-jdk14-%{version}.jar \
119   $RPM_BUILD_ROOT%{_javadir}/%{name}-jdk14-%{version}.jar
120 cp -p target/%{name}-jdk5-%{version}.jar \
121   $RPM_BUILD_ROOT%{_javadir}/%{name}-jdk5-%{version}.jar
122 cp -p target/%{name}-nodeps-%{version}.jar \
123   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-%{version}.jar
124 cp -p target/%{name}-nodeps-jdk14-%{version}.jar \
125   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-jdk14-%{version}.jar
126 cp -p target/%{name}-nodeps-jdk5-%{version}.jar \
127   $RPM_BUILD_ROOT%{_javadir}/%{name}-nodeps-jdk5-%{version}.jar
128 (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
129 install -d $RPM_BUILD_ROOT%{_bindir}
130 cp -p bin/aspectwerkz $RPM_BUILD_ROOT%{_bindir}
131
132
133 # javadoc
134 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
135 cp -pr docs/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
136 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
137 rm -rf docs/apidocs
138
139 # demo
140 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
141 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
142 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/bin
143 cp -pr target/samples-classes/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/classes
144 cp -pr src/samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/src
145
146 # manual
147 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
148 cp -pr docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
149 cp -p LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
150
151 %clean
152 rm -rf $RPM_BUILD_ROOT
153
154 %post javadoc
155 rm -f %{_javadocdir}/%{name}
156 ln -s %{name}-%{version} %{_javadocdir}/%{name}
157
158 %postun javadoc
159 if [ "$1" = "0" ]; then
160         rm -f %{_javadocdir}/%{name}
161 fi
162
163 %files
164 %defattr(644,root,root,755)
165 %doc %{_docdir}/%{name}-%{version}/LICENSE.txt
166 %{_javadir}/*.jar
167 %attr(755, root, root) %{_bindir}/aspectwerkz
168
169 %files javadoc
170 %defattr(644,root,root,755)
171 %doc %{_javadocdir}/%{name}-%{version}
172 %ghost %{_javadocdir}/%{name}
173
174 %files manual
175 %defattr(644,root,root,755)
176 %doc %{_docdir}/%{name}-%{version}
177
178 %files demo
179 %defattr(644,root,root,755)
180 %{_datadir}/%{name}-%{version}
This page took 0.075445 seconds and 4 git commands to generate.