%global base_name javaflow %global short_name commons-%{base_name} %global namedreltag -SNAPSHOT %global namedversion %{version}%{?namedreltag} Name: apache-commons-javaflow Version: 1.0 Release: 2 Summary: Commons Javaflow License: ASL 2.0 Url: http://commons.apache.org/sandbox/javaflow/ # svn export http://svn.apache.org/repos/asf/commons/sandbox/javaflow/trunk/ commons-javaflow-1.0-SNAPSHOT # tar czf commons-javaflow-1.0-SNAPSHOT-src-svn.tar.gz commons-javaflow-1.0-SNAPSHOT Source0: %{short_name}-%{namedversion}-src-svn.tar.gz BuildRequires: mvn(asm:asm) mvn(asm:asm-analysis) mvn(asm:asm-commons) mvn(asm:asm-tree) BuildRequires: mvn(asm:asm-util) mvn(commons-io:commons-io) BuildRequires: mvn(commons-logging:commons-logging) mvn(junit:junit) BuildRequires: mvn(junit-addons:junit-addons) mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.bcel:bcel) mvn(org.apache.commons:commons-jci-core) maven-local BuildArch: noarch %description Sometimes it is useful if we can capture the state of the application, its stack of function calls, which includes local variables, the global variables and the program counter, and save them into an object. If this object would give us the ability to restart the processing from the point stored in it. A continuation is exactly the type of object that we need. Think of a continuation as an object that, for a given point in your program, contains a snapshot of the stack trace, including all the local variables, and the program counter. You can not only store these things in the continuation object, but also restore the execution of the program from a continuation object. This means that the stack trace and the program counter of the running program become the ones stored in a continuation. Continuations are powerful concepts from the world of functional languages, like Scheme, but they are becoming popular in other languages as well. %package ant Summary: Development files for Commons Javaflow Requires: ant %{name} = %{version}-%{release} %description ant This package enables support for the Commons Javaflow ant tasks. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{short_name}-%{namedversion} find . -name "*.class" -delete find . -name "*.jar" -delete %pom_remove_parent %pom_xpath_inject "pom:project" "org.apache.commons" %pom_xpath_inject "pom:dependencies/pom:dependency[pom:artifactId = 'ant' ]" "provided" %mvn_file :%{short_name} %{name} %mvn_file :%{short_name} %{short_name} %build %mvn_build -- -Dproject.build.sourceEncoding=UTF-8 %install %mvn_install mkdir -p %{buildroot}%{_sysconfdir}/ant.d echo "ant %{short_name}" > %{short_name} install -p -m 644 %{short_name} %{buildroot}%{_sysconfdir}/ant.d/%{short_name} %files -f .mfiles %doc CREDITS.txt TODO.txt %license LICENSE.txt NOTICE.txt %files javadoc -f .mfiles-javadoc %license LICENSE.txt NOTICE.txt %files ant %config(noreplace) %{_sysconfdir}/ant.d/%{short_name} %changelog * Wed Sep 2 2020 chengzihan - 1.0-2 - Change tarball * Sat Aug 15 2020 chengzihan - 1.0-1 - Package init