Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ecj for openSUSE:Factory checked in 
at 2024-02-13 22:44:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ecj (Old)
 and      /work/SRC/openSUSE:Factory/.ecj.new.1815 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ecj"

Tue Feb 13 22:44:55 2024 rev:34 rq:1146470 version:4.23

Changes:
--------
--- /work/SRC/openSUSE:Factory/ecj/ecj.changes  2023-08-23 14:58:48.106117529 
+0200
+++ /work/SRC/openSUSE:Factory/.ecj.new.1815/ecj.changes        2024-02-13 
22:45:21.210696467 +0100
@@ -1,0 +2,9 @@
+Tue Feb 13 01:50:04 UTC 2024 - Fridrich Strba <fst...@suse.com>
+
+- Added patch:
+  * ecj-java8compat.patch
+    + Allow building ecj with language levels 8 (bsc#1219862)
+- Distribute the bundled javax17api.jar under maven coordinate of
+  org.eclipse:javax17api:17, so that it can be used if needed
+
+-------------------------------------------------------------------

New:
----
  ecj-java8compat.patch

BETA DEBUG BEGIN:
  New:- Added patch:
  * ecj-java8compat.patch
    + Allow building ecj with language levels 8 (bsc#1219862)
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ecj.spec ++++++
--- /var/tmp/diff_new_pack.rYnj9Z/_old  2024-02-13 22:45:21.666712877 +0100
+++ /var/tmp/diff_new_pack.rYnj9Z/_new  2024-02-13 22:45:21.666712877 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ecj
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -32,6 +32,7 @@
 # Extracted from 
https://download.eclipse.org/eclipse/downloads/drops4/%%{drop}/ecj-%%{jar_ver}.jar
 Source2:        MANIFEST.MF
 Patch0:         ecj-rpmdebuginfo.patch
+Patch1:         ecj-java8compat.patch
 BuildRequires:  ant
 BuildRequires:  java-devel >= 11
 BuildRequires:  javapackages-local >= 6
@@ -45,6 +46,7 @@
 %prep
 %setup -q -c
 %patch0 -p1
+%patch1 -p1
 
 # Specify encoding
 sed -i -e '/compilerarg/s/Xlint:none/Xlint:none -encoding cp1252/' build.xml
@@ -59,11 +61,13 @@
 # jar
 install -dm 0755 %{buildroot}%{_javadir}/%{name}
 install -pm 0644 ecj.jar %{buildroot}%{_javadir}/%{name}/ecj.jar
+install -pm 0644 javax17api.jar %{buildroot}%{_javadir}/%{name}/javax17api.jar
 
 # pom
 install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
 %{mvn_install_pom} %{SOURCE1} %{buildroot}%{_mavenpomdir}/%{name}/ecj.pom
 %add_maven_depmap %{name}/ecj.pom %{name}/ecj.jar -a 
"org.eclipse.jdt:core,org.eclipse.jdt.core.compiler:ecj,org.eclipse.tycho:org.eclipse.jdt.core,org.eclipse.tycho:org.eclipse.jdt.compiler.apt"
+%add_maven_depmap org.eclipse:javax17api:17 %{name}/javax17api.jar -a 
"org.eclipse:java9api,org.eclipse:java10api:org.eclipse:java15api"
 
 # Install the ecj wrapper script
 %jpackage_script org.eclipse.jdt.internal.compiler.batch.Main '' '' ecj ecj 
true

++++++ ecj-java8compat.patch ++++++
--- ecj-old/build.xml   2022-03-08 08:19:52.000000000 +0100
+++ ecj-new/build.xml   2024-02-13 04:59:44.328387227 +0100
@@ -25,9 +25,9 @@
 
                <javac srcdir="${basedir}" destdir="${output}"
                                        debuglevel="lines,source"
-                                       debug="true"
-                                       release="11">
-                       <compilerarg line="-Xlint:none --patch-module 
java.compiler=javax17api.jar"/>
+                                       debug="true" encoding="utf-8"
+                                       source="8" target="8">
+                       <compilerarg line="-Xlint:none" 
value="-Xbootclasspath/p:javax17api.jar"/>
                </javac>
 
                <delete file="${basedir}/META-INF/MANIFEST.MF" 
failonerror="false"/>
--- ecj-old/org/eclipse/jdt/internal/compiler/apt/util/EclipseFileManager.java  
2022-03-08 08:19:50.000000000 +0100
+++ ecj-new/org/eclipse/jdt/internal/compiler/apt/util/EclipseFileManager.java  
2024-02-13 02:40:37.158638361 +0100
@@ -1281,7 +1281,7 @@
        private Iterable<? extends File> getFiles(final Iterable<? extends 
Path> paths) {
                if (paths == null)
                        return null;
-               return () -> new Iterator<>() {
+               return () -> new Iterator<File>() {
                        Iterator<? extends Path> original = paths.iterator();
                        @Override
                        public boolean hasNext() {
@@ -1296,7 +1296,7 @@
        private Iterable<? extends Path> getPaths(final Iterable<? extends 
File> files) {
                if (files == null)
                        return null;
-               return () -> new Iterator<>() {
+               return () -> new Iterator<Path>() {
                        Iterator<? extends File> original = files.iterator();
                        @Override
                        public boolean hasNext() {
--- ecj-old/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java     
2022-03-08 08:19:50.000000000 +0100
+++ ecj-new/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java     
2024-02-13 02:32:54.251379205 +0100
@@ -3319,7 +3319,7 @@
                }
        }
        // sort them in according to their own indexes
-       Arrays.sort(bindings, new Comparator<>() {
+       Arrays.sort(bindings, new Comparator<SyntheticMethodBinding>() {
                @Override
                public int compare(SyntheticMethodBinding o1, 
SyntheticMethodBinding o2) {
                        return o1.index - o2.index;
diff -urEbwB 
ecj-old/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java 
ecj-new/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java
--- ecj-old/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java     
2022-03-08 08:19:50.000000000 +0100
+++ ecj-new/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java     
2024-02-13 02:38:57.913975827 +0100
@@ -239,7 +239,7 @@
                                DiagnosticListener<? super JavaFileObject> 
diagListener = EclipseCompilerImpl.this.diagnosticListener;
                                Diagnostic<JavaFileObject> diagnostic = null;
                                if (diagListener != null) {
-                                       diagnostic = new Diagnostic<>() {
+                                       diagnostic = new 
Diagnostic<JavaFileObject>() {
                                                @Override
                                                public String getCode() {
                                                        return 
Integer.toString(problemId);
@@ -316,7 +316,7 @@
                                DiagnosticListener<? super JavaFileObject> 
diagListener = EclipseCompilerImpl.this.diagnosticListener;
                                Diagnostic<JavaFileObject> diagnostic = null;
                                if (diagListener != null) {
-                                       diagnostic = new Diagnostic<>() {
+                                       diagnostic = new 
Diagnostic<JavaFileObject>() {
                                                @Override
                                                public String getCode() {
                                                        return 
Integer.toString(problemId);
@@ -797,7 +797,7 @@
                        Iterator iterator = this.extraProblems.iterator(); 
iterator.hasNext(); ) {
                        final CategorizedProblem problem = (CategorizedProblem) 
iterator.next();
                        if (this.diagnosticListener != null && 
!isIgnored(problem)) {
-                               Diagnostic<JavaFileObject> diagnostic = new 
Diagnostic<>() {
+                               Diagnostic<JavaFileObject> diagnostic = new 
Diagnostic<JavaFileObject>() {
                                        @Override
                                        public String getCode() {
                                                return null;
diff -urEbwB 
ecj-old/org/eclipse/jdt/internal/compiler/tool/EclipseFileManager.java 
ecj-new/org/eclipse/jdt/internal/compiler/tool/EclipseFileManager.java
--- ecj-old/org/eclipse/jdt/internal/compiler/tool/EclipseFileManager.java      
2022-03-08 08:19:50.000000000 +0100
+++ ecj-new/org/eclipse/jdt/internal/compiler/tool/EclipseFileManager.java      
2024-02-13 02:41:33.840827055 +0100
@@ -1310,7 +1310,7 @@
        private Iterable<? extends File> getFiles(final Iterable<? extends 
Path> paths) {
                if (paths == null)
                        return null;
-               return () -> new Iterator<>() {
+               return () -> new Iterator<File>() {
                        Iterator<? extends Path> original = paths.iterator();
                        @Override
                        public boolean hasNext() {
@@ -1325,7 +1325,7 @@
        private Iterable<? extends Path> getPaths(final Iterable<? extends 
File> files) {
                if (files == null)
                        return null;
-               return () -> new Iterator<>() {
+               return () -> new Iterator<Path>() {
                        Iterator<? extends File> original = files.iterator();
                        @Override
                        public boolean hasNext() {
--- ecj-old/org/eclipse/jdt/internal/compiler/util/Util.java    2022-03-08 
08:19:52.000000000 +0100
+++ ecj-new/org/eclipse/jdt/internal/compiler/util/Util.java    2024-02-13 
04:59:18.222252584 +0100
@@ -234,6 +234,7 @@
                String displayString(Object o);
        }
 
+       private static final int DEFAULT_READING_SIZE = 8192;
        private static final int DEFAULT_WRITING_SIZE = 1024;
        public final static String UTF_8 = "UTF-8";     //$NON-NLS-1$
        public static final String LINE_SEPARATOR = 
System.getProperty("line.separator"); //$NON-NLS-1$
@@ -469,7 +470,41 @@
         * @throws IOException if a problem occurred reading the stream.
         */
        public static byte[] getInputStreamAsByteArray(InputStream input) 
throws IOException {
-               return input.readAllBytes(); // will have even slighly better 
performance as of JDK17+ see JDK-8264777
+               byte[] contents = new byte[0];
+               int contentsLength = 0;
+               int amountRead = -1;
+               do {
+                       int amountRequested = Math.max(input.available(), 
DEFAULT_READING_SIZE);  // read at least 8K
+
+                       // resize contents if needed
+                       if (contentsLength + amountRequested > contents.length) 
{
+                               System.arraycopy(
+                                       contents,
+                                       0,
+                                       contents = new byte[contentsLength + 
amountRequested],
+                                       0,
+                                       contentsLength);
+                       }
+
+                       // read as many bytes as possible
+                       amountRead = input.read(contents, contentsLength, 
amountRequested);
+
+                       if (amountRead > 0) {
+                               // remember length of contents
+                               contentsLength += amountRead;
+                       }
+               } while (amountRead != -1);
+
+                       // resize contents if necessary
+               if (contentsLength < contents.length) {
+                       System.arraycopy(
+                               contents,
+                               0,
+                               contents = new byte[contentsLength],
+                               0,
+                               contentsLength);
+               }
+               return contents;
        }
 
 
@@ -479,7 +514,16 @@
         * @throws IOException if a problem occurred reading the stream.
         */
        public static byte[] readNBytes(InputStream input, int byteLength) 
throws IOException {
-               return input.readNBytes(byteLength);
+               byte[] contents = new byte[byteLength];
+               int len = 0;
+               int readSize = 0;
+               while ((readSize != -1) && (len != byteLength)) {
+                       // See PR 1FMS89U
+                       // We record first the read size. In this case len is 
the actual read size.
+                       len += readSize;
+                       readSize = input.read(contents, len, byteLength - len);
+               }
+               return contents;
        }
 
        private static Map<String, byte[]> bomByEncoding = new HashMap<String, 
byte[]>();

Reply via email to