Polish "Default to optimized launch of the JVM when using spring-boot:run"
Closes gh-16941
This commit is contained in:
		
							parent
							
								
									569b850fe0
								
							
						
					
					
						commit
						4cdb5a8ecb
					
				| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
invoker.goals=clean verify -X
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,6 @@
 | 
			
		|||
def file = new File(basedir, "build.log")
 | 
			
		||||
return file.text.contains("I haz been run from '$basedir'")
 | 
			
		||||
import static org.junit.Assert.assertTrue
 | 
			
		||||
 | 
			
		||||
def file = new File(basedir, "build.log")
 | 
			
		||||
assertTrue file.text.contains("I haz been run from '$basedir'")
 | 
			
		||||
assertTrue file.text.contains("JVM argument(s): -Xverify:none -XX:TieredStopAtLevel=1")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@ package org.springframework.boot.maven;
 | 
			
		|||
import java.io.File;
 | 
			
		||||
import java.net.URL;
 | 
			
		||||
import java.net.URLClassLoader;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -55,8 +54,12 @@ public class RunMojo extends AbstractRunMojo {
 | 
			
		|||
	 */
 | 
			
		||||
	private Boolean hasDevtools;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Whether the JVM's launch should be optimized.
 | 
			
		||||
	 * @since 2.2.0
 | 
			
		||||
	 */
 | 
			
		||||
	@Parameter(property = "optimizedLaunch", defaultValue = "true")
 | 
			
		||||
	private boolean optimizedLaunch = true;
 | 
			
		||||
	private boolean optimizedLaunch;
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	@Deprecated
 | 
			
		||||
| 
						 | 
				
			
			@ -72,13 +75,19 @@ public class RunMojo extends AbstractRunMojo {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected RunArguments resolveJvmArguments() {
 | 
			
		||||
		RunArguments jvmArguments = super.resolveJvmArguments();
 | 
			
		||||
		if (isFork() && this.optimizedLaunch) {
 | 
			
		||||
			jvmArguments.getArgs().addFirst("-XX:TieredStopAtLevel=1");
 | 
			
		||||
			jvmArguments.getArgs().addFirst("-Xverify:none");
 | 
			
		||||
		}
 | 
			
		||||
		return jvmArguments;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected void runWithForkedJvm(File workingDirectory, List<String> args,
 | 
			
		||||
			Map<String, String> environmentVariables) throws MojoExecutionException {
 | 
			
		||||
		if (this.optimizedLaunch) {
 | 
			
		||||
			String[] optimizedLaunchArgs = { "-Xverify:none", "-XX:TieredStopAtLevel=1" };
 | 
			
		||||
			Collections.addAll(args, optimizedLaunchArgs);
 | 
			
		||||
		}
 | 
			
		||||
		int exitCode = forkJvm(workingDirectory, args, environmentVariables);
 | 
			
		||||
		if (exitCode == 0 || exitCode == EXIT_CODE_SIGINT) {
 | 
			
		||||
			return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue