Jagpreet Singh
Jagpreet Singh

Reputation: 218

packagingExcludes and maven property variable

I have a folder structure as shown below under src/main/webapp/

enter image description here

I have a maven property ${sencha.env} that can be either of development | testing or production. I want to exclude the others from the build directory while making WAR. I am trying the below but its not working. Please guide -

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
            <resource>
                <directory>src/main/webapp/build/${sencha.env}/BACK</directory>
            </resource>
        </webResources>
        <packagingExcludes>.sencha/**,app/**,ext/**,sass/**,%regex[build/(?!${sencha.env})]</packagingExcludes>
    </configuration>
</plugin>

Please notice : %regex[build/(?!${sencha.env})] in packagingExcludes

thanks!

Upvotes: 1

Views: 396

Answers (1)

Tunaki
Tunaki

Reputation: 137094

You are very close; you need to have %regex[build/(?!${sencha.env}/).*]. Notice the .* which means that you are excluding every path below build/(?!${sencha.env}/.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
            <resource>
                <directory>src/main/webapp/build/${sencha.env}/BACK</directory>
            </resource>
        </webResources>
        <packagingExcludes>.sencha/**,app/**,ext/**,sass/**,%regex[build/(?!${sencha.env}/).*]</packagingExcludes>
    </configuration>
</plugin>

Upvotes: 1

Related Questions