snakeyaml package is retired on branch c10s for BAKERY-412

This commit is contained in:
Troy Dawson 2024-03-21 19:45:54 +00:00
parent 15e2209ef6
commit d054e6c91c
7 changed files with 1 additions and 855 deletions

12
.gitignore vendored
View File

@ -1,12 +0,0 @@
/results_*
/*.src.rpm
/SnakeYAML-all-1.8.zip
/SnakeYAML-all-1.9.zip
/snakeyaml-1.13.zip
/snakeyaml-1.16.tar.bz2
/snakeyaml-1.17.tar.bz2
/snakeyaml-1.25.tar.gz
/snakeyaml-1.26.tar.gz
/snakeyaml-1.27.tar.gz
/snakeyaml-1.32.tar.gz

View File

@ -1,418 +0,0 @@
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/constructor/SafeConstructor.java b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/constructor/SafeConstructor.java
index b34011c..b549448 100644
--- a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/constructor/SafeConstructor.java
+++ b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/constructor/SafeConstructor.java
@@ -15,6 +15,7 @@ package org.yaml.snakeyaml.constructor;
import java.math.BigInteger;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
@@ -28,7 +29,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.error.YAMLException;
-import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
import org.yaml.snakeyaml.nodes.MappingNode;
import org.yaml.snakeyaml.nodes.Node;
import org.yaml.snakeyaml.nodes.NodeId;
@@ -385,7 +385,7 @@ public class SafeConstructor extends BaseConstructor {
public Object construct(Node node) {
// Ignore white spaces for base64 encoded scalar
String noWhiteSpaces = constructScalar((ScalarNode) node).replaceAll("\\s", "");
- byte[] decoded = Base64Coder.decode(noWhiteSpaces.toCharArray());
+ byte[] decoded = Base64.getDecoder().decode(noWhiteSpaces);
return decoded;
}
}
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/external/biz/base64Coder/Base64Coder.java b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/external/biz/base64Coder/Base64Coder.java
deleted file mode 100644
index db43b47..0000000
--- a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/external/biz/base64Coder/Base64Coder.java
+++ /dev/null
@@ -1,281 +0,0 @@
-// Copyright 2003-2010 Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland
-// www.source-code.biz, www.inventec.ch/chdh
-//
-// This module is multi-licensed and may be used under the terms
-// of any of the following licenses:
-//
-// EPL, Eclipse Public License, V1.0 or later, http://www.eclipse.org/legal
-// LGPL, GNU Lesser General Public License, V2.1 or later, http://www.gnu.org/licenses/lgpl.html
-// GPL, GNU General Public License, V2 or later, http://www.gnu.org/licenses/gpl.html
-// AL, Apache License, V2.0 or later, http://www.apache.org/licenses
-// BSD, BSD License, http://www.opensource.org/licenses/bsd-license.php
-//
-// Please contact the author if you need another license.
-// This module is provided "as is", without warranties of any kind.
-
-package org.yaml.snakeyaml.external.biz.base64Coder;
-
-/**
- * A Base64 encoder/decoder.
- *
- * <p>
- * This class is used to encode and decode data in Base64 format as described in RFC 1521.
- *
- * <p>
- * Project home page: <a href="http://www.source-code.biz/base64coder/java/">www.
- * source-code.biz/base64coder/java</a><br>
- * Author: Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland<br>
- * Multi-licensed: EPL / LGPL / GPL / AL / BSD.
- */
-public class Base64Coder {
-
- // The line separator string of the operating system.
- private static final String systemLineSeparator = System.getProperty("line.separator");
-
- // Mapping table from 6-bit nibbles to Base64 characters.
- private static final char[] map1 = new char[64];
-
- static {
- int i = 0;
- for (char c = 'A'; c <= 'Z'; c++) {
- map1[i++] = c;
- }
- for (char c = 'a'; c <= 'z'; c++) {
- map1[i++] = c;
- }
- for (char c = '0'; c <= '9'; c++) {
- map1[i++] = c;
- }
- map1[i++] = '+';
- map1[i++] = '/';
- }
-
- // Mapping table from Base64 characters to 6-bit nibbles.
- private static final byte[] map2 = new byte[128];
-
- static {
- for (int i = 0; i < map2.length; i++) {
- map2[i] = -1;
- }
- for (int i = 0; i < 64; i++) {
- map2[map1[i]] = (byte) i;
- }
- }
-
- /**
- * Encodes a string into Base64 format. No blanks or line breaks are inserted.
- *
- * @param s A String to be encoded.
- * @return A String containing the Base64 encoded data.
- */
- public static String encodeString(String s) {
- return new String(encode(s.getBytes()));
- }
-
- /**
- * Encodes a byte array into Base 64 format and breaks the output into lines of 76 characters.
- * This method is compatible with <code>sun.misc.BASE64Encoder.encodeBuffer(byte[])</code>.
- *
- * @param in An array containing the data bytes to be encoded.
- * @return A String containing the Base64 encoded data, broken into lines.
- */
- public static String encodeLines(byte[] in) {
- return encodeLines(in, 0, in.length, 76, systemLineSeparator);
- }
-
- /**
- * Encodes a byte array into Base 64 format and breaks the output into lines.
- *
- * @param in An array containing the data bytes to be encoded.
- * @param iOff Offset of the first byte in <code>in</code> to be processed.
- * @param iLen Number of bytes to be processed in <code>in</code>, starting at <code>iOff</code>.
- * @param lineLen Line length for the output data. Should be a multiple of 4.
- * @param lineSeparator The line separator to be used to separate the output lines.
- * @return A String containing the Base64 encoded data, broken into lines.
- */
- public static String encodeLines(byte[] in, int iOff, int iLen, int lineLen,
- String lineSeparator) {
- int blockLen = (lineLen * 3) / 4;
- if (blockLen <= 0) {
- throw new IllegalArgumentException();
- }
- int lines = (iLen + blockLen - 1) / blockLen;
- int bufLen = ((iLen + 2) / 3) * 4 + lines * lineSeparator.length();
- StringBuilder buf = new StringBuilder(bufLen);
- int ip = 0;
- while (ip < iLen) {
- int l = Math.min(iLen - ip, blockLen);
- buf.append(encode(in, iOff + ip, l));
- buf.append(lineSeparator);
- ip += l;
- }
- return buf.toString();
- }
-
- /**
- * Encodes a byte array into Base64 format. No blanks or line breaks are inserted in the output.
- *
- * @param in An array containing the data bytes to be encoded.
- * @return A character array containing the Base64 encoded data.
- */
- public static char[] encode(byte[] in) {
- return encode(in, 0, in.length);
- }
-
- /**
- * Encodes a byte array into Base64 format. No blanks or line breaks are inserted in the output.
- *
- * @param in An array containing the data bytes to be encoded.
- * @param iLen Number of bytes to process in <code>in</code>.
- * @return A character array containing the Base64 encoded data.
- */
- public static char[] encode(byte[] in, int iLen) {
- return encode(in, 0, iLen);
- }
-
- /**
- * Encodes a byte array into Base64 format. No blanks or line breaks are inserted in the output.
- *
- * @param in An array containing the data bytes to be encoded.
- * @param iOff Offset of the first byte in <code>in</code> to be processed.
- * @param iLen Number of bytes to process in <code>in</code>, starting at <code>iOff</code>.
- * @return A character array containing the Base64 encoded data.
- */
- public static char[] encode(byte[] in, int iOff, int iLen) {
- int oDataLen = (iLen * 4 + 2) / 3; // output length without padding
- int oLen = ((iLen + 2) / 3) * 4; // output length including padding
- char[] out = new char[oLen];
- int ip = iOff;
- int iEnd = iOff + iLen;
- int op = 0;
- while (ip < iEnd) {
- int i0 = in[ip++] & 0xff;
- int i1 = ip < iEnd ? in[ip++] & 0xff : 0;
- int i2 = ip < iEnd ? in[ip++] & 0xff : 0;
- int o0 = i0 >>> 2;
- int o1 = ((i0 & 3) << 4) | (i1 >>> 4);
- int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
- int o3 = i2 & 0x3F;
- out[op++] = map1[o0];
- out[op++] = map1[o1];
- out[op] = op < oDataLen ? map1[o2] : '=';
- op++;
- out[op] = op < oDataLen ? map1[o3] : '=';
- op++;
- }
- return out;
- }
-
- /**
- * Decodes a string from Base64 format. No blanks or line breaks are allowed within the Base64
- * encoded input data.
- *
- * @param s A Base64 String to be decoded.
- * @return A String containing the decoded data.
- * @throws IllegalArgumentException If the input is not valid Base64 encoded data.
- */
- public static String decodeString(String s) {
- return new String(decode(s));
- }
-
- /**
- * Decodes a byte array from Base64 format and ignores line separators, tabs and blanks. CR, LF,
- * Tab and Space characters are ignored in the input data. This method is compatible with
- * <code>sun.misc.BASE64Decoder.decodeBuffer(String)</code>.
- *
- * @param s A Base64 String to be decoded.
- * @return An array containing the decoded data bytes.
- * @throws IllegalArgumentException If the input is not valid Base64 encoded data.
- */
- public static byte[] decodeLines(String s) {
- char[] buf = new char[s.length()];
- int p = 0;
- for (int ip = 0; ip < s.length(); ip++) {
- char c = s.charAt(ip);
- if (c != ' ' && c != '\r' && c != '\n' && c != '\t') {
- buf[p++] = c;
- }
- }
- return decode(buf, 0, p);
- }
-
- /**
- * Decodes a byte array from Base64 format. No blanks or line breaks are allowed within the Base64
- * encoded input data.
- *
- * @param s A Base64 String to be decoded.
- * @return An array containing the decoded data bytes.
- * @throws IllegalArgumentException If the input is not valid Base64 encoded data.
- */
- public static byte[] decode(String s) {
- return decode(s.toCharArray());
- }
-
- /**
- * Decodes a byte array from Base64 format. No blanks or line breaks are allowed within the Base64
- * encoded input data.
- *
- * @param in A character array containing the Base64 encoded data.
- * @return An array containing the decoded data bytes.
- * @throws IllegalArgumentException If the input is not valid Base64 encoded data.
- */
- public static byte[] decode(char[] in) {
- return decode(in, 0, in.length);
- }
-
- /**
- * Decodes a byte array from Base64 format. No blanks or line breaks are allowed within the Base64
- * encoded input data.
- *
- * @param in A character array containing the Base64 encoded data.
- * @param iOff Offset of the first character in <code>in</code> to be processed.
- * @param iLen Number of characters to process in <code>in</code>, starting at <code>iOff</code>.
- * @return An array containing the decoded data bytes.
- * @throws IllegalArgumentException If the input is not valid Base64 encoded data.
- */
- public static byte[] decode(char[] in, int iOff, int iLen) {
- if (iLen % 4 != 0) {
- throw new IllegalArgumentException(
- "Length of Base64 encoded input string is not a multiple of 4.");
- }
- while (iLen > 0 && in[iOff + iLen - 1] == '=') {
- iLen--;
- }
- int oLen = (iLen * 3) / 4;
- byte[] out = new byte[oLen];
- int ip = iOff;
- int iEnd = iOff + iLen;
- int op = 0;
- while (ip < iEnd) {
- int i0 = in[ip++];
- int i1 = in[ip++];
- int i2 = ip < iEnd ? in[ip++] : 'A';
- int i3 = ip < iEnd ? in[ip++] : 'A';
- if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127) {
- throw new IllegalArgumentException("Illegal character in Base64 encoded data.");
- }
- int b0 = map2[i0];
- int b1 = map2[i1];
- int b2 = map2[i2];
- int b3 = map2[i3];
- if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0) {
- throw new IllegalArgumentException("Illegal character in Base64 encoded data.");
- }
- int o0 = (b0 << 2) | (b1 >>> 4);
- int o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
- int o2 = ((b2 & 3) << 6) | b3;
- out[op++] = (byte) o0;
- if (op < oLen) {
- out[op++] = (byte) o1;
- }
- if (op < oLen) {
- out[op++] = (byte) o2;
- }
- }
- return out;
- }
-
- // Dummy constructor.
- private Base64Coder() {}
-
-} // end class Base64Coder
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
index b46e07f..5a80523 100644
--- a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
+++ b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
@@ -17,6 +17,7 @@ import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Base64;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -30,7 +31,6 @@ import java.util.UUID;
import java.util.regex.Pattern;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.error.YAMLException;
-import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
import org.yaml.snakeyaml.nodes.Node;
import org.yaml.snakeyaml.nodes.Tag;
import org.yaml.snakeyaml.reader.StreamReader;
@@ -118,7 +118,6 @@ class SafeRepresenter extends BaseRepresenter {
if (nonPrintableStyle == DumperOptions.NonPrintableStyle.BINARY
&& !StreamReader.isPrintable(value)) {
tag = Tag.BINARY;
- char[] binary;
final byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
// sometimes above will just silently fail - it will return incomplete data
// it happens when String has invalid code points
@@ -127,8 +126,7 @@ class SafeRepresenter extends BaseRepresenter {
if (!checkValue.equals(value)) {
throw new YAMLException("invalid string value has occurred");
}
- binary = Base64Coder.encode(bytes);
- value = String.valueOf(binary);
+ value = Base64.getEncoder().encodeToString(bytes);
style = DumperOptions.ScalarStyle.LITERAL;
}
// if no other scalar style is explicitly set, use literal style for
@@ -449,8 +447,8 @@ class SafeRepresenter extends BaseRepresenter {
protected class RepresentByteArray implements Represent {
public Node representData(Object data) {
- char[] binary = Base64Coder.encode((byte[]) data);
- return representScalar(Tag.BINARY, String.valueOf(binary), DumperOptions.ScalarStyle.LITERAL);
+ String binary = Base64.getEncoder().encodeToString((byte[]) data);
+ return representScalar(Tag.BINARY, binary, DumperOptions.ScalarStyle.LITERAL);
}
}
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java b/snakeyaml-snakeyaml-49e794037c6b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
index 295eb72..dbe814b 100644
--- a/snakeyaml-snakeyaml-49e794037c6b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
+++ b/snakeyaml-snakeyaml-49e794037c6b/src/test/java/biz/source_code/base64Coder/Base64CoderTest.java
@@ -13,10 +13,10 @@
*/
package biz.source_code.base64Coder;
+import java.util.Base64;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import junit.framework.TestCase;
-import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
public class Base64CoderTest extends TestCase {
@@ -30,10 +30,10 @@ public class Base64CoderTest extends TestCase {
public void testFailure1() throws UnsupportedEncodingException {
try {
- Base64Coder.decode("YQ=".toCharArray());
+ Base64.getDecoder().decode("YQ=".getBytes(StandardCharsets.UTF_8));
fail();
} catch (Exception e) {
- assertEquals("Length of Base64 encoded input string is not a multiple of 4.", e.getMessage());
+ assertEquals("Input byte array has wrong 4-byte ending unit", e.getMessage());
}
}
@@ -51,18 +51,18 @@ public class Base64CoderTest extends TestCase {
private void checkInvalid(String encoded) {
try {
- Base64Coder.decode(encoded.toCharArray());
+ Base64.getDecoder().decode(encoded.getBytes(StandardCharsets.UTF_8));
fail("Illegal chanracter.");
} catch (Exception e) {
- assertEquals("Illegal character in Base64 encoded data.", e.getMessage());
+ assertTrue(e.getMessage().startsWith("Illegal base64 character"));
}
}
private void check(String text, String encoded) throws UnsupportedEncodingException {
- char[] s1 = Base64Coder.encode(text.getBytes(StandardCharsets.UTF_8));
- String t1 = new String(s1);
+ byte[] s1 = Base64.getEncoder().encode(text.getBytes(StandardCharsets.UTF_8));
+ String t1 = new String(s1, StandardCharsets.UTF_8);
assertEquals(encoded, t1);
- byte[] s2 = Base64Coder.decode(encoded.toCharArray());
+ byte[] s2 = Base64.getDecoder().decode(encoded.getBytes(StandardCharsets.UTF_8));
String t2 = new String(s2, StandardCharsets.UTF_8);
assertEquals(text, t2);
}

View File

@ -1,60 +0,0 @@
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/util/UriEncoder.java b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/util/UriEncoder.java
index 02c3e43..5ccb842 100644
--- a/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/util/UriEncoder.java
+++ b/snakeyaml-snakeyaml-49e794037c6b/src/main/java/org/yaml/snakeyaml/util/UriEncoder.java
@@ -22,18 +22,33 @@ import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
import java.nio.charset.StandardCharsets;
import org.yaml.snakeyaml.error.YAMLException;
-import org.yaml.snakeyaml.external.com.google.gdata.util.common.base.Escaper;
-import org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper;
+import java.util.BitSet;
+
+import org.apache.commons.codec.net.URLCodec;
public abstract class UriEncoder {
+ // default safe characters which can appear within URI and shouldn't be escaped
+ private static final BitSet allowedCharacters = new BitSet(256);
+
+ static {
+ for (int i = 'a'; i <= 'z'; i++) {
+ allowedCharacters.set(i);
+ }
+ for (int i = 'A'; i <= 'Z'; i++) {
+ allowedCharacters.set(i);
+ }
+ for (int i = '0'; i <= '9'; i++) {
+ allowedCharacters.set(i);
+ }
+ // http://yaml.org/spec/1.1/#escaping%20in%20URI/
+ for (char c : "-_.!~*'()@:$&,;=/[]".toCharArray()) {
+ allowedCharacters.set(c);
+ }
+ }
+
private static final CharsetDecoder UTF8Decoder =
StandardCharsets.UTF_8.newDecoder().onMalformedInput(CodingErrorAction.REPORT);
- // Include the [] chars to the SAFEPATHCHARS_URLENCODER to avoid
- // its escape as required by spec. See
- // http://yaml.org/spec/1.1/#escaping%20in%20URI/
- private static final String SAFE_CHARS = PercentEscaper.SAFEPATHCHARS_URLENCODER + "[]/";
- private static final Escaper escaper = new PercentEscaper(SAFE_CHARS, false);
/**
* Escape special characters with '%'
@@ -42,7 +57,13 @@ public abstract class UriEncoder {
* @return encoded URI
*/
public static String encode(String uri) {
- return escaper.escape(uri);
+ try {
+ byte[] rawdata = URLCodec.encodeUrl(allowedCharacters,
+ uri.getBytes("UTF-8"));
+ return new String(rawdata, 0, rawdata.length, "US-ASCII");
+ } catch (UnsupportedEncodingException e) {
+ throw new YAMLException(e);
+ }
}
/**

1
dead.package Normal file
View File

@ -0,0 +1 @@
snakeyaml package is retired on branch c10s for BAKERY-412

View File

@ -1,46 +0,0 @@
diff --git a/snakeyaml-snakeyaml-49e794037c6b/src/test/java/org/yaml/snakeyaml/reader/ReaderBomTest.java b/snakeyaml-snakeyaml-49e794037c6b/src/test/java/org/yaml/snakeyaml/reader/ReaderBomTest.java
index c7396c2..375bb75 100644
--- a/snakeyaml-snakeyaml-49e794037c6b/src/test/java/org/yaml/snakeyaml/reader/ReaderBomTest.java
+++ b/snakeyaml-snakeyaml-49e794037c6b/src/test/java/org/yaml/snakeyaml/reader/ReaderBomTest.java
@@ -77,41 +77,4 @@ public class ReaderBomTest extends TestCase {
input.close();
}
- public void testUnicodeLeBom() throws IOException {
- File file = new File("src/test/resources/reader/unicode-16le.txt");
- assertTrue("Test file not found: " + file.getAbsolutePath(), file.exists());
- InputStream input = new FileInputStream(file);
- UnicodeReader unicodeReader = new UnicodeReader(input);
- StreamReader reader = new StreamReader(unicodeReader);
- assertEquals('t', reader.peek());
- reader.forward(1);
- assertEquals('e', reader.peek());
- reader.forward(1);
- assertEquals('s', reader.peek());
- reader.forward(1);
- assertEquals('t', reader.peek());
- reader.forward(1);
- assertEquals('\u0000', reader.peek());
- assertEquals(StandardCharsets.UTF_16LE, Charset.forName(unicodeReader.getEncoding()));
- input.close();
- }
-
- public void testUnicodeBeBom() throws IOException {
- File file = new File("src/test/resources/reader/unicode-16be.txt");
- assertTrue("Test file not found: " + file.getAbsolutePath(), file.exists());
- InputStream input = new FileInputStream(file);
- UnicodeReader unicodeReader = new UnicodeReader(input);
- StreamReader reader = new StreamReader(unicodeReader);
- assertEquals('t', reader.peek());
- reader.forward(1);
- assertEquals('e', reader.peek());
- reader.forward(1);
- assertEquals('s', reader.peek());
- reader.forward(1);
- assertEquals('t', reader.peek());
- reader.forward(1);
- assertEquals('\u0000', reader.peek());
- assertEquals(StandardCharsets.UTF_16BE, Charset.forName(unicodeReader.getEncoding()));
- input.close();
- }
}

View File

@ -1,318 +0,0 @@
%global vertag 49e794037c6b
Name: snakeyaml
Summary: YAML parser and emitter for Java
Version: 1.32
Release: 3%{?dist}
License: ASL 2.0
URL: https://bitbucket.org/%{name}/%{name}
Source0: %{url}/get/%{name}-%{version}.tar.gz
# Upstream has forked gdata-java and base64 and refuses [1] to
# consider replacing them by external dependencies. Bundled libraries
# need to be removed and their use replaced by system libraries.
# See rhbz#875777 and http://code.google.com/p/snakeyaml/issues/detail?id=175
#
# Replace use of bundled Base64 implementation with java.util.Base64
Patch0: 0001-replace-bundled-base64coder-with-java.util.Base64.patch
# We don't have gdata-java in Fedora any longer, use commons-codec instead
Patch1: 0002-Replace-bundled-gdata-java-client-classes-with-commo.patch
Patch2: reader_bom_test_fix.patch
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
BuildRequires: maven-local
BuildRequires: mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.apache.velocity:velocity)
%description
SnakeYAML features:
* a complete YAML 1.1 parser. In particular,
SnakeYAML can parse all examples from the specification.
* Unicode support including UTF-8/UTF-16 input/output.
* high-level API for serializing and deserializing
native Java objects.
* support for all types from the YAML types repository.
* relatively sensible error messages.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package contains %{summary}.
%prep
%setup -q -n %{name}-%{name}-%{vertag}
%patch0 -p2
%patch1 -p2
# Remove gdata code which we've replaced
rm -r src/main/java/org/yaml/snakeyaml/external/com
%patch2 -p2
%mvn_file : %{name}
%pom_remove_plugin :cobertura-maven-plugin
%pom_remove_plugin :maven-changes-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-license-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :maven-site-plugin
%pom_remove_plugin :nexus-staging-maven-plugin
%pom_xpath_replace pom:project/pom:properties/pom:maven.compiler.source '<maven.compiler.source>8</maven.compiler.source>'
%pom_xpath_replace pom:project/pom:properties/pom:maven.compiler.target '<maven.compiler.target>8</maven.compiler.target>'
# Replacement for bundled gdata-java-client
%pom_add_dep commons-codec:commons-codec
# Unnecessary test-time only dependency
%pom_remove_dep joda-time:joda-time
rm -rf src/test/java/examples/jodatime
%pom_remove_dep org.projectlombok:lombok
%pom_remove_dep org.apache.velocity:velocity-engine-core
# fails in rpmbuild only due to different locale
rm src/test/java/org/yaml/snakeyaml/issues/issue67/NonAsciiCharsInClassNameTest.java
# fails after unbundling
rm src/test/java/org/yaml/snakeyaml/issues/issue318/ContextClassLoaderTest.java
# Tests using dependencies we don't have/have removed
rm src/test/java/org/yaml/snakeyaml/emitter/template/VelocityTest.java
rm src/test/java/org/yaml/snakeyaml/issues/issue387/YamlExecuteProcessContextTest.java
rm src/test/java/org/yaml/snakeyaml/env/ApplicationProperties.java
rm src/test/java/org/yaml/snakeyaml/env/EnvLombokTest.java
rm src/test/java/org/yaml/snakeyaml/issues/issue527/Fuzzy47047Test.java
rm src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
rm src/test/java/org/yaml/snakeyaml/issues/issue543/Fuzzer50355Test.java
rm src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
rm src/test/java/org/yaml/snakeyaml/issues/issue529/Fuzzy47028Test.java
rm src/test/java/org/yaml/snakeyaml/issues/issue531/Fuzzy47081Test.java
rm src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
# Problematic test resources for maven-resources-plugin 3.2
rm src/test/resources/issues/issue99.jpeg
rm src/test/resources/reader/unicode-16be.txt
rm src/test/resources/reader/unicode-16le.txt
rm src/test/resources/pyyaml/spec-05-01-utf16be.data
rm src/test/resources/pyyaml/spec-05-01-utf16le.data
rm src/test/resources/pyyaml/spec-05-02-utf16le.data
rm src/test/resources/pyyaml/odd-utf16.stream-error
rm src/test/resources/pyyaml/invalid-character.loader-error
rm src/test/resources/pyyaml/invalid-character.stream-error
rm src/test/resources/pyyaml/invalid-utf8-byte.loader-error
rm src/test/resources/pyyaml/invalid-utf8-byte.stream-error
rm src/test/resources/pyyaml/empty-document-bug.data
rm src/test/resources/pyyaml/spec-05-02-utf16be.data
rm -rf src/test/resources/fuzzer/
# Test using the jpeg data removed above
rm src/test/java/org/yaml/snakeyaml/issues/issue99/YamlBase64Test.java
# convert CR+LF to LF
sed -i 's/\r//g' LICENSE.txt
%build
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc LICENSE.txt
%files javadoc -f .mfiles-javadoc
%doc LICENSE.txt
%changelog
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.32-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.32-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Sep 16 2022 Severin Gehwolf <sgehwolf@redhat.com> - 1.32-1
- Update to latest upstream 1.32 release
- Resolves: CVE-2022-25857
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 08 2022 Jiri Vanek <jvanek@redhat.com> - 1.27-7
- Rebuilt for Drop i686 JDKs
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 1.27-6
- Rebuilt for java-17-openjdk as system jdk
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 31 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1.27-3
- Fix maven-resources-plugin 3.2 issues. Fixes FTBFS.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Oct 24 2020 Fabio Valentini <decathorpe@gmail.com> - 1.27-1
- Update to version 1.27.
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.26-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 1.26-3
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Wed May 06 2020 Mat Booth <mat.booth@redhat.com> - 1.26-2
- Drop unnecessary dep on joda-time
* Wed Apr 15 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1.26-1
- Update to latest upstream 1.26 release.
- Resolves: CVE-2017-18640
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.25-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 15 2019 Fabio Valentini <decathorpe@gmail.com> - 1.25-3
- Replace base64coder dependency with java.util.Base64 from JDK8.
* Tue Oct 15 2019 Fabio Valentini <decathorpe@gmail.com> - 1.25-2
- Backport fix for a broken test from upstream.
* Thu Aug 22 2019 Fabio Valentini <decathorpe@gmail.com> - 1.25-1
- Update to version 1.25.
* Sun Jul 28 2019 Fabio Valentini <decathorpe@gmail.com> - 1.17-9
- Disable support for spring.
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 02 2017 Michael Simacek <msimacek@redhat.com> - 1.17-2
- Add conditional for spring
* Mon Oct 17 2016 Michael Simacek <msimacek@redhat.com> - 1.17-1
- Update to upstream version 1.17
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Sep 28 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.16-1
- Update to upstream version 1.16
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.13-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Apr 21 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.13-8
- Remove maven-javadoc-plugin from POM
* Tue Mar 31 2015 Michael Simacek <msimacek@redhat.com> - 1.13-7
- Remove BR on maven-changes-plugin
* Wed Mar 25 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.13-6
- Remove build dependency on cobertura
* Wed Mar 11 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.13-5
- Add BR on objectweb-asm3
* Wed Jan 21 2015 Mat Booth <mat.booth@redhat.com> - 1.13-4
- Add missing BR on maven-site-plugin
* Mon Jun 16 2014 Michal Srb <msrb@redhat.com> - 1.13-3
- Fix FTBFS
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Sep 30 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.13-1
- Update to upstream version 1.13
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Jun 21 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11-6
- Update to current packaging guidelines
* Fri Apr 26 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11-5
- Explain gdata-java and base64 bundling situation
- Resolves: rhbz#875777
* Mon Apr 22 2013 Michal Srb <msrb@redhat.com> - 1.11-5
- Replace bundled base64 implementation
- Replace bundled gdata-java-client classes with apache-commons-codec
* Wed Apr 10 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11-4
- Conditionally disable tests
- Conditionally remove test dependencies from POM
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1.11-2
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local
* Mon Oct 15 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.11-1
- Update to upstream version 1.11
* Mon Oct 15 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.9-3
- Remove unneeded dependencies: base64coder, gdata-java
- Convert pom.xml patch to POM macro
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 20 2012 Mo Morsi <mmorsi@redhat.com> - 1.9-1
- Update to latest upstream release
- patch2, patch3 no longer needed
- update to latest fedora java guidelines
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Jun 20 2011 Jaromir Capik <jcapik@redhat.com> - 1.8-6
- Patch for the issue67 test removed
* Fri Jun 17 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.8-5
- Add osgi metadata to jar file (#713935)
* Thu Jun 09 2011 Jaromir Capik <jcapik@redhat.com> - 1.8-4
- File handle leaks patched
* Tue Jun 07 2011 Jaromir Capik <jcapik@redhat.com> - 1.8-3
- base64coder-java renamed to base64coder
* Wed Jun 01 2011 Jaromir Capik <jcapik@redhat.com> - 1.8-2
- Bundled stuff removal
* Mon May 16 2011 Jaromir Capik <jcapik@redhat.com> - 1.8-1
- Initial version of the package

View File

@ -1 +0,0 @@
SHA512 (snakeyaml-1.32.tar.gz) = 579d1881356a77cd29901397fa2fb246a6429d31083b9c2213d5cea0794287096e9783f2587b563f83ca26b9e04a6b942532ddcc84b766b9b1cf38201903c57b