Name: hawtdispatch
Version: 1.22
Release: 1
Summary: The libdispatch style API for Java
License: ASL 2.0
URL: https://github.com/fusesource/hawtdispatch/
Source0: https://github.com/fusesource/hawtdispatch/archive/%{name}-project-%{version}.tar.gz
BuildRequires: maven-local mvn(asm:asm-tree) mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.fusesource:fusesource-pom:pom:) mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(org.fusesource.hawtbuf:hawtbuf) mvn(org.osgi:org.osgi.compendium)
BuildRequires: mvn(org.osgi:org.osgi.core) mvn(org.scala-lang:scala-compiler)
BuildRequires: mvn(org.scala-lang:scala-library)
BuildArch: noarch
%description
HawtDispatch is a small (less than 100k) thread pooling and
NIO event notification framework API modeled after the
libdispatch API that Apple created to power the Grand Central
Dispatch (GCD) technology in OS X. It allows you to easily develop
multi-threaded applications without having to deal with the
problems that traditionally plague multi-threaded application
development.
This package provides the libdispatch style API for Java.
%package scala
Summary: The libdispatch style API for Scala
%description scala
HawtDispatch: The libdispatch style API for Scala.
%package transport
Summary: Transport abstractions for HawtDispatch
%description transport
HawtDispatch Transport: Transport abstractions for HawtDispatch.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{name}-project-%{version}
%pom_xpath_remove "pom:resourcesArtifacts"
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:dependencies"
%pom_xpath_remove "pom:Private-Package"
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration" \
"true" %{name}-transport
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions" \
'
org.fusesource.hawtdispatch.transport;version=${project.version},
org.fusesource.hawtdispatch.util;version=${project.version},
' %{name}-transport
%pom_xpath_remove "pom:Export-Package" %{name}-scala
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration" \
"true" %{name}-scala
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions" \
'
org.fusesource.hawtdispatch;version=${project.version},
' %{name}-scala
%pom_disable_module %{name}-example
%pom_disable_module %{name}-website
%pom_disable_module %{name}-scala-2.11
%pom_remove_plugin net.alchim31.maven:scala-maven-plugin %{name}-scala
%pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin:1.7 %{name}-scala '
compile
process-sources
run
org.scala-lang
scala-compiler
${scala-version}
'
%pom_remove_dep org.scalatest: %{name}-scala
%pom_xpath_set "pom:properties/pom:asm-version" 3 %{name}
%pom_xpath_set "pom:properties/pom:asm-version" 3 %{name}-transport
%pom_xpath_set "pom:properties/pom:log4j-version" 1.2.17
%pom_xpath_set "pom:properties/pom:log4j-version" 1.2.17 %{name}
%pom_xpath_set "pom:properties/pom:log4j-version" 1.2.17 %{name}-transport
%mvn_file :%{name} %{name}
%mvn_file :%{name}-transport %{name}-transport
%mvn_file :%{name}-scala %{name}-scala
%mvn_alias :%{name}-scala :%{name}-scala-2.11
%mvn_package ":%{name}-project" %{name}
rm -r hawtdispatch/src/test/java/org/fusesource/hawtdispatch/DispatchSourceTest.java
%build
%mvn_build -s
%install
%mvn_install
%files -f .mfiles-%{name}
%doc changelog.md readme.md
%license license.txt notice.md
%files scala -f .mfiles-%{name}-scala
%license license.txt notice.md
%files transport -f .mfiles-%{name}-transport
%license license.txt notice.md
%files javadoc -f .mfiles-javadoc
%license license.txt notice.md
%changelog
* Sat Aug 15 2020 Ge Wang - 1.22-1
- Package init