001    /**
002     * Copyright 2004-2013 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.common.maven.spring;
017    
018    import org.apache.maven.project.MavenProject;
019    import org.kuali.common.util.MavenConstants;
020    import org.kuali.common.util.execute.Executable;
021    import org.kuali.common.util.spring.SpringUtils;
022    import org.springframework.beans.factory.annotation.Autowired;
023    import org.springframework.beans.factory.annotation.Qualifier;
024    import org.springframework.context.annotation.Bean;
025    import org.springframework.context.annotation.Configuration;
026    import org.springframework.core.env.Environment;
027    
028    @Configuration
029    public class AugmentMavenPropertiesConfig {
030    
031            @Autowired
032            Environment env;
033    
034            @Autowired
035            @Qualifier(MavenConstants.MAVEN_PROJECT_BEAN_NAME)
036            MavenProject mavenProject;
037    
038            @Bean(initMethod = "execute")
039            public Executable augmentMavenProperties() {
040                    AugmentMavenPropertiesExecutable e = new AugmentMavenPropertiesExecutable();
041                    e.setMavenProject(mavenProject);
042                    e.setSkip(SpringUtils.getBoolean(env, "properties.maven.augment.skip", false));
043                    return e;
044            }
045    
046    }