title: Maven plugin execution change Maven properties or skip build lifecycle steps
body: <p>When I build my application with maven, I run <code>mvn clean install</code>. As a part of the install lifecycle, I run <code>appengine:devserver_start</code> from <a href="https://developers.google.com/appengine/docs/java/tools/maven" rel="nofollow">Google's GAE Maven plugin</a>. This appears to be already bound to a step in the lifecycle and therefore it reruns some build steps from the beginning, even though me running <code>mvn install</code> did those. For example, the resources step is rerun. I had my own Java script run to download the latest resources for my build. But because of <code>appengine:devserver_stop</code>, I need to uselessly run this cript again because the resources step is re-executed.</p>
  
  <p>I can think of two ways I can avoid this, but I'm not sure how to configure both ways. The first would be to somehow skip re-running build steps that I've already run. The other way would be to change the Maven POM properties just for the plugin execution. I have a Maven property set, either to <code>true</code> or <code>false</code>, that I can use to set the <code>skip</code> setting for the Java script I use during resources (because I run this script using the <strong>exec-maven-plugin</strong>). Think of this as a Maven property that can be set with the <em>-D</em> flag. Can I have this property changed just for the plugin?</p>
  
  <p>If you are having trouble thinking about my scenario, consider what happens when you run <code>mvn compile install</code>. All build lifecycle steps until <code>compile</code> will run, then all compile steps until <code>install</code> will run, including <code>compile</code>.</p>