Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 5d6b0702b846f2a8fd93ff097e6c2387 > files > 7

maven-archetype-2.1-4.mga3.src.rpm

Name:           maven-archetype
Version:        2.1
Release:        %mkrel 4
Summary:        Maven project templating toolkit

Group:          Development/Java
License:        ASL 2.0
URL:            https://maven.apache.org/archetype/
Source0:        http://search.maven.org/remotecontent?filepath=org/apache/maven/archetype/%{name}/%{version}/%{name}-%{version}-source-release.zip

# custom depmap needed to resolve ant-antlr which doesn't have pom/depmap
Source1:        %{name}.depmap

Patch0:         0001-Use-component-metadata-instead-of-maven-plugin.patch
Patch1:         0002-Use-generics.patch
Patch2:         0003-Add-Maven-3-compatibility.patch
Patch3:         %{name}-fix-jetty-namespace.patch

BuildArch:      noarch

BuildRequires:  jpackage-utils
# we added test dep skipping there
BuildRequires:  maven > 3.0.3-13
BuildRequires:  maven-war-plugin
BuildRequires:  maven-dependency-plugin
BuildRequires:  maven-plugin-bundle
BuildRequires:  jchardet
BuildRequires:  plexus-containers-component-metadata

Requires:       jpackage-utils
Requires:       maven

Obsoletes:     %{name}2
Provides:      %{name}2 = %version-%release

%description
Archetype is a Maven project templating toolkit. An archetype is
defined as an original pattern or model from which all other things of
the same kind are made. The names fits as we are trying to provide a
system that provides a consistent means of generating Maven
projects. Archetype will help authors create Maven project templates
for users, and provides users with the means to generate parameterized
versions of those project templates.

Using archetypes provides a great way to enable developers quickly in
a way consistent with best practices employed by your project or
organization. Within the Maven project we use archetypes to try and
get our users up and running as quickly as possible by providing a
sample project that demonstrates many of the features of Maven while
introducing new users to the best practices employed by Maven. In a
matter of seconds a new user can have a working Maven project to use
as a jumping board for investigating more of the features in Maven. We
have also tried to make the Archetype mechanism additive and by that
we mean allowing portions of a project to be captured in an archetype
so that pieces or aspects of a project can be added to existing
projects. A good example of this is the Maven site archetype. If, for
example, you have used the quick start archetype to generate a working
project you can then quickly create a site for that project by using
the site archetype within that existing project. You can do anything
like this with archetypes.

You may want to standardize J2EE development within your organization
so you may want to provide archetypes for EJBs, or WARs, or for your
web services. Once these archetypes are created and deployed in your
organization's repository they are available for use by all developers
within your organization.


%package javadoc
Summary:        API documentation for %{name}
Group:          Development/Java
Requires:       jpackage-utils

%description    javadoc
%{summary}.

%package catalog
Summary:        Maven Archetype Catalog model
Group:          Development/Java
Requires:       jpackage-utils
Requires:       plexus-utils
Requires:       %{name} = %{version}-%{release}

%description catalog
%{summary}.

%package descriptor
Summary:        Maven Archetype Descriptor model
Group:          Development/Java
Requires:       jpackage-utils
Requires:       plexus-utils
Requires:       %{name} = %{version}-%{release}

%description descriptor
%{summary}.

%package registry
Summary:        Maven Archetype Registry model
Group:          Development/Java
Requires:       jpackage-utils
Requires:       plexus-utils
Requires:       %{name} = %{version}-%{release}

%description registry
%{summary}.

%package common
Summary:        Maven Archetype common classes
Group:          Development/Java
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-catalog = %{version}-%{release}
Requires:       %{name}-descriptor = %{version}-%{release}
Requires:       %{name}-registry = %{version}-%{release}
Requires:       jpackage-utils
Requires:       plexus-utils
Requires:       jchardet
Requires:       dom4j
Requires:       jdom
Requires:       maven-project
Requires:       plexus-containers-container-default
Requires:       apache-commons-io
Requires:       plexus-velocity

%description common
%{summary}.

%package packaging
Summary:        Maven Archetype packaging configuration for archetypes
Group:          Development/Java
Requires:       jpackage-utils
Requires:       %{name} = %{version}-%{release}

%description packaging
%{summary}.

%package -n %{name}-plugin
Summary:        Maven Plugin for using archetypes
Group:          Development/Java
Requires:       jpackage-utils
Requires:       plexus-utils
Requires:       apache-commons-collections
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-catalog = %{version}-%{release}
Requires:       %{name}-descriptor = %{version}-%{release}
Requires:       %{name}-registry = %{version}-%{release}

%description -n %{name}-plugin
%{summary}.

%prep
%setup -q 
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3

# Add OSGI info to catalog and descriptor jars
pushd archetype-models/archetype-catalog
    %pom_xpath_remove "pom:project/pom:packaging"
    %pom_xpath_inject "pom:project" "<packaging>bundle</packaging>"
    %pom_xpath_inject "pom:build/pom:plugins" "
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <_nouses>true</_nouses>
            <Export-Package>org.apache.maven.archetype.catalog.*</Export-Package>
          </instructions>
        </configuration>
      </plugin>"
popd
pushd archetype-models/archetype-descriptor
    %pom_xpath_remove "pom:project/pom:packaging"
    %pom_xpath_inject "pom:project" "<packaging>bundle</packaging>"
    %pom_xpath_inject "pom:build/pom:plugins" "
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <_nouses>true</_nouses>
            <Export-Package>org.apache.maven.archetype.metadata.*</Export-Package>
          </instructions>
        </configuration>
      </plugin>"
popd


%build
# we don't have cargo so skip tests for now
mvn-rpmbuild -X -Dmaven.test.skip=true \
             -Dmaven.local.depmap.file=%{SOURCE1} \
             install javadoc:aggregate

%install
# parent pom
install -Dpm 644 pom.xml \
    %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom

%add_maven_depmap JPP-%{name}.pom

for module in common packaging; do
    pushd archetype-$module
    install -Dpm 644 target/archetype-$module-%{version}.jar \
                     %{buildroot}%{_javadir}/%{name}/$module.jar
    install -Dpm 644 pom.xml \
            %{buildroot}%{_mavenpomdir}/JPP.%{name}-$module.pom

    %add_maven_depmap JPP.%{name}-$module.pom %{name}/$module.jar -f $module
    popd
done

pushd archetype-models
     install -Dpm 644 pom.xml \
                     %{buildroot}%{_mavenpomdir}/JPP-%{name}-models.pom

     %add_maven_depmap JPP-%{name}-models.pom

     for module in catalog descriptor registry;do
         pushd archetype-$module
         install -Dpm 644 target/archetype-$module-%{version}.jar \
                      %{buildroot}%{_javadir}/%{name}/$module.jar
         install -Dpm 644 pom.xml \
                      %{buildroot}%{_mavenpomdir}/JPP.%{name}-$module.pom

         %add_maven_depmap JPP.%{name}-$module.pom %{name}/$module.jar -f $module
         popd
     done
popd

pushd %{name}-plugin
install -Dpm 644 target/%{name}-plugin-%{version}.jar \
                 %{buildroot}%{_javadir}/%{name}/plugin.jar
install -Dpm 644 pom.xml \
        %{buildroot}%{_mavenpomdir}/JPP.%{name}-plugin.pom
%add_maven_depmap JPP.%{name}-plugin.pom %{name}/plugin.jar -f plugin
popd

# javadoc
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}
cp -rp target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}/



%files
%doc LICENSE NOTICE
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavenpomdir}/JPP-%{name}-models.pom
%{_mavendepmapfragdir}/%{name}
%dir %{_javadir}/%{name}

%files javadoc
%doc LICENSE
%{_javadocdir}/%{name}
%exclude %{_javadocdir}/%{name}/javadoc.sh

%files catalog
%{_mavendepmapfragdir}/%{name}-catalog
%{_mavenpomdir}/JPP.%{name}-catalog.pom
%{_javadir}/%{name}/catalog.jar

%files descriptor
%{_mavendepmapfragdir}/%{name}-descriptor
%{_mavenpomdir}/JPP.%{name}-descriptor.pom
%{_javadir}/%{name}/descriptor.jar

%files registry
%{_mavendepmapfragdir}/%{name}-registry
%{_mavenpomdir}/JPP.%{name}-registry.pom
%{_javadir}/%{name}/registry.jar

%files common
%{_mavendepmapfragdir}/%{name}-common
%{_mavenpomdir}/JPP.%{name}-common.pom
%{_javadir}/%{name}/common.jar

%files packaging
%{_mavendepmapfragdir}/%{name}-packaging
%{_mavenpomdir}/JPP.%{name}-packaging.pom
%{_javadir}/%{name}/packaging.jar

%files -n %{name}-plugin
%{_mavendepmapfragdir}/%{name}-plugin
%{_mavenpomdir}/JPP.%{name}-plugin.pom
%{_javadir}/%{name}/plugin.jar



%changelog

* Sat Jan 12 2013 umeabot <umeabot> 2.1-4.mga3
+ Revision: 359578
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Wed Sep 12 2012 dmorgan <dmorgan> 2.1-3.mga3
+ Revision: 292737
- Export only proper OSGI packages
- Do not generate "uses" OSGI clauses
- Fix jetty namespace
- Add OSGI info to catalog.jar

  + gil <gil>
    - build fix added new BR ant (depmap and pom file for ant-antlr)

* Mon Jan 09 2012 gil <gil> 2.1-2.mga2
+ Revision: 193722
- build fix added new BR jetty-maven-plugins
- increased release
- build fix
  changed ant groupid in archetype-common pom
  replaced plexus-maven-plugin with component-metadata in parent pom

* Sun Dec 25 2011 dmorgan <dmorgan> 2.1-1.mga2
+ Revision: 187586
- imported package maven-archetype