Skip to content

Commit d77456d

Browse files
committed
Improved Maven profile handling for prod/test
1 parent 96cb3b0 commit d77456d

File tree

5 files changed

+116
-31
lines changed

5 files changed

+116
-31
lines changed

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ sudo: false
55
jdk:
66
- oraclejdk8
77

8-
install: mvn install -DskipTests -Dgpg.skip -Ptest
8+
install: mvn install -DskipTests -Dgpg.skip
99

1010
script:
11-
- mvn verify -Dgpg.skip -Ptest
11+
- mvn verify -Dgpg.skip
1212

1313
after_success:
14-
- mvn coveralls:report -Dgpg.skip -Ptest
14+
- mvn coveralls:report -Dgpg.skip
1515

1616
cache:
1717
directories:

deployment/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@
114114
<id>move-main-class</id>
115115
<phase>compile</phase>
116116
<configuration>
117-
<tasks>
117+
<target>
118118
<copy todir="${project.basedir}/target/webapp/">
119119
<fileset dir="${project.build.directory}/classes/">
120120
<include name="com/mapcode/services/cli/*.class"/>
121121
</fileset>
122122
</copy>
123-
</tasks>
123+
</target>
124124
</configuration>
125125
<goals>
126126
<goal>run</goal>

pom.xml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,4 +542,78 @@
542542
</plugin>
543543
</plugins>
544544
</reporting>
545+
546+
<profiles>
547+
548+
<!-- Test profile. Uses example properties from external-resources-example. -->
549+
<profile>
550+
<id>test</id>
551+
<activation>
552+
<activeByDefault>true</activeByDefault>
553+
</activation>
554+
<build>
555+
<plugins>
556+
<plugin>
557+
<artifactId>maven-antrun-plugin</artifactId>
558+
<executions>
559+
<execution>
560+
<phase>install</phase>
561+
<goals>
562+
<goal>run</goal>
563+
</goals>
564+
<configuration>
565+
<target>
566+
<echo>
567+
.
568+
.
569+
***********************************************************
570+
** This is a TEST build.
571+
** --------------------------------------------------------
572+
** Do NOT install in production environment!
573+
***********************************************************
574+
.
575+
.
576+
</echo>
577+
</target>
578+
</configuration>
579+
</execution>
580+
</executions>
581+
</plugin>
582+
</plugins>
583+
</build>
584+
</profile>
585+
586+
<!-- Default profile. Uses "real" properties from external-resources. -->
587+
<profile>
588+
<id>prod</id>
589+
<build>
590+
<plugins>
591+
<plugin>
592+
<artifactId>maven-antrun-plugin</artifactId>
593+
<executions>
594+
<execution>
595+
<phase>install</phase>
596+
<goals>
597+
<goal>run</goal>
598+
</goals>
599+
<configuration>
600+
<target>
601+
<echo>
602+
.
603+
.
604+
***********************************************************
605+
** This is a PRODUCTION build.
606+
***********************************************************
607+
.
608+
.
609+
</echo>
610+
</target>
611+
</configuration>
612+
</execution>
613+
</executions>
614+
</plugin>
615+
</plugins>
616+
</build>
617+
</profile>
618+
</profiles>
545619
</project>

resources/pom.xml

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,37 +41,17 @@
4141
<directory>src/main/resources</directory>
4242
<filtering>true</filtering>
4343
</resource>
44-
45-
<resource>
46-
<directory>src/main/external-resources</directory>
47-
<filtering>true</filtering>
48-
</resource>
4944
</resources>
50-
51-
<plugins>
52-
<plugin>
53-
<groupId>org.apache.maven.plugins</groupId>
54-
<artifactId>maven-remote-resources-plugin</artifactId>
55-
<executions>
56-
<execution>
57-
<goals>
58-
<goal>bundle</goal>
59-
</goals>
60-
<configuration>
61-
<includes>
62-
<include>src/main/external-resources/*</include>
63-
</includes>
64-
</configuration>
65-
</execution>
66-
</executions>
67-
</plugin>
68-
</plugins>
6945
</build>
7046

71-
<!-- Test profiles. -->
7247
<profiles>
48+
49+
<!-- Test profile. Uses example properties from external-resources-example. -->
7350
<profile>
7451
<id>test</id>
52+
<activation>
53+
<activeByDefault>true</activeByDefault>
54+
</activation>
7555
<build>
7656
<resources>
7757
<resource>
@@ -82,7 +62,6 @@
8262

8363
<plugins>
8464
<plugin>
85-
<groupId>org.apache.maven.plugins</groupId>
8665
<artifactId>maven-remote-resources-plugin</artifactId>
8766
<executions>
8867
<execution>
@@ -100,5 +79,36 @@
10079
</plugins>
10180
</build>
10281
</profile>
82+
83+
<!-- Default profile. Uses "real" properties from external-resources. -->
84+
<profile>
85+
<id>prod</id>
86+
<build>
87+
<resources>
88+
<resource>
89+
<directory>src/main/external-resources</directory>
90+
<filtering>true</filtering>
91+
</resource>
92+
</resources>
93+
94+
<plugins>
95+
<plugin>
96+
<artifactId>maven-remote-resources-plugin</artifactId>
97+
<executions>
98+
<execution>
99+
<goals>
100+
<goal>bundle</goal>
101+
</goals>
102+
<configuration>
103+
<includes>
104+
<include>src/main/external-resources/*</include>
105+
</includes>
106+
</configuration>
107+
</execution>
108+
</executions>
109+
</plugin>
110+
</plugins>
111+
</build>
112+
</profile>
103113
</profiles>
104114
</project>

resources/src/main/external-resources-example/mapcode-secret.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# Example properties file which should be placed in the classpath.
1818
# Set mapcode-secret.properties to true to trace REST calls to the MongoDB database.
1919

20+
MongoDBTrace.readEnabled = false
2021
MongoDBTrace.writeEnabled = false
2122
MongoDBTrace.servers = your-server:27017
2223
MongoDBTrace.database = your-database

0 commit comments

Comments
 (0)