Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 728a473a6a9754cf4bb435ba560b662b > files > 8

apache-commons-jci-1.0-6.mga3.src.rpm

%global base_name  jci
%global short_name commons-%{base_name}
%global namedreltag %{nil}
%global namedversion %{version}%{?namedreltag}

Name:          apache-commons-jci
Version:       1.0
Epoch:         1
Release:       %mkrel 6
Summary:       Commons Java Compiler Interface
Group:         Development/Java
License:       ASL 2.0
URL:           http://commons.apache.org/jci/
Source0:       ftp://ftp.gbnet.net/pub/apache/dist/commons/%{base_name}/source/%{short_name}-%{namedversion}-src.tar.gz
# force ecj 4.x use
Source1:       %{name}-%{namedversion}-depmap
# fix parent relative path
# fix groovy gId and aId
# add org.codehaus.janino commons-compiler
# remove org.codehaus.mojo findbugs-maven-plugin 1.0.0
Patch0:        %{name}-%{namedversion}-fixbuild.patch
# asm 3 test build
Patch1:        %{name}-%{namedversion}-ExtendedDump.patch
Patch2:        %{name}-%{namedversion}-SimpleDump.patch
# fix parent relative path
# remove jetty-maven-plugin
# use tomcat 7.x apis
Patch3:        %{name}-%{namedversion}-examples-pom.patch

Patch4:        %{name}-%{namedversion}-janino26.patch
Patch5:        %{name}-%{namedversion}-ecj4.patch

BuildRequires: java-devel
BuildRequires: jpackage-utils

BuildRequires: maven
BuildRequires: maven-antrun-plugin
BuildRequires: maven-compiler-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: maven-plugin-cobertura
BuildRequires: maven-resources-plugin
BuildRequires: maven-site-plugin
BuildRequires: maven-surefire-plugin
BuildRequires: maven-surefire-provider-junit4

BuildRequires: apache-commons-logging
BuildRequires: apache-commons-io
BuildRequires: ecj >= 3.4.2
BuildRequires: groovy
BuildRequires: janino
BuildRequires: rhino
BuildRequires: codehaus-parent

# test deps
BuildRequires: apache-commons-lang
BuildRequires: junit
BuildRequires: objectweb-asm

Requires:      %{name}-core = %{epoch}:%{version}-%{release}

Requires:      java
Requires:      jpackage-utils
BuildArch:     noarch

#* javac Commons JCI compiler implementation for the javac compiler (up to JDK 1.5).
#* jsr199 Commons JCI compiler implementation for JDK 1.6 and up.

%description
JCI is a java compiler interface featuring a compiling class loader.
The current implementation supports compilation via the following
compilers:

* eclipse
* groovy
* janino
* rhino

%package core
Group:         Development/Java
Summary:       Commons Java Compiler Interface - core
Requires:      apache-commons-io
Requires:      %{name}-fam = %{epoch}:%{version}-%{release}

%description core
Commons JCI core interfaces and implementations.

%package fam
Group:         Development/Java
Summary:       Commons Java Compiler Interface - FAM
Requires:      apache-commons-logging
Requires:      %{name} = %{epoch}:%{version}-%{release}

%description fam
Commons JCI FileAlterationMonitor (FAM) to
monitor local file systems and get notified
about changes.

%package javadoc
Group:         Development/Java
Summary:       Javadoc for %{name}
Requires:      jpackage-utils

%description javadoc
This package contains javadoc for %{name}.

# compilers

%package eclipse
Group:         Development/Java
Summary:       Commons Java Compiler Interface - eclipse
Requires:      ecj >= 3.4.2
Requires:      %{name} = %{epoch}:%{version}-%{release}

%description eclipse
Commons JCI compiler implementation for the eclipse compiler.

%package groovy
Group:         Development/Java
Summary:       Commons Java Compiler Interface - groovy
Requires:      groovy
Requires:      %{name}-core = %{epoch}:%{version}-%{release}

%description groovy
Commons JCI compiler implementation for the groovy compiler.

%package janino
Group:         Development/Java
Summary:       Commons Java Compiler Interface - janino
Requires:      janino
Requires:      %{name}-core = %{epoch}:%{version}-%{release}

%description janino
Commons JCI compiler implementation for the janino compiler.

%package rhino
Group:         Development/Java
Summary:       Commons Java Compiler Interface - rhino
Requires:      rhino
Requires:      %{name}-core = %{epoch}:%{version}-%{release}

%description rhino
Commons JCI compiler implementation for rhino JavaScript.

%prep
%setup -q -n %{short_name}-%{namedversion}-src
find . -name "*.class" -delete
find . -name "*.jar" -delete

%patch0 -p1
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p1
%patch5 -p0

# TODO
# require old version of jdependency
sed -i "s|<module>compilers/javac</module>|<!--module>compilers/javac</module-->|" pom.xml

sed -i "s|<module>examples</module>|<!--module>examples</module-->|" pom.xml

%build

# random tests failures
mvn-rpmbuild \
  -Dmaven.test.failure.ignore=true \
  -Dmaven.local.depmap.file="%{SOURCE1}" \
  install javadoc:aggregate

%install

mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-parent.pom
%add_maven_depmap JPP.%{short_name}-parent.pom

mkdir -p %{buildroot}%{_javadir}/%{short_name}
for m in core \
  fam;do
    install -m 644 ${m}/target/%{short_name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-${m}.jar
    install -pm 644 ${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-${m}.pom
    %add_maven_depmap -f ${m} JPP.%{short_name}-%{short_name}-${m}.pom %{short_name}/%{short_name}-${m}.jar
done

# TODO
#  javac
for mc in eclipse \
  janino \
  groovy \
  rhino;do
    install -m 644 compilers/${mc}/target/%{short_name}-${mc}-%{namedversion}.jar %{buildroot}%{_javadir}/%{short_name}/%{short_name}-${mc}.jar
    install -pm 644 compilers/${mc}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-${mc}.pom
    %add_maven_depmap  -f ${mc} JPP.%{short_name}-%{short_name}-${mc}.pom %{short_name}/%{short_name}-${mc}.jar
done

mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}

%files
%{_mavenpomdir}/JPP.%{short_name}-parent.pom
%{_mavendepmapfragdir}/%{name}
%doc LICENSE.txt NOTICE.txt README.txt TODO.txt

%files core
%{_javadir}/%{short_name}/%{short_name}-core.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-core.pom
%{_mavendepmapfragdir}/%{name}-core

%files fam
%{_javadir}/%{short_name}/%{short_name}-fam.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-fam.pom
%{_mavendepmapfragdir}/%{name}-fam

%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE.txt NOTICE.txt

%files eclipse
%{_javadir}/%{short_name}/%{short_name}-eclipse.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-eclipse.pom
%{_mavendepmapfragdir}/%{name}-eclipse

%files groovy
%{_javadir}/%{short_name}/%{short_name}-groovy.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-groovy.pom
%{_mavendepmapfragdir}/%{name}-groovy

%files janino
%{_javadir}/%{short_name}/%{short_name}-janino.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-janino.pom
%{_mavendepmapfragdir}/%{name}-janino

%files rhino
%{_javadir}/%{short_name}/%{short_name}-rhino.jar
%{_mavenpomdir}/JPP.%{short_name}-%{short_name}-rhino.pom
%{_mavendepmapfragdir}/%{name}-rhino



%changelog

* Fri Jan 11 2013 umeabot <umeabot> 1:1.0-6.mga3
+ Revision: 345747
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sun Dec 23 2012 pterjan <pterjan> 1:1.0-5.mga3
+ Revision: 334380
- Add Fedora patch fixing build with ecj4

* Sun Sep 09 2012 dmorgan <dmorgan> 1:1.0-4.mga3
+ Revision: 290742
- Revert to version 1.0 ( sync with fedora)

* Thu Oct 27 2011 gil <gil> 1.1-1.mga2
+ Revision: 158837
- imported package apache-commons-jci