packages java-annogen.spec
      Pages: < 1 >  DOWNLOAD      
Name:          java-annogen
Version:       0.1.1
Release:       2mamba
Summary:       Framework to help work with JSR175 Annotations
Group:         Development/Libraries/Java
Vendor:        openmamba
Distribution:  openmamba
Packager:      gil <puntogil@...>
#URL:           http://annogen.codehaus.org
URL:           http://backport-jsr166.sourceforge.net/index.php
# jsvn export https://svn.codehaus.org/annogen/annogen/tags/release-0_1_0 annogen-0.1.0
Source0:       annogen-%{version}-src-svn.tar.gz
Source1:       annogen-0.1.1.pom
Patch0:        java-annogen-0.1.0-nojdk1.5.patch
License:       Apache License Version 2.0, Creative Commons, Public Domain
BuildRequires: ant-findbugs
BuildRequires: antlr
BuildRequires: apache-ant
#BuildRequires: findbugs-bcel
BuildRequires: jakarta-bcel
BuildRequires: java-bea-stax
BuildRequires: java-bea-stax-api
BuildRequires: java-dom4j
BuildRequires: java-findbugs
BuildRequires: java-junit3
BuildRequires: java-qdox16
BuildRequires: xerces-j2
Requires:      antlr
Requires:      jakarta-bcel
Requires:      java-bea-stax-api
Requires:      java-bea-stax
Requires:      java-dom4j
Requires:      java-findbugs
Requires:      java-qdox16
Requires:      xerces-j2
Requires:      jpackage-utils
BuildRoot:     %{_tmppath}/%{name}-%{version}-root

%description
The Annogen tool helps you work with JSR175 annotations by generating a proxy layer
in front of your annotations. A new feature in JDK 1.5, JSR175 is a much needed
improvement to Java.

Use Annogen when you need to override JSR175 annotation values, migrate JDK1.4
code to JSR175 or work with popular introspection APIs. You can use it process
JSR175 annotation values so that they can be added, modified, or removed before
the framework that needs the values consumes them. Annogen accomplishes this
through the use of AnnoBeans which reflect the values as JSR175 requires, but gives
you the ability to change them.

%package javadoc
Group:          Documentation
Summary:        Javadoc for %{name}

%description javadoc
Annogen is a framework which helps you work with JSR175 Annotations.
In a nutshell, Annogen generates a proxy layer in front of your Annotations.

This package contains javadoc for %{name}.

%package manual
Group:          Documentation
Summary:        Manual for %{name}

%description manual
Annogen is a framework which helps you work with JSR175 Annotations.
In a nutshell, Annogen generates a proxy layer in front of your Annotations.

This package contains documentation for %{name}.

%prep

%setup -q -n annogen-%{version}
%patch0 -p1

for j in $(find . -name "*.jar"); do
	mv $j $j.no
done

pushd external
	pushd lib
		ln -sf $(build-classpath qdox16) qdox.jar
		ln -sf $(build-classpath antlr) antlr.jar
		ln -sf $(build-classpath antlr) parseview.jar
		ln -sf $(build-classpath antlr) antlr-runtime.jar
		ln -sf $(build-classpath bea-stax-ri) stax-impl.jar
		ln -sf $(build-classpath bea-stax-api) stax-api.jar
		ln -sf $(build-classpath junit-3.8.2) junit.jar
	popd
	pushd findbugs
		# mv plugin/coreplugin.jar plugin/coreplugin.jar.no
		ln -sf %{_datadir}/findbugs/plugin/fb-contrib-4.0.0.jar plugin/coreplugin.jar
		pushd lib

			ln -sf $(build-classpath bcel) bcel.jar
			ln -sf $(build-classpath findbugs) findbugs.jar
			ln -sf $(build-classpath findbugs) findbugsGUI.jar
			ln -sf $(build-classpath ant/ant-findbugs) findbugs-ant.jar
			ln -sf $(build-classpath dom4j) dom4j-full.jar
			ln -sf $(build-classpath junit-3.8.2) junit.jar
			ln -sf $(build-classpath xercesImpl) xercesImpl.jar
		popd
	popd
popd

%build

unset CLASSPATH
ant \
	-Dant.build.javac.source=1.4 \
	-Dant.build.javac.target=1.4 \
	distribution

%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"

mkdir -p %{buildroot}%{_javadir}
mkdir -p %{buildroot}%{_datadir}/maven2/poms

install -pm 644 build/distribution/annogen-%{version}.jar \
	%{buildroot}%{_javadir}/annogen-%{version}.jar

install -m 644 %{S:1} %{buildroot}%{_datadir}/maven2/poms/JPP-annogen.pom
%add_to_maven_depmap annogen annogen %{version} JPP annogen

(
	cd %{buildroot}%{_javadir}
	for jar in *-%{version}*; do 
		ln -s  ${jar} ${jar/-%{version}/};
	done
)

mkdir -p %{buildroot}%{_javadocdir}/annogen-%{version}/api
cp -a build/distribution/docs/annogen-api/* %{buildroot}%{_javadocdir}/annogen-%{version}/api
mkdir -p %{buildroot}%{_javadocdir}/annogen-%{version}/jam
cp -a build/distribution/docs/jam-api/* %{buildroot}%{_javadocdir}/annogen-%{version}/jam
ln -s annogen-%{version} %{buildroot}%{_javadocdir}/annogen
rm -rf build/distribution/docs/annogen-api
rm -rf build/distribution/docs/jam-api

sed -i "s|javadocs/annogen|%{_javadocdir}/annogen-%{version}/api|" build/distribution/docs/index.html
sed -i "s|javadocs/jam|%{_javadocdir}/annogen-%{version}/jam|" build/distribution/docs/index.html

%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"

%files
%defattr(-,root,root)
%{_javadir}/annogen-%{version}.jar
%{_javadir}/annogen.jar
%{_datadir}/maven2/poms
%{_mavendepmapfragdir}
%doc license/LICENSE.txt
%doc license/NOTICE.txt

%files javadoc
%defattr(-,root,root)
%{_javadocdir}/annogen-%{version}
%{_javadocdir}/annogen

%files manual
%defattr(-,root,root)
%doc build/distribution/docs/*

%changelog
* Thu Nov 25 2010 gil <puntogil@...> 0.1.1-2mamba
- ... add a changelog entry

* Tue Jan 12 2010 gil <puntogil@...> 0.1.1-1mamba
- package created by autospec