mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Fix Maven/Gradle wrapper executable flag
Spring Initalizr now bundles a wrapper script for the build system. While that wrapper has the necessary execute flag in the zip archive, that flag is lost as the zip abstraction does not honor those. The init command now makes sure to restore the execute flag on `mvnw` and `gradlew` if necessary. Unfortunately, this can't be tested as the Windows build would fail to assert that the executable flag has been propertly set. Closes gh-4392
This commit is contained in:
parent
96ca3e0c0f
commit
6d90188a27
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2014 the original author or authors.
|
* Copyright 2012-2015 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -106,6 +106,8 @@ class ProjectGenerator {
|
|||||||
new ByteArrayInputStream(entity.getContent()));
|
new ByteArrayInputStream(entity.getContent()));
|
||||||
try {
|
try {
|
||||||
extractFromStream(zipStream, overwrite, outputFolder);
|
extractFromStream(zipStream, overwrite, outputFolder);
|
||||||
|
fixExecutableFlag(outputFolder, "mvnw");
|
||||||
|
fixExecutableFlag(outputFolder, "gradlew");
|
||||||
Log.info("Project extracted to '" + outputFolder.getAbsolutePath() + "'");
|
Log.info("Project extracted to '" + outputFolder.getAbsolutePath() + "'");
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
@ -154,4 +156,11 @@ class ProjectGenerator {
|
|||||||
Log.info("Content saved to '" + output + "'");
|
Log.info("Content saved to '" + output + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void fixExecutableFlag(File dir, String fileName) {
|
||||||
|
File f = new File(dir, fileName);
|
||||||
|
if (f.exists()) {
|
||||||
|
f.setExecutable(true, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user