Fix schemaZip Gradle task on MS Windows
Prior to this commit, the schemaZip Gradle task failed to find Spring schema files on MS Windows due to path separators hard coded to forward slashes that are not compatible with the Windows operating system. Consequently, a full build failed on Windows since the distZip task was not able to locate the zipped schema archive that the schemaZip task failed to create. This commit fixes this by updating the schemaZip task to search for schema files using backslashes as well as forward slashes. Closes gh-23933
This commit is contained in:
parent
7646895fd4
commit
4e5ae54417
|
@ -175,14 +175,14 @@ task schemaZip(type: Zip) {
|
||||||
def Properties schemas = new Properties();
|
def Properties schemas = new Properties();
|
||||||
|
|
||||||
module.sourceSets.main.resources.find {
|
module.sourceSets.main.resources.find {
|
||||||
it.path.endsWith("META-INF/spring.schemas")
|
(it.path.endsWith("META-INF/spring.schemas") || it.path.endsWith("META-INF\\spring.schemas"))
|
||||||
}?.withInputStream { schemas.load(it) }
|
}?.withInputStream { schemas.load(it) }
|
||||||
|
|
||||||
for (def key : schemas.keySet()) {
|
for (def key : schemas.keySet()) {
|
||||||
def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
|
def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
|
||||||
assert shortName != key
|
assert shortName != key
|
||||||
File xsdFile = module.sourceSets.main.resources.find {
|
File xsdFile = module.sourceSets.main.resources.find {
|
||||||
it.path.endsWith(schemas.get(key))
|
(it.path.endsWith(schemas.get(key)) || it.path.endsWith(schemas.get(key).replaceAll('\\/','\\\\')))
|
||||||
}
|
}
|
||||||
assert xsdFile != null
|
assert xsdFile != null
|
||||||
into (shortName) {
|
into (shortName) {
|
||||||
|
|
Loading…
Reference in New Issue