apache-commons-jci/apache-commons-jci.spec
2020-07-31 15:41:52 +08:00

119 lines
4.2 KiB
RPMSpec

%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: 1
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 maven-antrun-plugin maven-plugin-bundle ecj >= 3.4.2-13
BuildRequires: mvn(commons-logging:commons-logging) mvn(commons-io:commons-io)
BuildRequires: mvn(org.apache.commons:commons-parent:pom:) mvn(org.codehaus.groovy:groovy)
BuildRequires: mvn(org.codehaus.janino:janino) mvn(rhino:js)
BuildRequires: mvn(junit:junit) objectweb-asm3 mvn(org.apache.commons:commons-lang3)
Requires: %{name}-core = %{version}-%{release}
BuildArch: noarch
%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}.
%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
%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
%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
%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
* Fri Jul 24 2020 chengzihan <chengzihan2@huawei.com> - 1.1-1
- Package init