1 |
Name: janino |
2 |
Version: 3.1.7 |
3 |
Release: %mkrel 1 |
4 |
Group: Development/Java |
5 |
Summary: Super-small, super-fast Java compiler |
6 |
License: BSD |
7 |
URL: https://janino-compiler.github.io/janino |
8 |
BuildArch: noarch |
9 |
#ExclusiveArch: %%{java_arches} noarch |
10 |
|
11 |
Source0: https://github.com/janino-compiler/janino/archive/%{version}/%{name}-%{version}.tar.gz |
12 |
|
13 |
BuildRequires: maven-local |
14 |
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) |
15 |
BuildRequires: mvn(junit:junit) |
16 |
BuildRequires: mvn(org.apache.ant:ant) |
17 |
|
18 |
Requires: javapackages-tools |
19 |
Requires: commons-compiler = %{version}-%{release} |
20 |
|
21 |
%description |
22 |
Janino is a super-small, super-fast Java compiler. |
23 |
|
24 |
The "JANINO" implementation of the "commons-compiler" API: Super-small, |
25 |
super-fast, independent from the JDK's "tools.jar". |
26 |
|
27 |
%package -n commons-compiler |
28 |
Summary: Commons Compiler |
29 |
%description -n commons-compiler |
30 |
The "commons-compiler" API, including the "IExpressionEvaluator", |
31 |
"IScriptEvaluator", "IClassBodyEvaluator" and "ISimpleCompiler" interfaces. |
32 |
|
33 |
%package -n commons-compiler-jdk |
34 |
Summary: Commons Compiler JDK |
35 |
%description -n commons-compiler-jdk |
36 |
The "JDK" implementation of the "commons-compiler" API that uses the |
37 |
JDK's Java compiler (JAVAC) in "tools.jar". |
38 |
|
39 |
%package javadoc |
40 |
Summary: API documentation for %{name} |
41 |
%description javadoc |
42 |
API documentation for %{name}. |
43 |
|
44 |
%prep |
45 |
%autosetup |
46 |
# delete precompiled jar and class files |
47 |
find -type f '(' -iname '*.jar' -o -iname '*.class' ')' -print -delete |
48 |
|
49 |
cd %{name}-parent |
50 |
# remove maven.compiler.* properties |
51 |
%pom_xpath_remove pom:maven.compiler.source |
52 |
%pom_xpath_remove pom:maven.compiler.target |
53 |
%pom_xpath_remove pom:maven.compiler.executable |
54 |
%pom_xpath_remove pom:maven.compiler.fork |
55 |
# remove staging maven plugin |
56 |
%pom_remove_plugin :nexus-staging-maven-plugin |
57 |
# remove jarsigner plugin |
58 |
%pom_remove_plugin :maven-jarsigner-plugin |
59 |
# remove javadoc plugin: |
60 |
# - don't build *-javadoc.jar |
61 |
%pom_remove_plugin :maven-javadoc-plugin |
62 |
# remove source plugin: |
63 |
# - don't build *-sources.jar |
64 |
%pom_remove_plugin :maven-source-plugin |
65 |
# disable tests module |
66 |
%pom_disable_module ../commons-compiler-tests |
67 |
# don't install parent |
68 |
%mvn_package :%{name}-parent __noinstall |
69 |
cd - |
70 |
|
71 |
%build |
72 |
|
73 |
cd %{name}-parent |
74 |
%mvn_build -s -- -Dmaven.compiler.source=8 -Dmaven.compiler.target=8 |
75 |
cd - |
76 |
|
77 |
%install |
78 |
|
79 |
cd %{name}-parent |
80 |
%mvn_install |
81 |
# create janinoc script |
82 |
%jpackage_script org.codehaus.commons.compiler.samples.CompilerDemo "" "" %{name}/janino:%{name}/commons-compiler janinoc true |
83 |
cd - |
84 |
|
85 |
%files -f %{name}-parent/.mfiles-%{name} |
86 |
%license LICENSE |
87 |
%{_bindir}/janinoc |
88 |
|
89 |
%files -n commons-compiler -f %{name}-parent/.mfiles-commons-compiler |
90 |
%license LICENSE |
91 |
%files -n commons-compiler-jdk -f %{name}-parent/.mfiles-commons-compiler-jdk |
92 |
%license LICENSE |
93 |
%files javadoc -f %{name}-parent/.mfiles-javadoc |
94 |
%license LICENSE |
95 |
|
96 |
|