Blob Blame History Raw
%bcond_without  bootstrap
Name:           takari-lifecycle
Version:        1.12.0
Release:        1%{?with_bootstrap:.boot}%{?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 and ASL 2.0
URL:            http://takari.io
BuildArch:      noarch

Source0:        https://github.com/takari/%{name}/archive/%{name}-%{version}.tar.gz
Source1:        http://www.apache.org/licenses/LICENSE-2.0.txt

# ProblemFactory class is not exported by JDT
Patch0:         0001-Use-DefaultProblemFactory.patch
Patch1:         0002-Port-to-mustache-java-0.9.1.patch
Patch2:         0003-Fix-JDT-compatibility.patch
Patch3:         0004-Use-commons-codec-instead-of-takari-hash-in-tests.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(io.takari:incrementalbuild)
BuildRequires:  mvn(io.takari.m2e.workspace:org.eclipse.m2e.workspace.cli)
BuildRequires:  mvn(io.takari:takari-archiver)
BuildRequires:  mvn(javax.inject:javax.inject)
BuildRequires:  mvn(org.apache.commons:commons-exec)
BuildRequires:  mvn(org.apache.maven:maven-artifact)
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.apache.maven.plugin-tools:maven-plugin-annotations)
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-util)
BuildRequires:  mvn(org.eclipse.sisu:org.eclipse.sisu.plexus)
BuildRequires:  mvn(org.eclipse.tycho:org.eclipse.jdt.compiler.apt)
BuildRequires:  mvn(org.eclipse.tycho:org.eclipse.jdt.core)
BuildRequires:  mvn(org.eclipse.tycho:org.eclipse.osgi)
BuildRequires:  mvn(org.slf4j:slf4j-api)
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)
%else
BuildRequires:  mvn(io.takari.maven.plugins:takari-lifecycle-plugin)
BuildRequires:  mvn(io.takari:takari:pom:)
%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
%patch3 -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

%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

%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 '
<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>'
%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
* Mon Jul 18 2016 Michael Simacek <msimacek@redhat.com> - 1.12.0-1
- Update to upstream version 1.12.0

* Mon Feb 15 2016 Michael Simacek <msimacek@redhat.com> - 1.11.11-1
- Non-bootstrap build

* Mon Feb 15 2016 Michael Simacek <msimacek@redhat.com> - 1.11.11-0.1
- Update to upstream version 1.11.11
- Bootstrap build

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Nov 30 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11.3-3
- Port to mustache-java 0.9.1

* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Apr 22 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11.3-1
- Update to upstream version 1.11.3

* Thu Mar 12 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.10.2-4
- Non-bootstrap bulid

* Thu Mar 12 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.10.2-3
- Replace bundled test dependency with symlink to system JAR
- Add Apache license text

* Fri Mar 06 2015 Michael Simacek <msimacek@redhat.com> - 1.10.2-2
- Working build

* Fri Feb 20 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.10.2-1
- Initial packaging