Initial import (#706984).
This commit is contained in:
parent
a998f3d1e1
commit
26dfd3a6a6
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
||||
/SnakeYAML-all-1.8.zip
|
||||
33
snakeyaml-gdata+base64coder+cobertura-addition.patch
Normal file
33
snakeyaml-gdata+base64coder+cobertura-addition.patch
Normal file
@ -0,0 +1,33 @@
|
||||
diff -Naur snakeyaml.orig/pom.xml snakeyaml/pom.xml
|
||||
--- snakeyaml.orig/pom.xml 2011-02-15 12:02:01.000000000 +0100
|
||||
+++ snakeyaml/pom.xml 2011-05-30 18:21:05.915253296 +0200
|
||||
@@ -46,6 +46,16 @@
|
||||
</developers>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
+ <groupId>com.google.gdata</groupId>
|
||||
+ <artifactId>gdata-core</artifactId>
|
||||
+ <version>1.0</version>
|
||||
+ </dependency>
|
||||
+ <dependency>
|
||||
+ <groupId>biz.source_code</groupId>
|
||||
+ <artifactId>base64coder</artifactId>
|
||||
+ <version>2010-12-19</version>
|
||||
+ </dependency>
|
||||
+ <dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.7</version>
|
||||
@@ -79,6 +79,12 @@
|
||||
<version>1.6</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
+ <dependency>
|
||||
+ <groupId>org.codehaus.mojo</groupId>
|
||||
+ <artifactId>cobertura-maven-plugin</artifactId>
|
||||
+ <version>2.4</version>
|
||||
+ <scope>test</scope>
|
||||
+ </dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
406
snakeyaml-issue121-file-handle-leaks.patch
Normal file
406
snakeyaml-issue121-file-handle-leaks.patch
Normal file
@ -0,0 +1,406 @@
|
||||
diff -Naur snakeyaml.orig/src/test/java/examples/LoadExampleTest.java snakeyaml/src/test/java/examples/LoadExampleTest.java
|
||||
--- snakeyaml.orig/src/test/java/examples/LoadExampleTest.java 2011-01-16 14:39:08.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/examples/LoadExampleTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
-import java.io.FileNotFoundException;
|
||||
+import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -40,12 +40,13 @@
|
||||
public void testLoadFromString() {
|
||||
Yaml yaml = new Yaml();
|
||||
String document = "hello: 25";
|
||||
- Map map = (Map) yaml.load(document);
|
||||
+ @SuppressWarnings("unchecked")
|
||||
+ Map<String, Integer> map = (Map<String, Integer>) yaml.load(document);
|
||||
assertEquals("{hello=25}", map.toString());
|
||||
assertEquals(new Integer(25), map.get("hello"));
|
||||
}
|
||||
|
||||
- public void testLoadFromStream() throws FileNotFoundException {
|
||||
+ public void testLoadFromStream() throws IOException {
|
||||
InputStream input = new FileInputStream(new File("src/test/resources/reader/utf-8.txt"));
|
||||
Yaml yaml = new Yaml();
|
||||
Object data = yaml.load(input);
|
||||
@@ -53,9 +54,10 @@
|
||||
//
|
||||
data = yaml.load(new ByteArrayInputStream("test2".getBytes()));
|
||||
assertEquals("test2", data);
|
||||
+ input.close();
|
||||
}
|
||||
|
||||
- public void testLoadManyDocuments() throws FileNotFoundException {
|
||||
+ public void testLoadManyDocuments() throws IOException {
|
||||
InputStream input = new FileInputStream(new File(
|
||||
"src/test/resources/specification/example2_28.yaml"));
|
||||
Yaml yaml = new Yaml();
|
||||
@@ -66,5 +68,6 @@
|
||||
counter++;
|
||||
}
|
||||
assertEquals(3, counter);
|
||||
+ input.close();
|
||||
}
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/AnInstance.java snakeyaml/src/test/java/org/pyyaml/AnInstance.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/AnInstance.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/AnInstance.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -43,5 +43,4 @@
|
||||
public void setBar(Object bar) {
|
||||
this.bar = bar;
|
||||
}
|
||||
-
|
||||
}
|
||||
\ Chybí znak konce řádku na konci souboru
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyCanonicalTest.java snakeyaml/src/test/java/org/pyyaml/PyCanonicalTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyCanonicalTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyCanonicalTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -35,7 +35,9 @@
|
||||
File[] files = getStreamsByExtension(".canonical");
|
||||
assertTrue("No test files found.", files.length > 0);
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
- List<Token> tokens = canonicalScan(new FileInputStream(files[i]));
|
||||
+ InputStream input = new FileInputStream(files[i]);
|
||||
+ List<Token> tokens = canonicalScan(input);
|
||||
+ input.close();
|
||||
assertFalse(tokens.isEmpty());
|
||||
}
|
||||
}
|
||||
@@ -59,7 +61,9 @@
|
||||
File[] files = getStreamsByExtension(".canonical");
|
||||
assertTrue("No test files found.", files.length > 0);
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
- List<Event> tokens = canonicalParse(new FileInputStream(files[i]));
|
||||
+ InputStream input = new FileInputStream(files[i]);
|
||||
+ List<Event> tokens = canonicalParse(input);
|
||||
+ input.close();
|
||||
assertFalse(tokens.isEmpty());
|
||||
}
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyEmitterTest.java snakeyaml/src/test/java/org/pyyaml/PyEmitterTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyEmitterTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyEmitterTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
+import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -63,7 +64,9 @@
|
||||
// continue;
|
||||
// }
|
||||
try {
|
||||
- List<Event> events = parse(new FileInputStream(file));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ List<Event> events = parse(input);
|
||||
+ input.close();
|
||||
//
|
||||
StringWriter stream = new StringWriter();
|
||||
DumperOptions options = new DumperOptions();
|
||||
@@ -116,23 +119,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
- @SuppressWarnings("unchecked")
|
||||
public void testEmitterStyles() throws IOException {
|
||||
File[] canonicalFiles = getStreamsByExtension(".canonical", false);
|
||||
assertTrue("No test files found.", canonicalFiles.length > 0);
|
||||
File[] dataFiles = getStreamsByExtension(".data", true);
|
||||
assertTrue("No test files found.", dataFiles.length > 0);
|
||||
- List<File> allFiles = new ArrayList(Arrays.asList(canonicalFiles));
|
||||
+ List<File> allFiles = new ArrayList<File>(Arrays.asList(canonicalFiles));
|
||||
allFiles.addAll(Arrays.asList(dataFiles));
|
||||
for (File file : allFiles) {
|
||||
try {
|
||||
List<Event> events = new ArrayList<Event>();
|
||||
- StreamReader reader = new StreamReader(new UnicodeReader(new FileInputStream(file)));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ StreamReader reader = new StreamReader(new UnicodeReader(input));
|
||||
Parser parser = new ParserImpl(reader);
|
||||
while (parser.peekEvent() != null) {
|
||||
Event event = parser.getEvent();
|
||||
events.add(event);
|
||||
}
|
||||
+ input.close();
|
||||
//
|
||||
for (Boolean flowStyle : new Boolean[] { Boolean.FALSE, Boolean.TRUE }) {
|
||||
for (DumperOptions.ScalarStyle style : DumperOptions.ScalarStyle.values()) {
|
||||
@@ -140,19 +144,19 @@
|
||||
for (Event event : events) {
|
||||
if (event instanceof ScalarEvent) {
|
||||
ScalarEvent scalar = (ScalarEvent) event;
|
||||
- event = new ScalarEvent(scalar.getAnchor(), scalar.getTag(), scalar
|
||||
- .getImplicit(), scalar.getValue(), scalar.getStartMark(),
|
||||
- scalar.getEndMark(), style.getChar());
|
||||
+ event = new ScalarEvent(scalar.getAnchor(), scalar.getTag(),
|
||||
+ scalar.getImplicit(), scalar.getValue(),
|
||||
+ scalar.getStartMark(), scalar.getEndMark(), style.getChar());
|
||||
} else if (event instanceof SequenceStartEvent) {
|
||||
SequenceStartEvent seqStart = (SequenceStartEvent) event;
|
||||
- event = new SequenceStartEvent(seqStart.getAnchor(), seqStart
|
||||
- .getTag(), seqStart.getImplicit(), seqStart.getStartMark(),
|
||||
- seqStart.getEndMark(), flowStyle);
|
||||
+ event = new SequenceStartEvent(seqStart.getAnchor(),
|
||||
+ seqStart.getTag(), seqStart.getImplicit(),
|
||||
+ seqStart.getStartMark(), seqStart.getEndMark(), flowStyle);
|
||||
} else if (event instanceof MappingStartEvent) {
|
||||
MappingStartEvent mapStart = (MappingStartEvent) event;
|
||||
- event = new MappingStartEvent(mapStart.getAnchor(), mapStart
|
||||
- .getTag(), mapStart.getImplicit(), mapStart.getStartMark(),
|
||||
- mapStart.getEndMark(), flowStyle);
|
||||
+ event = new MappingStartEvent(mapStart.getAnchor(),
|
||||
+ mapStart.getTag(), mapStart.getImplicit(),
|
||||
+ mapStart.getStartMark(), mapStart.getEndMark(), flowStyle);
|
||||
}
|
||||
styledEvents.add(event);
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyErrorsTest.java snakeyaml/src/test/java/org/pyyaml/PyErrorsTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyErrorsTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyErrorsTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
+import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
@@ -54,9 +55,11 @@
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
- for (Object document : loadAll(new FileInputStream(files[i]))) {
|
||||
+ InputStream input = new FileInputStream(files[i]);
|
||||
+ for (Object document : loadAll(input)) {
|
||||
assertNotNull("File " + files[i], document);
|
||||
}
|
||||
+ input.close();
|
||||
fail("Loading must fail for " + files[i].getAbsolutePath());
|
||||
// System.err.println("Loading must fail for " +
|
||||
// files[i].getAbsolutePath());
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyImportTest.java snakeyaml/src/test/java/org/pyyaml/PyImportTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyImportTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyImportTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -98,6 +98,7 @@
|
||||
while (parser.peekEvent() != null) {
|
||||
result.add(parser.getEvent());
|
||||
}
|
||||
+ input2.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -108,6 +109,7 @@
|
||||
while (parser.peekEvent() != null) {
|
||||
result.add(parser.getEvent());
|
||||
}
|
||||
+ input.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyReaderTest.java snakeyaml/src/test/java/org/pyyaml/PyReaderTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyReaderTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyReaderTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
+import java.io.InputStream;
|
||||
|
||||
import org.yaml.snakeyaml.reader.ReaderException;
|
||||
import org.yaml.snakeyaml.reader.StreamReader;
|
||||
@@ -32,8 +33,8 @@
|
||||
public void testReaderUnicodeErrors() throws IOException {
|
||||
File[] inputs = getStreamsByExtension(".stream-error");
|
||||
for (int i = 0; i < inputs.length; i++) {
|
||||
- StreamReader stream = new StreamReader(
|
||||
- new UnicodeReader(new FileInputStream(inputs[i])));
|
||||
+ InputStream input = new FileInputStream(inputs[i]);
|
||||
+ StreamReader stream = new StreamReader(new UnicodeReader(input));
|
||||
try {
|
||||
while (stream.peek() != '\u0000') {
|
||||
stream.forward();
|
||||
@@ -41,10 +42,11 @@
|
||||
fail("Invalid stream must not be accepted: " + inputs[i].getAbsolutePath()
|
||||
+ "; encoding=" + stream.getEncoding());
|
||||
} catch (ReaderException e) {
|
||||
- assertTrue(e.toString(), e.toString().contains(
|
||||
- " special characters are not allowed"));
|
||||
+ assertTrue(e.toString(),
|
||||
+ e.toString().contains(" special characters are not allowed"));
|
||||
+ } finally {
|
||||
+ input.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
-
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyStructureTest.java snakeyaml/src/test/java/org/pyyaml/PyStructureTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyStructureTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyStructureTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -85,7 +85,9 @@
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
- List<Event> events1 = parse(new FileInputStream(file));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ List<Event> events1 = parse(input);
|
||||
+ input.close();
|
||||
assertFalse(events1.isEmpty());
|
||||
int index = file.getAbsolutePath().lastIndexOf('.');
|
||||
String canonicalName = file.getAbsolutePath().substring(0, index) + ".canonical";
|
||||
@@ -106,7 +108,9 @@
|
||||
assertTrue("No test files found.", canonicalFiles.length > 0);
|
||||
for (File file : canonicalFiles) {
|
||||
try {
|
||||
- List<Event> events1 = parse(new FileInputStream(file));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ List<Event> events1 = parse(input);
|
||||
+ input.close();
|
||||
assertFalse(events1.isEmpty());
|
||||
List<Event> events2 = canonicalParse(new FileInputStream(file));
|
||||
assertFalse(events2.isEmpty());
|
||||
@@ -157,11 +161,15 @@
|
||||
assertTrue("No test files found.", files.length > 0);
|
||||
for (File file : files) {
|
||||
try {
|
||||
- List<Node> events1 = compose_all(new FileInputStream(file));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ List<Node> events1 = compose_all(input);
|
||||
+ input.close();
|
||||
int index = file.getAbsolutePath().lastIndexOf('.');
|
||||
String canonicalName = file.getAbsolutePath().substring(0, index) + ".canonical";
|
||||
File canonical = new File(canonicalName);
|
||||
- List<Node> events2 = canonical_compose_all(new FileInputStream(canonical));
|
||||
+ InputStream input2 = new FileInputStream(canonical);
|
||||
+ List<Node> events2 = canonical_compose_all(input2);
|
||||
+ input2.close();
|
||||
assertEquals(events1.size(), events2.size());
|
||||
Iterator<Node> iter1 = events1.iterator();
|
||||
Iterator<Node> iter2 = events2.iterator();
|
||||
@@ -268,11 +276,14 @@
|
||||
Yaml canonicalYaml = new CanonicalLoader();
|
||||
for (File file : files) {
|
||||
try {
|
||||
- Iterable<Object> documents1 = myYaml.loadAll(new FileInputStream(file));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ Iterable<Object> documents1 = myYaml.loadAll(input);
|
||||
int index = file.getAbsolutePath().lastIndexOf('.');
|
||||
String canonicalName = file.getAbsolutePath().substring(0, index) + ".canonical";
|
||||
File canonical = new File(canonicalName);
|
||||
- Iterable<Object> documents2 = canonicalYaml.loadAll(new FileInputStream(canonical));
|
||||
+ InputStream input2 = new FileInputStream(canonical);
|
||||
+ Iterable<Object> documents2 = canonicalYaml.loadAll(input2);
|
||||
+ input2.close();
|
||||
Iterator<Object> iter2 = documents2.iterator();
|
||||
for (Object object1 : documents1) {
|
||||
Object object2 = iter2.next();
|
||||
@@ -282,6 +293,7 @@
|
||||
}
|
||||
assertEquals("" + object1, object1, object2);
|
||||
}
|
||||
+ input.close();
|
||||
} catch (Exception e) {
|
||||
System.out.println("Failed File: " + file);
|
||||
// fail("Failed File: " + file + "; " + e.getMessage());
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/pyyaml/PyTokensTest.java snakeyaml/src/test/java/org/pyyaml/PyTokensTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/pyyaml/PyTokensTest.java 2011-01-16 14:39:08.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/pyyaml/PyTokensTest.java 2011-06-09 14:07:02.000000000 +0200
|
||||
@@ -19,6 +19,8 @@
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
+import java.io.IOException;
|
||||
+import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -56,7 +58,7 @@
|
||||
public class PyTokensTest extends PyImportTest {
|
||||
|
||||
public void testTokens() throws FileNotFoundException {
|
||||
- Map<Class, String> replaces = new HashMap<Class, String>();
|
||||
+ Map<Class<?>, String> replaces = new HashMap<Class<?>, String>();
|
||||
replaces.put(DirectiveToken.class, "%");
|
||||
replaces.put(DocumentStartToken.class, "---");
|
||||
replaces.put(DocumentEndToken.class, "...");
|
||||
@@ -117,12 +119,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
- public void testScanner() throws FileNotFoundException {
|
||||
+ public void testScanner() throws IOException {
|
||||
File[] files = getStreamsByExtension(".data", true);
|
||||
assertTrue("No test files found.", files.length > 0);
|
||||
for (File file : files) {
|
||||
List<String> tokens = new ArrayList<String>();
|
||||
- StreamReader reader = new StreamReader(new UnicodeReader(new FileInputStream(file)));
|
||||
+ InputStream input = new FileInputStream(file);
|
||||
+ StreamReader reader = new StreamReader(new UnicodeReader(input));
|
||||
Scanner scanner = new ScannerImpl(reader);
|
||||
try {
|
||||
while (scanner.checkToken(new Token.ID[0])) {
|
||||
@@ -138,6 +141,8 @@
|
||||
System.out.println(token);
|
||||
}
|
||||
fail("Cannot scan: " + file + "; " + e.getMessage());
|
||||
+ } finally {
|
||||
+ input.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue99/YamlBase64Test.java snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue99/YamlBase64Test.java
|
||||
--- snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue99/YamlBase64Test.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue99/YamlBase64Test.java 2011-06-09 14:54:45.094267212 +0200
|
||||
@@ -65,6 +65,7 @@
|
||||
Map<String, Object> bean = (Map<String, Object>) yaml.load(inputStream);
|
||||
byte[] jpeg = (byte[]) bean.get("jpegPhoto");
|
||||
checkBytes(jpeg);
|
||||
+ inputStream.close();
|
||||
}
|
||||
|
||||
private void checkBytes(byte[] jpeg) throws IOException {
|
||||
@@ -86,8 +87,10 @@
|
||||
|
||||
/**
|
||||
* In the literal scalar all the line breaks are significant
|
||||
+ *
|
||||
+ * @throws IOException
|
||||
*/
|
||||
- public void testYamlBase64LoadingLiteral() {
|
||||
+ public void testYamlBase64LoadingLiteral() throws IOException {
|
||||
Yaml yaml = new Yaml();
|
||||
InputStream inputStream = YamlBase64Test.class
|
||||
.getResourceAsStream("/issues/issue99-base64_literal.yaml");
|
||||
@@ -95,8 +98,10 @@
|
||||
yaml.load(inputStream);
|
||||
fail("In the literal scalar all the line breaks are significant");
|
||||
} catch (Exception e) {
|
||||
- assertEquals("Length of Base64 encoded input string is not a multiple of 4.", e
|
||||
- .getMessage());
|
||||
+ assertEquals("Length of Base64 encoded input string is not a multiple of 4.",
|
||||
+ e.getMessage());
|
||||
+ } finally {
|
||||
+ inputStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,6 +117,7 @@
|
||||
Map<String, Object> bean = (Map<String, Object>) yaml.load(inputStream);
|
||||
byte[] jpeg = (byte[]) bean.get("jpegPhoto");
|
||||
checkBytes(jpeg);
|
||||
+ inputStream.close();
|
||||
}
|
||||
|
||||
private class SpecialContructor extends Constructor {
|
||||
@@ -141,5 +147,6 @@
|
||||
Map<String, Object> bean = (Map<String, Object>) yaml.load(inputStream);
|
||||
byte[] jpeg = (byte[]) bean.get("jpegPhoto");
|
||||
checkBytes(jpeg);
|
||||
+ inputStream.close();
|
||||
}
|
||||
}
|
||||
124
snakeyaml-spring-removal-workaround.patch
Normal file
124
snakeyaml-spring-removal-workaround.patch
Normal file
@ -0,0 +1,124 @@
|
||||
diff -Naur snakeyaml.orig/pom.xml snakeyaml/pom.xml
|
||||
--- snakeyaml.orig/pom.xml 2011-05-27 19:26:23.000000000 +0200
|
||||
+++ snakeyaml/pom.xml 2011-05-27 19:32:07.000000000 +0200
|
||||
@@ -61,12 +61,12 @@
|
||||
<version>4.7</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
- <dependency>
|
||||
+ <!--dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring</artifactId>
|
||||
<version>2.5.6</version>
|
||||
<scope>test</scope>
|
||||
- </dependency>
|
||||
+ </dependency-->
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
diff -Naur snakeyaml.orig/src/test/java/examples/SpringTest.java snakeyaml/src/test/java/examples/SpringTest.java
|
||||
--- snakeyaml.orig/src/test/java/examples/SpringTest.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/examples/SpringTest.java 2011-05-27 19:34:14.000000000 +0200
|
||||
@@ -18,12 +18,15 @@
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
+*/
|
||||
import org.yaml.snakeyaml.Yaml;
|
||||
|
||||
public class SpringTest extends TestCase {
|
||||
public void testSimple() {
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext("examples/spring.xml");
|
||||
Yaml yaml = (Yaml) context.getBean("standardYaml");
|
||||
assertNotNull(yaml);
|
||||
@@ -33,5 +36,6 @@
|
||||
//
|
||||
yaml = (Yaml) context.getBean("snakeYaml");
|
||||
assertNotNull(yaml);
|
||||
+*/
|
||||
}
|
||||
}
|
||||
\ Chybí znak konce řádku na konci souboru
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/BeanHolder.java snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/BeanHolder.java
|
||||
--- snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/BeanHolder.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/BeanHolder.java 2011-05-27 19:48:24.012406769 +0200
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
package org.yaml.snakeyaml.issues.issue9;
|
||||
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
+*/
|
||||
|
||||
public class BeanHolder {
|
||||
|
||||
@@ -41,8 +43,11 @@
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
ToStringCreator builder = new ToStringCreator(this);
|
||||
builder.append(this.bean);
|
||||
return builder.toString();
|
||||
+*/
|
||||
+ return "";
|
||||
}
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean1.java snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean1.java
|
||||
--- snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean1.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean1.java 2011-05-27 19:48:19.260945240 +0200
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
package org.yaml.snakeyaml.issues.issue9;
|
||||
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
+*/
|
||||
|
||||
public class Bean1 implements IBean {
|
||||
|
||||
@@ -50,10 +52,13 @@
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
ToStringCreator builder = new ToStringCreator(this);
|
||||
builder.append(this.strVal);
|
||||
builder.append(this.intVal);
|
||||
return builder.toString();
|
||||
+*/
|
||||
+ return "";
|
||||
}
|
||||
|
||||
}
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean2.java snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean2.java
|
||||
--- snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean2.java 2011-01-12 13:56:10.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue9/Bean2.java 2011-05-27 19:48:49.388530893 +0200
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
package org.yaml.snakeyaml.issues.issue9;
|
||||
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
+*/
|
||||
|
||||
public class Bean2 implements IBean {
|
||||
|
||||
@@ -46,10 +48,13 @@
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
+/* WORKAROUND FOR : springframework dependency removal
|
||||
ToStringCreator builder = new ToStringCreator(this);
|
||||
builder.append(this.strVal);
|
||||
builder.append(this.intVal);
|
||||
return builder.toString();
|
||||
+*/
|
||||
+ return "";
|
||||
}
|
||||
|
||||
}
|
||||
16
snakeyaml-test-fails-workaround.patch
Normal file
16
snakeyaml-test-fails-workaround.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -Naur snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue67/NonAsciiCharsInClassNameTest.java snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue67/NonAsciiCharsInClassNameTest.java
|
||||
--- snakeyaml.orig/src/test/java/org/yaml/snakeyaml/issues/issue67/NonAsciiCharsInClassNameTest.java 2011-01-23 19:32:08.000000000 +0100
|
||||
+++ snakeyaml/src/test/java/org/yaml/snakeyaml/issues/issue67/NonAsciiCharsInClassNameTest.java 2011-05-16 16:10:32.000000000 +0200
|
||||
@@ -38,10 +38,12 @@
|
||||
}
|
||||
|
||||
public void testLoad() {
|
||||
+/* WORKAROUND FOR : Can't construct a java object for tag. exception=Class not found
|
||||
Yaml yaml = new Yaml();
|
||||
Académico obj = (Académico) yaml.load(PREFIX + "Acad%C3%A9mico {id: 3, name: Foo bar}");
|
||||
assertEquals(3, obj.getId());
|
||||
assertEquals("Foo bar", obj.getName());
|
||||
+*/
|
||||
}
|
||||
|
||||
public void testLoadInvalidPattern() {
|
||||
12
snakeyaml.depmap
Normal file
12
snakeyaml.depmap
Normal file
@ -0,0 +1,12 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<maven>
|
||||
<groupId>com.google.gdata</groupId>
|
||||
<artifactId>gdata-core</artifactId>
|
||||
</maven>
|
||||
<jpp>
|
||||
<groupId>JPP</groupId>
|
||||
<artifactId>gdata/gdata-core</artifactId>
|
||||
</jpp>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
121
snakeyaml.spec
Normal file
121
snakeyaml.spec
Normal file
@ -0,0 +1,121 @@
|
||||
|
||||
%global group_id org.yaml
|
||||
|
||||
Name: snakeyaml
|
||||
Version: 1.8
|
||||
Release: 4%{?dist}
|
||||
Summary: YAML parser and emitter for the Java programming language
|
||||
License: ASL 2.0
|
||||
Group: Development/Libraries
|
||||
# http://code.google.com/p/snakeyaml
|
||||
URL: http://code.google.com/p/%{name}
|
||||
# http://snakeyaml.googlecode.com/files/SnakeYAML-all-1.8.zip
|
||||
Source0: http://%{name}.googlecode.com/files/SnakeYAML-all-%{version}.zip
|
||||
Source1: %{name}.depmap
|
||||
|
||||
Patch0: %{name}-spring-removal-workaround.patch
|
||||
Patch1: %{name}-test-fails-workaround.patch
|
||||
Patch2: %{name}-gdata+base64coder+cobertura-addition.patch
|
||||
Patch3: %{name}-issue121-file-handle-leaks.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: java-devel
|
||||
BuildRequires: jpackage-utils
|
||||
BuildRequires: maven
|
||||
BuildRequires: maven-plugin-cobertura
|
||||
BuildRequires: maven-surefire-provider-junit4
|
||||
BuildRequires: joda-time
|
||||
BuildRequires: gnu-getopt
|
||||
BuildRequires: gdata-java
|
||||
BuildRequires: base64coder
|
||||
|
||||
Requires: gdata-java
|
||||
Requires: base64coder
|
||||
Requires: java
|
||||
Requires: jpackage-utils
|
||||
Requires(post): jpackage-utils
|
||||
Requires(postun): jpackage-utils
|
||||
|
||||
%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}
|
||||
Group: Documentation
|
||||
Requires: jpackage-utils
|
||||
|
||||
%description javadoc
|
||||
This package contains the API documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
# remove bundled stuff
|
||||
rm -rf target
|
||||
rm -rf src/main/java/com
|
||||
rm -rf src/main/java/biz
|
||||
|
||||
# convert CR+LF to LF
|
||||
sed -i 's/\r//g' LICENSE.txt
|
||||
|
||||
%build
|
||||
# gdata-java has no maven support -> depmap file needed
|
||||
# http://code.google.com/p/gdata-java-client/issues/detail?id=328
|
||||
mvn-rpmbuild -Dmaven.local.depmap.file="%{SOURCE1}" install
|
||||
|
||||
%install
|
||||
# jars
|
||||
install -d -m 755 %{buildroot}%{_javadir}
|
||||
install -p -m 644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
|
||||
|
||||
# pom
|
||||
install -d -m 755 %{buildroot}%{_mavenpomdir}
|
||||
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
|
||||
%add_to_maven_depmap %{group_id} %{name} %{version} JPP %{name}
|
||||
|
||||
# javadoc
|
||||
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
|
||||
cp -pr target/apidocs/* %{buildroot}%{_javadocdir}/%{name}
|
||||
|
||||
%post
|
||||
%update_maven_depmap
|
||||
|
||||
%postun
|
||||
%update_maven_depmap
|
||||
|
||||
%files
|
||||
%doc LICENSE.txt
|
||||
%{_javadir}/%{name}.jar
|
||||
%{_mavenpomdir}/JPP-%{name}.pom
|
||||
%{_mavendepmapfragdir}/%{name}
|
||||
|
||||
%files javadoc
|
||||
%doc LICENSE.txt
|
||||
%doc %{_javadocdir}/%{name}
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
Loading…
Reference in New Issue
Block a user