QqiegewalaPackage Init
124d6edc创建于 2020年3月10日历史提交
Name:           maven2
Version:        2.2.1
Release:        60
License:        ASL 2.0
Summary:        Software project management and comprehension tool
URL:            http://maven.apache.org
BuildArch:      noarch

Source0:        https://archive.apache.org/dist/maven/maven-2/2.2.1/source/apache-maven-2.2.1-src.tar.gz

Patch0001:      %{name}-%{version}-migrate-to-plexus-containers-container-default.patch

BuildRequires:  maven-local mvn(org.apache.maven:maven-parent:pom:) mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires:  mvn(org.apache.maven.plugins:maven-shade-plugin) mvn(org.apache.maven.wagon:wagon-provider-api)
BuildRequires:  mvn(org.codehaus.modello:modello-maven-plugin) mvn(org.codehaus.plexus:plexus-container-default)
BuildRequires:  mvn(org.codehaus.plexus:plexus-interpolation) mvn(org.codehaus.plexus:plexus-utils)

%description
Apache Maven is a Java project management and project comprehension tool.
Based on the concept of a project object model (POM),according to a central piece of
information, Maven can manage a project's build, reporting and documentation. 

%package        -n maven-artifact
Summary:        Maven artifact artifact

%description    -n maven-artifact
Compatibility Maven artifact manager artifact

%package        -n maven-model
Summary:        Maven model artifact

%description    -n maven-model
Compatibility Maven model artifact

%package        -n maven-artifact-manager
Summary:        Maven artifact manager artifact

%description    -n maven-artifact-manager
Compatibility Maven artifact manager artifact

%package        -n maven-monitor
Summary:        Maven monitor artifact

%description    -n maven-monitor
Compatibility Maven monitor artifact

%package        -n maven-toolchain
Summary:        Maven toolchain artifact

%description    -n maven-toolchain
Compatibility Maven toolchain artifact

%package        -n maven-settings
Summary:        Maven settings artifact

%description    -n maven-settings
Compatibility Maven settings artifact

%package        -n maven-plugin-descriptor
Summary:        Compatibility Maven Plugin Description Model

%description    -n maven-plugin-descriptor
Compatibility Maven plugin descriptor artifact

%package        -n maven-plugin-registry
Summary:        Maven plugin registry artifact

%description    -n maven-plugin-registry
Compatibility Maven plugin registry artifact

%package        -n maven-project
Summary:        Maven project artifact

%description    -n maven-project
Compatibility Maven project artifact

%package        -n maven-profile
Summary:        Maven profile artifact

%description    -n maven-profile
Compatibility Compatibility Maven profile artifact

%package        help
Summary:    Help documentation for %{name}
Provides:  %{name}-javadoc = %{version}-%{release}
Obsoletes: %{name}-javadoc < %{version}-%{release}

%description    help
Man pages and other related help documents for %{name}.

%prep
%autosetup -n apache-maven-%{version} -p1

for nobuild in apache-maven maven-artifact-test maven-compat maven-core maven-plugin-api \
               maven-plugin-parameter-documenter maven-reporting \
               maven-repository-metadata maven-script maven-error-diagnostics; do
    %pom_disable_module $nobuild
done

%mvn_package :maven __noinstall
%mvn_file ":{*}" maven/@1
%mvn_compat_version ":maven-{artifact,model,settings}" 2.0.2 2.0.6 2.0.7 2.0.8 2.2.1

%pom_remove_dep :backport-util-concurrent
%pom_remove_dep :backport-util-concurrent maven-artifact-manager
sed -i s/edu.emory.mathcs.backport.// `find -name DefaultArtifactResolver.java`

for pom in $(grep -l ">test<" $(find -name pom.xml | grep -v /test/)); do
    %pom_xpath_remove "pom:dependency[pom:scope[text()='test']]" $pom
done

%build
%mvn_build -f -s -- -P all-models

%install
%mvn_install

%files          -n maven-artifact -f .mfiles-maven-artifact
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-model -f .mfiles-maven-model
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-monitor -f .mfiles-maven-monitor
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-artifact-manager -f .mfiles-maven-artifact-manager
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-plugin-registry -f .mfiles-maven-plugin-registry
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-settings -f .mfiles-maven-settings
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-toolchain -f .mfiles-maven-toolchain
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-profile -f .mfiles-maven-profile
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-project -f .mfiles-maven-project
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files          -n maven-plugin-descriptor -f .mfiles-maven-plugin-descriptor
%license apache-maven/LICENSE.txt apache-maven/NOTICE.txt

%files help -f .mfiles-javadoc

%changelog
* Fri Dec 6 2019 wangzhishun <wangzhishun1@huawei.com> - 2.2.1-60
- Package init