%global namedreltag -SNAPSHOT %global namedversion %{version}%{?namedreltag} Name: bcel5.3 Version: 5.3 Release: 1%{?dist} Summary: Byte code Engineering Library Group: Development/Libraries License: ASL 2.0 Url: http://commons.apache.org/bcel/ # svn co -r417157 https://svn.apache.org/repos/asf/commons/proper/bcel/trunk/ bcel5.3 # tar czf bcel5.3-src-svn.tar.gz bcel5.3 Source0: %{name}-src-svn.tar.gz BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: junit BuildRequires: regexp BuildRequires: maven BuildRequires: maven-compiler-plugin BuildRequires: maven-install-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-junit4 Requires: junit Requires: regexp Requires: java Requires: jpackage-utils BuildArch: noarch %description The Byte Code Engineering Library (formerly known as JavaClass) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular. Such objects can be read from an existing file, be transformed by a program (e.g. a class loader at run-time) and dumped to a file again. An even more interesting application is the creation of classes from scratch at run-time. The Byte Code Engineering Library (BCEL) may be also useful if you want to learn about the Java Virtual Machine (JVM) and the format of Java .class files. BCEL is already being used successfully in several projects such as compilers, optimizers, obsfuscators and analysis tools, the most popular probably being the Xalan XSLT processor at Apache. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name} # cleanup find . -name '*.class' -delete find . -name '*.jar' -delete # fix the source files contain characters outside of the ASCII set for s in src/main/java/org/apache/bcel/classfile/StackMap.java\ src/main/java/org/apache/bcel/classfile/StackMapEntry.java\ src/main/java/org/apache/bcel/classfile/Utility.java\ src/main/java/org/apache/bcel/generic/ObjectType.java\ src/main/java/org/apache/bcel/generic/ReferenceType.java\ src/main/java/org/apache/bcel/generic/ReturnaddressType.java\ src/main/java/org/apache/bcel/util/Class2HTML.java\ src/main/java/org/apache/bcel/verifier/GraphicalVerifier.java\ src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java\ src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java;do native2ascii -encoding UTF8 ${s} ${s} done # fix spurious executable perm chmod 644 NOTICE.txt %build mvn-rpmbuild -Dproject.build.sourceEncoding=UTF-8 install javadoc:aggregate %install mkdir -p %{buildroot}%{_javadir} install -m 644 target/bcel-%{namedversion}.jar \ %{buildroot}%{_javadir}/%{name}.jar # TODO # mkdir -p % {buildroot}% {_mavenpomdir} # install -pm 644 pom.xml % {buildroot}% {_mavenpomdir}/JPP-% {name}.pom # % a dd_maven_depmap JPP-% {name}.pom % {name}.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %files %{_javadir}/%{name}.jar # TODO # % {_mavenpomdir}/JPP*.pom # % {_mavendepmapfragdir}/% {name} %doc *.txt TODO.JustIce %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt %changelog * Fri May 25 2012 gil cattaneo 5.3-1 - initial rpm