%bcond_with bootstrap
Name: takari-lifecycle
Version: 1.13.9
Release: 4%{?dist}
Summary: Optimized replacement for the Maven default lifecycle
# Everything is under EPL, but one file (AetherUtils.java) is under both EPL and ASL 2.0
License: EPL-1.0 and ASL 2.0
URL: http://takari.io
BuildArch: noarch
# Upstream Eclipse no longer supports non-64bit arches
ExcludeArch: s390 %{arm} %{ix86}
Source0: https://github.com/takari/%{name}/archive/%{name}-%{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-local
BuildRequires: mvn(com.github.spullara.mustache.java:compiler)
BuildRequires: mvn(com.google.code.gson:gson)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(com.squareup:javapoet)
BuildRequires: 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:incrementalbuild)
BuildRequires: mvn(io.takari:takari-archiver)
BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: 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)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: 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)
BuildRequires: 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)
BuildRequires: mvn(org.eclipse.aether:aether-api)
BuildRequires: mvn(org.eclipse.aether:aether-connector-basic)
BuildRequires: mvn(org.eclipse.aether:aether-impl)
BuildRequires: 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.platform:org.eclipse.osgi)
BuildRequires: mvn(org.hamcrest:hamcrest-core)
BuildRequires: mvn(org.ow2.asm:asm)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-simple)
BuildRequires: mvn(org.sonatype.sisu:sisu-guice::no_aop:)
BuildRequires: 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:takari:pom:)
BuildRequires: mvn(io.takari.maven.plugins:takari-lifecycle-plugin)
BuildRequires: mvn(io.takari.maven.plugins:takari-plugin-testing)
%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} .
# Replace bundled test dependency with symlink to system JAR
ln -sf %{_javadir}/commons-lang.jar takari-lifecycle-plugin/src/test/jars/commons-lang-2.0.jar
# XXX skip ITs for now
%pom_disable_module takari-lifecycle-plugin-its
# Unnecessary plugins for RPM builds
%pom_remove_plugin -r :animal-sniffer-maven-plugin
%pom_remove_plugin -r :license-maven-plugin
# changed by patch
%pom_change_dep -r :takari-hash commons-codec:commons-codec::test
# FIXME failing test
rm takari-lifecycle-plugin/src/test/java/io/takari/maven/plugins/compile/CompileIncrementalTest.java
%if %{with bootstrap}
# Bootstrap build
%pom_remove_parent
%pom_xpath_set pom:project/pom:packaging maven-plugin takari-lifecycle-plugin
%pom_add_plugin :maven-compiler-plugin '
1.8
'
%pom_add_plugin org.apache.maven.plugins:maven-plugin-plugin takari-lifecycle-plugin '
mojo-descriptor
process-classes
maven-plugin
descriptor
'
%pom_add_plugin org.eclipse.sisu:sisu-maven-plugin takari-lifecycle-plugin '
index-project
main-index
'
%endif
%build
%mvn_build -f -- -Dproject.build.sourceEncoding=UTF-8
%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
* Sat Jun 01 2019 Mat Booth - 1.13.9-4
- Fix BR on equinox
* Fri May 03 2019 Mat Booth - 1.13.9-3
- Restrict to same architectures as Eclipse itself
* Thu May 02 2019 Mat Booth - 1.13.9-2
- Compile with JDT for second bootstrap build
* Wed Feb 20 2019 Mat Booth - 1.13.9-1
- Update to latest upstream release
- Fix license tag
- Fix bootstrapping mode
* Sun Feb 03 2019 Fedora Release Engineering - 1.13.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jul 23 2018 Michael Simacek - 1.13.6-1
- Update to upstream version 1.13.6
* Sat Jul 14 2018 Fedora Release Engineering - 1.13.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering - 1.13.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 28 2018 Mikolaj Izdebski - 1.13.4-1
- Update to upstream version 1.13.4
* Mon Nov 27 2017 Michael Simacek - 1.13.3-1
- Non-bootstrap build
* Sun Oct 22 2017 Michael Simacek - 1.13.3-0.1
- Update to upstream version 1.13.3
* Wed Aug 16 2017 Michael Simacek - 1.13.2-1
- Update to upstream version 1.13.2
* Thu Jul 27 2017 Fedora Release Engineering - 1.12.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Michael Simacek - 1.12.6-1
- Update to upstream version 1.12.6
* Wed Jun 28 2017 Mat Booth - 1.12.5-1
- Update to latest release for maven 3.5 support
* Wed Apr 05 2017 Michael Simacek - 1.12.4-1
- Update to upstream version 1.12.4
* Thu Feb 09 2017 Michael Simacek - 1.12.3-1
- Update to upstream version 1.12.3
* Mon Oct 31 2016 Michael Simacek - 1.12.2-1
- Update to upstream version 1.12.2
* Mon Sep 19 2016 Michael Simacek - 1.12.1-1
- Update to upstream version 1.12.1
* Mon Jul 18 2016 Michael Simacek - 1.12.0-3
- Enable tests
* Mon Jul 18 2016 Michael Simacek - 1.12.0-2
- Non-bootstrap build
* Mon Jul 18 2016 Michael Simacek - 1.12.0-1
- Update to upstream version 1.12.0
* Mon Feb 15 2016 Michael Simacek - 1.11.11-1
- Non-bootstrap build
* Mon Feb 15 2016 Michael Simacek - 1.11.11-0.1
- Update to upstream version 1.11.11
- Bootstrap build
* Fri Feb 05 2016 Fedora Release Engineering - 1.11.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Nov 30 2015 Mikolaj Izdebski - 1.11.3-3
- Port to mustache-java 0.9.1
* Fri Jun 19 2015 Fedora Release Engineering - 1.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Apr 22 2015 Mikolaj Izdebski - 1.11.3-1
- Update to upstream version 1.11.3
* Thu Mar 12 2015 Mikolaj Izdebski - 1.10.2-4
- Non-bootstrap bulid
* Thu Mar 12 2015 Mikolaj Izdebski - 1.10.2-3
- Replace bundled test dependency with symlink to system JAR
- Add Apache license text
* Fri Mar 06 2015 Michael Simacek - 1.10.2-2
- Working build
* Fri Feb 20 2015 Mikolaj Izdebski - 1.10.2-1
- Initial packaging