parent
							
								
									01ebd6da08
								
							
						
					
					
						commit
						0effd7f58e
					
				|  | @ -222,14 +222,26 @@ public class DependencyCustomizer { | ||||||
| 	 * @param version the version | 	 * @param version the version | ||||||
| 	 * @return this {@link DependencyCustomizer} for continued use | 	 * @return this {@link DependencyCustomizer} for continued use | ||||||
| 	 */ | 	 */ | ||||||
| 	@SuppressWarnings("unchecked") |  | ||||||
| 	public DependencyCustomizer add(String group, String module, String version) { | 	public DependencyCustomizer add(String group, String module, String version) { | ||||||
|  | 		return this.add(group, module, version, true); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * Add a single dependencies. | ||||||
|  | 	 * @param group the group ID | ||||||
|  | 	 * @param module the module ID | ||||||
|  | 	 * @param version the version | ||||||
|  | 	 * @return this {@link DependencyCustomizer} for continued use | ||||||
|  | 	 */ | ||||||
|  | 	@SuppressWarnings("unchecked") | ||||||
|  | 	public DependencyCustomizer add(String group, String module, String version, | ||||||
|  | 			boolean transitive) { | ||||||
| 		if (canAdd()) { | 		if (canAdd()) { | ||||||
| 			Map<String, Object> dependency = new HashMap<String, Object>(); | 			Map<String, Object> dependency = new HashMap<String, Object>(); | ||||||
| 			dependency.put("group", group); | 			dependency.put("group", group); | ||||||
| 			dependency.put("module", module); | 			dependency.put("module", module); | ||||||
| 			dependency.put("version", version); | 			dependency.put("version", version); | ||||||
| 			dependency.put("transitive", true); | 			dependency.put("transitive", transitive); | ||||||
| 			return add(dependency); | 			return add(dependency); | ||||||
| 		} | 		} | ||||||
| 		return this; | 		return this; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | /* | ||||||
|  |  * Copyright 2012-2013 the original author or authors. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *      http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | package org.springframework.cli.compiler.autoconfigure; | ||||||
|  | 
 | ||||||
|  | import org.codehaus.groovy.ast.ClassNode; | ||||||
|  | import org.codehaus.groovy.control.customizers.ImportCustomizer; | ||||||
|  | import org.springframework.cli.compiler.AstUtils; | ||||||
|  | import org.springframework.cli.compiler.CompilerAutoConfiguration; | ||||||
|  | import org.springframework.cli.compiler.DependencyCustomizer; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * {@link CompilerAutoConfiguration} for Spring Security. | ||||||
|  |  *  | ||||||
|  |  * @author Dave Syer | ||||||
|  |  */ | ||||||
|  | public class SpringSecurityCompilerAutoConfiguration extends CompilerAutoConfiguration { | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public boolean matches(ClassNode classNode) { | ||||||
|  | 		return AstUtils.hasAtLeastOneAnnotation(classNode, "EnableWebSecurity"); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void applyDependencies(DependencyCustomizer dependencies) { | ||||||
|  | 		dependencies | ||||||
|  | 				.ifAnyMissingClasses( | ||||||
|  | 						"org.springframework.security.config.annotation.web.configuration.EnableWebSecurity") | ||||||
|  | 				.add("org.springframework.security", "spring-security-config", | ||||||
|  | 						dependencies.getProperty("spring.security.version")) | ||||||
|  | 				.add("org.springframework.security", "spring-security-web", | ||||||
|  | 						dependencies.getProperty("spring.security.version"), false); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void applyImports(ImportCustomizer imports) { | ||||||
|  | 		imports.addImports("org.springframework.security.core.Authentication", | ||||||
|  | 				"org.springframework.security.core.authority.AuthorityUtils") | ||||||
|  | 				.addStarImports( | ||||||
|  | 						"org.springframework.security.config.annotation.web.configuration", | ||||||
|  | 						"org.springframework.security.authentication", | ||||||
|  | 						"org.springframework.security.config.annotation.web", | ||||||
|  | 						"org.springframework.security.config.annotation.web.builders"); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -2,4 +2,4 @@ org.springframework.cli.compiler.autoconfigure.SpringCompilerAutoConfiguration | ||||||
| org.springframework.cli.compiler.autoconfigure.SpringMvcCompilerAutoConfiguration | org.springframework.cli.compiler.autoconfigure.SpringMvcCompilerAutoConfiguration | ||||||
| org.springframework.cli.compiler.autoconfigure.SpringBatchCompilerAutoConfiguration | org.springframework.cli.compiler.autoconfigure.SpringBatchCompilerAutoConfiguration | ||||||
| org.springframework.cli.compiler.autoconfigure.SpringIntegrationCompilerAutoConfiguration | org.springframework.cli.compiler.autoconfigure.SpringIntegrationCompilerAutoConfiguration | ||||||
| 
 | org.springframework.cli.compiler.autoconfigure.SpringSecurityCompilerAutoConfiguration | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| spring.zero.version: ${project.version} | spring.zero.version: ${project.version} | ||||||
| spring.version: ${spring.version} | spring.version: ${spring.version} | ||||||
| spring.batch.version: ${spring.batch.version} | spring.batch.version: ${spring.batch.version} | ||||||
|  | spring.security.version: ${spring.security.version} | ||||||
| spring.integration.version: ${spring.integration.version} | spring.integration.version: ${spring.integration.version} | ||||||
| groovy.version: ${groovy.version} | groovy.version: ${groovy.version} | ||||||
| jetty.version: ${jetty.version} | jetty.version: ${jetty.version} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue