Blob Blame History Raw
%bcond_with     bootstrap
Name:           takari-lifecycle
Version:        1.13.4
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

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.maven.plugins:takari-plugin-testing)
BuildRequires:  mvn(io.takari:incrementalbuild)
BuildRequires:  mvn(io.takari:takari-archiver)
BuildRequires:  mvn(io.takari:takari:pom:)
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.tycho: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.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} .

# 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

%pom_change_dep -r org.eclipse.tycho:org.eclipse.jdt.core org.eclipse.jdt:org.eclipse.jdt.core
%pom_change_dep -r org.eclipse.tycho:org.eclipse.jdt.compiler.apt org.eclipse.jdt:org.eclipse.jdt.compiler.apt
%pom_add_dep org.eclipse:java9api:9 takari-lifecycle-plugin

%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>'
%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
* Sun Jan 28 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.13.4-1
- Update to upstream version 1.13.4

* Mon Nov 27 2017 Michael Simacek <msimacek@redhat.com> - 1.13.3-1
- Non-bootstrap build

* Sun Oct 22 2017 Michael Simacek <msimacek@redhat.com> - 1.13.3-0.1
- Update to upstream version 1.13.3

* Wed Aug 16 2017 Michael Simacek <msimacek@redhat.com> - 1.13.2-1
- Update to upstream version 1.13.2

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jul 03 2017 Michael Simacek <msimacek@redhat.com> - 1.12.6-1
- Update to upstream version 1.12.6

* Wed Jun 28 2017 Mat Booth <mat.booth@redhat.com> - 1.12.5-1
- Update to latest release for maven 3.5 support

* Wed Apr 05 2017 Michael Simacek <msimacek@redhat.com> - 1.12.4-1
- Update to upstream version 1.12.4

* Thu Feb 09 2017 Michael Simacek <msimacek@redhat.com> - 1.12.3-1
- Update to upstream version 1.12.3

* Mon Oct 31 2016 Michael Simacek <msimacek@redhat.com> - 1.12.2-1
- Update to upstream version 1.12.2

* Mon Sep 19 2016 Michael Simacek <msimacek@redhat.com> - 1.12.1-1
- Update to upstream version 1.12.1

* Mon Jul 18 2016 Michael Simacek <msimacek@redhat.com> - 1.12.0-3
- Enable tests

* Mon Jul 18 2016 Michael Simacek <msimacek@redhat.com> - 1.12.0-2
- Non-bootstrap build

* 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