49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/jbundler/pom.rb', line 49
def initialize(name, version, deps, packaging = nil)
unless defined? XMLOutputFactory
java_imports
end
@name = name
@packaging = packaging || 'jar'
@version = version
@file = File.join(temp_dir, 'pom.xml')
out = java.io.BufferedOutputStream.new(java.io.FileOutputStream.new(@file.to_java))
outputFactory = XMLOutputFactory.newFactory()
xmlStreamWriter = outputFactory.createXMLStreamWriter(out)
xmlStreamWriter.writeStartDocument
xmlStreamWriter.writeStartElement("project")
writeElement(xmlStreamWriter,"modelVersion","4.0.0")
writeElement(xmlStreamWriter,"groupId", GROUP_ID)
writeElement(xmlStreamWriter,"artifactId", name)
writeElement(xmlStreamWriter,"version", version.to_s.to_java)
writeElement(xmlStreamWriter,"packaging", packaging) if packaging
xmlStreamWriter.writeStartElement("dependencies".to_java)
deps.each do |line|
if coord = to_coordinate(line)
group_id, artifact_id, extension, version = coord.split(/:/)
xmlStreamWriter.writeStartElement("dependency".to_java)
writeElement(xmlStreamWriter,"groupId", group_id)
writeElement(xmlStreamWriter,"artifactId", artifact_id)
writeElement(xmlStreamWriter,"version", version)
writeElement(xmlStreamWriter,"type", extension) if extension != 'jar'
xmlStreamWriter.writeEndElement end
end
xmlStreamWriter.writeEndElement
xmlStreamWriter.writeEndElement
xmlStreamWriter.writeEndDocument
xmlStreamWriter.close
out.close
end
|