Sync from SUSE:SLFO:Main maven-compiler-plugin revision ee51d6e3df58695e57dede79c7f15031

This commit is contained in:
Adrian Schröter 2024-05-03 16:36:12 +02:00
commit 3f00227d84
7 changed files with 2584 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-compiler-plugin-3.11.0-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,258 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="maven-compiler-plugin" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.name" value="Apache Maven Compiler Plugin"/>
<!-- not used in this build.xml file, but used for filtering the bootstrap resources -->
<property name="project.description"
value="The Compiler Plugin is used to compile the sources of your project."/>
<property name="project.groupId" value="org.apache.maven.plugins"/>
<property name="project.artifactId" value="maven-compiler-plugin"/>
<property name="project.version" value="3.11.0"/>
<property name="project.organization.name" value="The Apache Software Foundation"/>
<property name="spec.version" value="3.11"/>
<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-Vendor" value="${project.organization.name}"/>
<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,117 @@
-------------------------------------------------------------------
Wed Sep 20 05:09:00 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream release 3.11.0
* New features and improvements
+ MCOMPILER-494: Add a useModulePath switch to the testCompile
mojo
+ MCOMPILER-395: Allow dependency exclusions for
'annotationProcessorPaths'
+ MCOMPILER-522: Use maven-resolver to resolve
'annotationProcessorPaths' dependencies
+ MCOMPILER-516: upgrade plexus-compiler to improve compiling
message
+ MCOMPILER-501: compileSourceRoots parameter should be writable
+ MCOMPILER-457: Change showWarnings to true by default
+ MCOMPILER-457: Warn about warn-config conflicting values
+ MCOMPILER-505: Update default source/target from 1.7 to 1.8
+ MCOMPILER-499: display recompilation causes
+ MCOMPILER-500: add some parameter to pattern from stale source
calculation
+ MCOMPILER-488: dedicated option for implicit javac flag
* Bug Fixes
+ MCOMPILER-525: Incorrect detection of dependency change
+ MCOMPILER-523: Test with Maven 3.9.0 and fix the failing IT
+ MCOMPILER-503: Resolve all annotation processor dependencies
together
+ MCOMPILER-512: Defining maven.compiler.release as empty string
ends with NumberFormatException in testCompileMojo
+ MCOMPILER-495: Fixes missing dirs in
createMissingPackageInfoClasses
+ MCOMPILER-347: Set Xcludes in config passed to actual compiler
- Modified patch:
* maven-compiler-plugin-bootstrap-resources.patch
+ regenerate in cycle by itself
-------------------------------------------------------------------
Sat Mar 12 09:36:55 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream release 3.10.1
* Removed
+ [MCOMPILER-484] - Remove deprecated mojos
* New features and improvements:
+ [MCOMPILER-426] - add flag to enable-preview java compiler
feature
+ [MCOMPILER-205] - Add a boolean to generate missing
package-info classes by default
+ [MCOMPILER-474] - Also check jar files when determining if
dependencies changed
* Bug Fixes:
+ [MCOMPILER-346] - workaround to jdk bug: assertion error from
javaxcompiler javax.tools API
+ [MCOMPILER-485] - Fixes internal string format in generated
package-info.class
+ [MCOMPILER-225] - javac.sh/javac.bat added to archive
+ [MCOMPILER-481] - compiler plugin should include static module
for compilation
+ [MCOMPILER-470] -parameters doesn't work with --release
+ [MCOMPILER-460] - Compiler doesn't show detailed information
with the Maven Toolchains
* Other changes:
+ [MCOMPILER-341] Compile module descriptors with
TestCompilerMojo
+ [MCOMPILER-349] changed dependency detection
+ [MCOMPILER-360] nullpointer exception
+ [MCOMPILER-306] Fix compilerArgs example usage
+ [MCOMPILER-349] cleanups
+ [MCOMPILER-359] Fix for NPE
+ [MCOMPILER-475] Shared GitHub Actions
- Removed patches:
* 0001-plexus-languages-1.0.patch
* 0002-MCOMPILER-359-Fix-for-NPE.patch
+ not needed with this version
-------------------------------------------------------------------
Thu Mar 10 11:31:51 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* 00-plexus-languages-1.0.patch -> 0001-plexus-languages-1.0.patch
+ Sync with patch used by Fedora
- Added patch:
* 0002-MCOMPILER-359-Fix-for-NPE.patch
+ Fix null pointer exception in tests compilation
-------------------------------------------------------------------
Fri Nov 29 10:50:57 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Remove all dependencies with scope test, since we are disabling
tests
-------------------------------------------------------------------
Mon Nov 25 16:53:16 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Update to upstream version 3.8.1
- Modified patch:
* maven-compiler-plugin-bootstrap-resources.patch
+ Regenerate from the non-bootstrap build
-------------------------------------------------------------------
Thu Nov 21 20:20:18 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* 00-plexus-languages-1.0.patch
+ fix build against plexus-java >= 1.0
- Specify maven.compiler.release to fix build with jdk9+ and newer
maven-javadoc-plugin
-------------------------------------------------------------------
Wed Apr 3 09:20:36 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of maven-compiler-plugin 3.8.0
- Package as a multibuild package in order to allow bootstapping
- Generate and customize ant build.xml file for the bootstrap
version
- Added patch:
* maven-compiler-plugin-bootstrap-resources.patch
+ For the bootstrap version, add the pre-generated resources
that need maven-plugin-plugin

143
maven-compiler-plugin.spec Normal file
View File

@ -0,0 +1,143 @@
#
# 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-compiler-plugin
Version: 3.11.0
Release: 0
Summary: Maven Compiler Plugin
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://maven.apache.org/plugins/maven-compiler-plugin
Source0: https://dlcdn.apache.org/maven/plugins/%{base_name}-%{version}-source-release.zip
Source1: %{base_name}-build.xml
Patch0: %{base_name}-bootstrap-resources.patch
BuildRequires: javapackages-local
BuildRequires: maven-lib
BuildRequires: maven-plugin-annotations
BuildRequires: maven-resolver-api
BuildRequires: maven-resolver-util
BuildRequires: maven-shared-incremental
BuildRequires: maven-shared-utils
BuildRequires: objectweb-asm
BuildRequires: plexus-compiler >= 2.13
BuildRequires: plexus-languages
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: fdupes
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-plugins:pom:)
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 Compiler Plugin is used to compile the sources of your project.
%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
%pom_remove_dep :::test
# There is nothing to index and this creates a cycle
%pom_remove_plugin org.eclipse.sisu:sisu-maven-plugin
%pom_xpath_remove pom:project/pom:parent/pom:relativePath
%build
%if %{with bootstrap}
mkdir -p lib
build-jar-repository -s lib \
maven/maven-artifact \
maven/maven-core \
maven/maven-model \
maven/maven-plugin-api \
maven-plugin-tools/maven-plugin-annotations \
maven-resolver/maven-resolver-api \
maven-resolver/maven-resolver-util \
maven-shared-incremental/maven-shared-incremental \
maven-shared-utils/maven-shared-utils \
objectweb-asm/asm-all \
plexus-compiler/plexus-compiler-api \
plexus-compiler/plexus-compiler-javac \
plexus-compiler/plexus-compiler-manager \
plexus-languages/plexus-java
%{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
%if %{without bootstrap}
%fdupes -s %{buildroot}%{_javadocdir}
%endif
%files -f .mfiles
%license LICENSE NOTICE
%if %{without bootstrap}
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%endif
%changelog