takari-lifecycle/takari-lifecycle.spec
baizg1107 9ceabf9c6a License compliance rectification
(cherry picked from commit 9444bd4b5f5b21525ad62ef28550f17c3cc639a9)
2024-06-12 11:19:33 +08:00

139 lines
5.8 KiB
RPMSpec

%bcond_with bootstrap
Name: takari-lifecycle
Version: 1.13.6
Release: 3
Summary: Optimized replacement for the Maven default lifecycle
License: EPL-1.0 and ASL 2.0
URL: http://takari.io
BuildArch: noarch
Source0: https://github.com/takari/takari-lifecycle/archive/takari-lifecycle-%{version}.tar.gz
Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
Patch0: 0001-Port-to-mustache-java-0.9.1.patch
Patch1: 0002-Use-commons-codec-instead-of-takari-hash-in-tests.patch
Patch2: 0003-Adapt-to-ProjectDependencyGraph-API-change.patch
BuildRequires: maven maven-local mvn(com.github.spullara.mustache.java:compiler)
BuildRequires: mvn(com.google.code.gson:gson) mvn(com.google.guava:guava)
BuildRequires: mvn(com.squareup:javapoet) mvn(commons-codec:commons-codec)
BuildRequires: mvn(io.takari.builder:takari-builder)
BuildRequires: mvn(io.takari.m2e.workspace:org.eclipse.m2e.workspace.cli)
BuildRequires: mvn(io.takari.maven.plugins:takari-plugin-testing)
BuildRequires: mvn(io.takari:incrementalbuild) mvn(io.takari:takari-archiver)
BuildRequires: mvn(io.takari:takari:pom:) mvn(javax.inject:javax.inject) mvn(junit:junit)
BuildRequires: mvn(org.apache.commons:commons-exec)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.wagon:wagon-file)
BuildRequires: mvn(org.apache.maven:maven-aether-provider)
BuildRequires: mvn(org.apache.maven:maven-artifact) mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-model)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-repository-metadata)
BuildRequires: mvn(org.apache.maven:maven-settings) mvn(org.assertj:assertj-core)
BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin)
BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils) mvn(org.eclipse.aether:aether-api)
BuildRequires: mvn(org.eclipse.aether:aether-connector-basic)
BuildRequires: mvn(org.eclipse.aether:aether-impl) mvn(org.eclipse.aether:aether-spi)
BuildRequires: mvn(org.eclipse.aether:aether-transport-wagon)
BuildRequires: mvn(org.eclipse.aether:aether-util)
BuildRequires: mvn(org.eclipse.jdt:org.eclipse.jdt.compiler.apt)
BuildRequires: mvn(org.eclipse.jdt:org.eclipse.jdt.core)
BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus)
BuildRequires: mvn(org.eclipse.tycho:org.eclipse.osgi) mvn(org.hamcrest:hamcrest-core)
BuildRequires: mvn(org.ow2.asm:asm) mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple)
BuildRequires: mvn(org.sonatype.sisu:sisu-guice::no_aop:) mvn(xmlunit:xmlunit)
%if %{with bootstrap}
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin)
%else
BuildRequires: mvn(io.takari.maven.plugins:takari-lifecycle-plugin)
%endif
%description
Takari Maven Lifecycle includes an optimized replacement for the Maven
default lifecycle. The Takari Lifecycle Plugin is a Maven plugin with
a small set of dependencies that provides equivalent functionality to
five plugins with a large set of transitive dependencies. This
reduces the download times to retrieve the needed components as well
as the storage space requirements in your repositories.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package provides %{summary}.
%prep
%setup -q -n %{name}-%{name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
cp %{SOURCE1} .
ln -sf %{_javadir}/commons-lang.jar takari-lifecycle-plugin/src/test/jars/commons-lang-2.0.jar
%pom_disable_module takari-lifecycle-plugin-its
%pom_remove_plugin -r :animal-sniffer-maven-plugin
%pom_remove_plugin -r :license-maven-plugin
%pom_change_dep -r :takari-hash commons-codec:commons-codec::test
%pom_change_dep -r org.eclipse.platform:org.eclipse.osgi org.eclipse.osgi:
%pom_add_dep org.eclipse:java9api:9 takari-lifecycle-plugin
rm takari-lifecycle-plugin/src/test/java/io/takari/maven/plugins/compile/CompileIncrementalTest.java
rm takari-lifecycle-plugin/src/test/java/io/takari/maven/plugins/configurator/MojoConfigurationMergerTest.java
%if %{with bootstrap}
%pom_remove_parent
%pom_xpath_set pom:project/pom:packaging maven-plugin takari-lifecycle-plugin
%pom_add_plugin :maven-compiler-plugin '
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>'
%pom_add_plugin org.apache.maven.plugins:maven-plugin-plugin takari-lifecycle-plugin '
<executions>
<execution>
<id>mojo-descriptor</id>
<configuration>
<phase>process-classes</phase>
<packagingTypes>
<packaging>maven-plugin</packaging>
</packagingTypes>
</configuration>
<goals>
<goal>descriptor</goal>
</goals>
</execution>
</executions>'
%pom_add_plugin org.eclipse.sisu:sisu-maven-plugin takari-lifecycle-plugin '
<executions>
<execution>
<id>index-project</id>
<goals>
<goal>main-index</goal>
</goals>
</execution>
</executions>
'
%endif
%build
%mvn_build %{?with_bootstrap:-f} -- -Dproject.build.sourceEncoding=UTF-8 -e
%install
%mvn_install
%files -f .mfiles
%license LICENSE.txt LICENSE-2.0.txt
%doc README.md
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt LICENSE-2.0.txt
%changelog
* Mon May 9 2022 baizhonggui <baizhonggui@h-partners.com> - 1.13.6-3
- modify license identifier
* Feb Mar 01 2022 Ge Wang <wangge20@huawei.com> - 1.13.6-2
- disable testcase due to assertXpathEvaluatesTo became a restricted API
* Fri Aug 14 2020 maminjie <maminjie1@huawei.com> - 1.13.6-1
- package init