Blob Blame History Raw
%global base_name  jci
%global short_name commons-%{base_name}
%global namedreltag %{nil}
%global namedversion %{version}%{?namedreltag}

Name:          apache-commons-jci
Version:       1.1
Release:       2%{?dist}
Summary:       Commons Java Compiler Interface
License:       ASL 2.0
URL:           http://commons.apache.org/jci/
Source0:       http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{namedversion}-src.tar.gz
Patch0:        %{name}-1.1-janino27.patch

BuildRequires: maven-local
BuildRequires: maven-antrun-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: ecj >= 3.4.2-13
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(org.apache.commons:commons-parent:pom:)
BuildRequires: mvn(org.codehaus.groovy:groovy)
BuildRequires: mvn(org.codehaus.janino:janino)
BuildRequires: mvn(rhino:js)

# test deps
BuildRequires: mvn(junit:junit)
BuildRequires: objectweb-asm3
BuildRequires: mvn(org.apache.commons:commons-lang3)

Requires:      %{name}-core = %{version}-%{release}
BuildArch:     noarch

#* 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
Summary:       Commons Java Compiler Interface - core

%description core
Commons JCI core interfaces and implementations.

%package fam
Summary:       Commons Java Compiler Interface - FAM

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

%package javadoc
Summary:       Javadoc for %{name}

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

# compilers

%package eclipse
Summary:       Commons Java Compiler Interface - eclipse

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

%package groovy
Summary:       Commons Java Compiler Interface - groovy

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

%package janino
Summary:       Commons Java Compiler Interface - janino

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

%package rhino
Summary:       Commons Java Compiler Interface - rhino

%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

# require old version of jdependency
%pom_disable_module examples

%pom_xpath_remove "pom:build/pom:extensions"

%pom_xpath_set "pom:properties/pom:maven.compiler.source" 1.6
%pom_xpath_set "pom:properties/pom:maven.compiler.target" 1.6

%pom_remove_plugin :cobertura-maven-plugin
%pom_remove_plugin :maven-assembly-plugin
%pom_remove_plugin :maven-site-plugin

%pom_xpath_set "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:artifactId" groovy
%pom_xpath_set "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:version" 1.8.9
%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:artifactId" groovy compilers/groovy
%pom_xpath_inject "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']" "<version>1.8.9</version>" compilers/groovy

# Fix installation directory      
%mvn_file :%{short_name}-core    %{short_name}/%{short_name}-core
%mvn_file :%{short_name}-fam     %{short_name}/%{short_name}-fam
%mvn_file :%{short_name}-eclipse %{short_name}/%{short_name}-eclipse
%mvn_file :%{short_name}-groovy  %{short_name}/%{short_name}-groovy
%mvn_file :%{short_name}-janino  %{short_name}/%{short_name}-janino
%mvn_file :%{short_name}-rhino   %{short_name}/%{short_name}-rhino

%build

# random tests failures
%mvn_build -s -- -Dmaven.test.failure.ignore=true

%install
%mvn_install

%files -f .mfiles-%{short_name}
%dir %{_javadir}/%{short_name}
%doc README.txt TODO.txt
%license LICENSE.txt NOTICE.txt

%files core -f .mfiles-%{short_name}-core

%files fam -f .mfiles-%{short_name}-fam

%files javadoc -f .mfiles-javadoc
%license LICENSE.txt NOTICE.txt

%files eclipse -f .mfiles-%{short_name}-eclipse

%files groovy -f .mfiles-%{short_name}-groovy

%files janino -f .mfiles-%{short_name}-janino

%files rhino -f .mfiles-%{short_name}-rhino

%changelog
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Feb 09 2015 gil cattaneo <puntogil@libero.it> 1.1-1
- Update to 1.1

* Thu Jan 29 2015 gil cattaneo <puntogil@libero.it> 1.0-14
- introduce license macro

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 1.0-12
- Use Requires: java-headless rebuild (#1067528)

* Thu Nov 14 2013 gil cattaneo <puntogil@libero.it> 1.0-11
- use objectweb-asm3

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sat Jun 29 2013 gil cattaneo <puntogil@libero.it> 1.0-9
- switch to XMvn, minor changes to adapt to current guideline

* Wed Jun 12 2013 Orion Poplawski <orion@cora.nwra.com> - 1.0-8
- Make main package own jar directory

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1.0-6
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local

* Wed Dec 12 2012 gil cattaneo <puntogil@libero.it> 1.0-5
- fix build for new ecj

* Thu Jul 19 2012 gil cattaneo <puntogil@libero.it> 1.0-4
- Add depmap file, force ecj use

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jun 15 2012 gil cattaneo <puntogil@libero.it> 1.0-2
- javadocs are installed in %%{_javadocdir}/%%{name}
- correct spelling errors
- fix requires

* Fri Apr 06 2012 gil cattaneo <puntogil@libero.it> 1.0-1
- initial rpm