Фильтрация файла активов - Android - PullRequest
2 голосов
/ 15 ноября 2011

Я пытаюсь отфильтровать файл свойств в каталоге ресурсов моего проекта. Это значит, что мне не нужно постоянно менять значения между версиями dev, SIT и prod моего приложения. Я использую maven и intelliJ IDEA с (в конечном итоге) разными профилями, но на данный момент я просто пытаюсь заставить процесс сборки подобрать каталог отфильтрованных ресурсов (если это вообще возможно)

Я добавил эти строки ресурсов в свой POM:

<resource>
    <filtering>true</filtering>
    <directory>assets</directory>
    <includes>
        <include>**/*.properties</include>
    </includes>
    <targetPath>
        ../assets
    </targetPath>
</resource>

<resource>
    <filtering>false</filtering>
    <directory>assets</directory>
    <excludes>
       <exclude>**/*.properties</exclude>
    </excludes>
    <targetPath>
       ../assets
    </targetPath>
</resource>

Есть ли способ заставить процесс сборки посмотреть на каталог отфильтрованных ресурсов?

1 Ответ

4 голосов
/ 15 ноября 2011

Попробуйте это:

<build>
  <resources>
    <resource>
      <directory>${project.basedir}/assets</directory>
      <filtering>true</filtering>
      <targetPath>${project.build.directory}/filtered-assets</targetPath>
      <includes>
        <include>**/*.properties</include>
      </includes>
    </resource>
  </resources>
  <plugins>
    <plugin>
      <artifactId>maven-resources-plugin</artifactId>
      <executions>
        <execution>
          <phase>initialize</phase>
          <goals>
            <goal>resources</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>com.jayway.maven.plugins.android.generation2</groupId>
      <artifactId>maven-android-plugin</artifactId>
      <extensions>true</extensions>
      <configuration>
        <sdk>
          <platform>7</platform>
        </sdk>
        <undeployBeforeDeploy>true</undeployBeforeDeploy>
        <resourceDirectory>${project.build.directory}/filtered-assets</resourceDirectory>
      </configuration>
    </plugin>
  </plugins>
</build>

Ознакомьтесь с примером проекта MorseFlash здесь .

...