2013-08-05 2 views
1

Есть ли общий способ сделать это для любого плагина maven, основанного на предпочтении пользователя/отключении его на основе файла свойств?maven плагин запускается только в том случае, если пользователь предпочитает

Имейте правильно действующий плагин maven с помощью com.mysema.querydsl, теперь хотите изменить, так что он запускается только в том случае, если предусмотрены определенные параметры флага/командной строки.

<plugin> 
      <groupId>com.mysema.querydsl</groupId> 
      <artifactId>querydsl-maven-plugin</artifactId> 
      <version>${querydsl-maven-plugin.version}</version> 
      //executions 
      <configuration> 
       <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver> 

       <jdbcUrl>jdbc:mysql://myurlk:port/db</jdbcUrl> 
       <jdbcUser>id1</jdbcUser> 
       <jdbcPassword>ccc</jdbcPassword> 
       <packageName>com.sample</packageName> 
       <targetFolder>${project.basedir}/src/main/java</targetFolder> 
       <schemaPattern>APP</schemaPattern> 
        //goal prefix here? 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>mysql</groupId> 
        <artifactId>mysql-connector-java</artifactId> 
        <version>${mysql.driver.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

Пробовал добавить

  <executions> 
       <execution> 
       <id>execution1</id> 
        <phase>test1</phase> 
        <goals> 
         <goal>export</goal> 
        </goals> 
       </execution> 
      </executions> 

    and a goal prefix  
           <goalPrefix>mysema1</goalPrefix> 

Но не работает. Хотите способ так этот плагин не работает, когда мы делаем по умолчанию

MVN чистую установку

Но нужно добавить еще один флаг, чтобы сделать его запустить? Использование Apache Maven 3.0.4

+0

Есть ли общий способ сделать это для любого плагина maven на основе пользователя, префикс/отключение его на основе файла свойств? – tgkprog

ответ

1

Определить профиль, добавьте определение плагина в профиль и добавить триггер свойства для профиля, как это:

<project> 
    ... 

    <profiles> 
    <profile> 
     <id>profile-id</id> 
     <activation> 
      <property> 
      <name>myProperty</name> 
      </property> 
     </activation> 
     <build> 
     <plugins> 
      <plugin> 
      ... 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 

</project> 

При создании YOUT проекта с mvn clean install плагин не будет выполняться, когда вы строите ваш проект с mvn clean install -DmyProperty или mvn clean install -Pprofile-id ваш плагин будет выполнен. Во втором случае триггер активации свойства для профиля устарел.

+0

спасибо. удаляет секцию/не запоминает – tgkprog

3

Вы пытались поместить выполнение плагина в профиль Maven? Существует несколько триггеров для включения профиля для сборки (например, ОС, версия Java, значение свойства или сам идентификатор профиля в командной строке). Для получения более подробной информации см. http://maven.apache.org/guides/introduction/introduction-to-profiles.html.

+1

Я также предлагаю включить условное выполнение плагина в профиль. –

+0

спасибо, что это похоже на то, что я хочу – tgkprog

+0

лотов для чтения через. есть ли у вас простой набор инструкций? просто хотите, чтобы плагин (см. вопрос) не запускался по умолчанию, если не существует определенного флага командной строки? я вижу его там, но потерял, как заставить его работать в простых шагах. – tgkprog

Смежные вопросы