Sync from SUSE:ALP:Source:Standard:1.0 maven-resources-plugin revision 624becd52ce433ee2214296ba74ebae8

This commit is contained in:
Adrian Schröter 2024-02-19 15:46:27 +01:00
commit b797668df0
7 changed files with 1845 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>bootstrap</package>
</multibuild>

BIN
maven-resources-plugin-3.3.1-source-release.zip (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="maven-resources-plugin" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.name" value="Apache Maven Resources Plugin"/>
<!-- not used in this build.xml file, but used for filtering the bootstrap resources -->
<property name="project.description"
value="The Resources Plugin handles the copying of project resources to the output
directory. There are two different kinds of resources: main resources and test resources. The
difference is that the main resources are the resources associated with the main
source code while the test resources are associated with the test source code.
Thus, this allows the separation of resources for the main source code and its
unit tests."/>
<property name="project.groupId" value="org.apache.maven.plugins"/>
<property name="project.artifactId" value="maven-resources-plugin"/>
<property name="project.version" value="3.3.1"/>
<property name="project.organization.name" value="The Apache Software Foundation"/>
<property name="spec.version" value="3.3"/>
<property name="compiler.source" value="1.8"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.resourceDir" value="src/main/filtered-resources"/>
<property name="build.testOutputDir" value="${build.dir}/test-classes"/>
<property name="build.testDir" value="src/test/java"/>
<property name="build.testResourceDir" value="src/test/resources"/>
<property name="test.reports" value="${build.dir}/test-reports"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="build.test.classpath">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
nowarn="false"
debug="true"
encoding="UTF-8"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<copy todir="${build.outputDir}">
<fileset dir="${build.resourceDir}"/>
<filterchain>
<expandproperties>
<propertyset>
<propertyref name="project.name"/>
<propertyref name="project.version"/>
<propertyref name="project.groupId"/>
<propertyref name="project.artifactId"/>
<propertyref name="project.description"/>
</propertyset>
</expandproperties>
</filterchain>
</copy>
<mkdir dir="${build.outputDir}/META-INF/maven/${project.groupId}/${project.artifactId}"/>
<propertyfile file="${build.outputDir}/META-INF/maven/${project.groupId}/${project.artifactId}/pom.properties">
<entry key="artifactId" value="${project.artifactId}"/>
<entry key="groupId" value="${project.groupId}"/>
<entry key="version" value="${project.version}"/>
</propertyfile>
<copy file="pom.xml" tofile="${build.outputDir}/META-INF/maven/${project.groupId}/${project.artifactId}/pom.xml"/>
</target>
<!-- ====================================================================== -->
<!-- Test-compilation target -->
<!-- ====================================================================== -->
<target name="compile-tests"
depends="compile"
description="Compile the test code"
unless="test.skip">
<mkdir dir="${build.testOutputDir}"/>
<javac destdir="${build.testOutputDir}"
nowarn="false"
debug="true"
encoding="UTF-8"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.testDir}"/>
</src>
<classpath>
<path refid="build.test.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
<copy todir="${build.testOutputDir}">
<fileset dir="${build.testResourceDir}"/>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Run all tests -->
<!-- ====================================================================== -->
<target name="test"
depends="compile-tests, junit-missing"
unless="junit.skipped"
description="Run the test cases">
<mkdir dir="${test.reports}"/>
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
<sysproperty key="basedir" value="."/>
<formatter type="xml"/>
<formatter type="plain" usefile="false"/>
<classpath>
<path refid="build.test.classpath"/>
<pathelement location="${build.outputDir}"/>
<pathelement location="${build.testOutputDir}"/>
</classpath>
<batchtest todir="${test.reports}" unless="test">
<fileset dir="${build.testDir}">
<include name="**/Test*.java"/>
<include name="**/*Test.java"/>
<include name="**/*TestCase.java"/>
<exclude name="**/*Abstract*Test.java"/>
</fileset>
</batchtest>
<batchtest todir="${test.reports}" if="test">
<fileset dir="${build.testDir}">
<include name="**/${test}.java"/>
<exclude name="**/*Abstract*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="test-junit-present">
<available classname="junit.framework.Test" property="junit.present" classpathref="build.test.classpath"/>
</target>
<target name="test-junit-status"
depends="test-junit-present">
<condition property="junit.missing">
<and>
<isfalse value="${junit.present}"/>
<isfalse value="${test.skip}"/>
</and>
</condition>
<condition property="junit.skipped">
<or>
<isfalse value="${junit.present}"/>
<istrue value="${test.skip}"/>
</or>
</condition>
</target>
<target name="junit-missing"
depends="test-junit-status"
if="junit.missing">
<echo>=================================== WARNING ===================================</echo>
<echo> JUnit is not present in the test classpath or your $ANT_HOME/lib directory. Tests not executed.</echo>
<echo>===============================================================================</echo>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
source="${compiler.source}"
verbose="false"
locale="en"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
encoding="UTF-8"
linksource="false"
breakiterator="false">
<classpath refid="build.classpath"/>
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile,test" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Implementation-Title" value="${project.name}"/>
<attribute name="Implementation-URL" value="http://maven.apache.org/plugins/${project.artifactId}/"/>
<attribute name="Implementation-Vendor" value="${project.organization.name}"/>
<attribute name="Implementation-Vendor-Id" value="${project.groupId}"/>
<attribute name="Implementation-Version" value="${project.version}"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Specification-Title" value="${project.name}"/>
<attribute name="Specification-Vendor" value="${project.organization.name}"/>
<attribute name="Specification-Version" value="${spec.version}"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

View File

@ -0,0 +1,93 @@
-------------------------------------------------------------------
Wed Sep 20 06:06:31 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 3.3.1
* Bug
+ MRESOURCES-237: Resource plugin's handling of symbolic links
changed in 3.0.x, broke existing behavior
+ MRESOURCES-265: Resource copying not using specified encoding
+ MRESOURCES-268: java.nio.charset.MalformedInputException:
Input length = 1
+ MRESOURCES-273: Filtering of Maven properties with long names
is not working after transition from 2.6 to 3.2.0
+ MRESOURCES-275: valid location for directory parameter is
always required
+ MRESOURCES-269: Symlinks cause copying resources to fail
+ MRESOURCES-289: FileUtils.copyFile() fails with source file
having lastModified = 0
* New Feature
+ MRESOURCES-250: Add ability to flatten folder structure into
target directory when copying resources
* Improvement
+ MRESOURCES-288: make tests jar reproducible
+ MRESOURCES-292: describe from and to in "Copying x
resources" info message
* Task
+ MRESOURCES-295: Drop plexus legacy
+ MRESOURCES-297: Update to parent POM 39, reformat sources
+ MRESOURCES-277: Update plugin (requires Maven 3.2.5+)
+ MRESOURCES-283: Require Java 8
* Dependency upgrade
+ MRESOURCES-282: Upgrade maven-plugin parent to 36
+ MRESOURCES-286: Upgrade Maven Filtering to 3.3.0
+ MRESOURCES-294: Upgrade plexus-utils to 3.5.1
+ MRESOURCES-296: Upgrade to maven-filtering 3.3.1
- Modified patch:
* maven-resources-plugin-bootstrap-resources.patch
+ regenerate in cycle
-------------------------------------------------------------------
Fri Jun 24 09:44:50 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Remove all dependencies with scope test, since a raw xmvn does
not hide them from maven.
-------------------------------------------------------------------
Thu Apr 28 11:51:20 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 3.2.0
* Bug
+ [MRESOURCES-171] - ISO8859-1 properties files get changed into
UTF-8 when filtered
+ [MRESOURCES-210] - copy-resources erases file permissions
+ [MRESOURCES-236] - Copying of files with permissions broken
+ [MRESOURCES-257] - property from list element in pom model
* Improvement
+ [MRESOURCES-251] - Upgrade plexus-interpolation 1.26
+ [MRESOURCES-252] - Add m2e lifecycle Metadata to plugin
+ [MRESOURCES-256] - make build Reproducible
+ [MRESOURCES-258] - Only overwrite filtered resources when
contents differ
* Dependency upgrade
+ [MRESOURCES-249] - Upgrade maven-plugins parent to version 32
+ [MRESOURCES-255] - Upgrade plexus-utils 3.3.0
+ [MRESOURCES-261] - Make Maven 3.1.0 the minimum version
+ [MRESOURCES-263] - Update to maven-filtering 3.2.0
- Modified patch:
* maven-resources-plugin-bootstrap-resources.patch
+ regenerate with current version of tools against the current
version of package
-------------------------------------------------------------------
Tue Mar 22 13:44:41 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Build with java source and target levels 8
-------------------------------------------------------------------
Sun Nov 24 17:47:59 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Specify maven.compiler.release to fix build with jdk9+ and newer
maven-javadoc-plugin
-------------------------------------------------------------------
Wed Apr 3 09:27:51 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of maven-resources-plugin 3.1.0
- Generate and customize ant build.xml file to use with the
bootstrap variang
- Create as a multibuild package to allow bootstrapping
- Added patch:
* maven-resources-plugin-bootstrap-resources.patch
+ For the bootstrap version, add pre-generated resources that
need maven-plugin-plugin and maven to be generated at build
time

131
maven-resources-plugin.spec Normal file
View File

@ -0,0 +1,131 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "bootstrap"
%bcond_without bootstrap
%else
%bcond_with bootstrap
%endif
%global base_name maven-resources-plugin
Version: 3.3.1
Release: 0
Summary: Maven Resources Plugin
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://maven.apache.org/plugins/maven-resources-plugin
Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{base_name}/%{version}/%{base_name}-%{version}-source-release.zip
Source1: %{base_name}-build.xml
Patch0: %{base_name}-bootstrap-resources.patch
BuildRequires: apache-commons-lang3
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local
BuildRequires: maven-filtering >= 1.3
BuildRequires: maven-lib
BuildRequires: maven-plugin-annotations
BuildRequires: plexus-interpolation
BuildRequires: plexus-utils
BuildRequires: sisu-plexus
BuildRequires: unzip
BuildRequires: xmvn-install
BuildRequires: xmvn-resolve
BuildRequires: mvn(org.apache.maven.plugins:maven-plugins:pom:)
BuildArch: noarch
%if %{with bootstrap}
Name: %{base_name}-bootstrap
BuildRequires: ant
%else
Name: %{base_name}
BuildRequires: xmvn
BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-jar-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-resources-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-surefire-plugin)
Obsoletes: %{base_name}-bootstrap
#!BuildRequires: maven-compiler-plugin-bootstrap
#!BuildRequires: maven-jar-plugin-bootstrap
#!BuildRequires: maven-javadoc-plugin-bootstrap
#!BuildRequires: maven-plugin-plugin-bootstrap
#!BuildRequires: maven-resources-plugin-bootstrap
#!BuildRequires: maven-surefire-plugin-bootstrap
%endif
%description
The Resources Plugin handles the copying of project resources
to the output directory.
%if %{without bootstrap}
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%endif
%prep
%setup -q -n %{base_name}-%{version}
%if %{with bootstrap}
cp %{SOURCE1} build.xml
%patch0 -p1
%endif
# Remove all dependencies with scope test, since a raw xmvn does not hide them
%pom_remove_dep -r :::test:
%build
%if %{with bootstrap}
mkdir -p lib
build-jar-repository -s lib \
commons-lang3 \
maven-filtering/maven-filtering \
maven/maven-core \
maven/maven-model \
maven/maven-plugin-api \
maven-plugin-tools/maven-plugin-annotations \
org.eclipse.sisu.plexus \
plexus/interpolation \
plexus/utils
%{ant} -Dtest.skip=true jar
%else
xmvn --batch-mode --offline \
-Dmaven.test.skip=true \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
package org.apache.maven.plugins:maven-javadoc-plugin:aggregate
%endif
%{mvn_artifact} pom.xml target/%{base_name}-%{version}.jar
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE NOTICE
%if %{without bootstrap}
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%endif
%changelog