Skip to content

Commit a910297

Browse files
committed
TASKS-510 - Add content package builds to each config project
1 parent f88a95e commit a910297

File tree

3 files changed

+301
-0
lines changed

3 files changed

+301
-0
lines changed

content/assembly.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<assembly>
2+
<id>assemble-content</id>
3+
<formats>
4+
<format>zip</format>
5+
</formats>
6+
<includeBaseDirectory>false</includeBaseDirectory>
7+
<fileSets>
8+
<fileSet>
9+
<directory>${project.build.directory}/package/</directory>
10+
<includes>
11+
<include>**/*</include>
12+
</includes>
13+
<outputDirectory>/</outputDirectory>
14+
</fileSet>
15+
</fileSets>
16+
</assembly>

content/pom.xml

Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
1+
<project>
2+
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>org.pih.openmrs</groupId>
5+
<artifactId>ces-content</artifactId>
6+
<name>CES OpenMRS Content Package</name>
7+
<description>Top-Level content package for CES OpenMRS distro</description>
8+
<version>1.40.0-SNAPSHOT</version>
9+
<packaging>pom</packaging>
10+
11+
<properties>
12+
<pihemrContentGroupId>org.pih.openmrs</pihemrContentGroupId>
13+
<pihemrContentArtifactId>pihemr-content</pihemrContentArtifactId>
14+
<pihemrContentVersion>1.0.0-SNAPSHOT</pihemrContentVersion>
15+
16+
<parentBuildDir>${project.build.directory}/parent</parentBuildDir>
17+
<childBuildDir>${project.build.directory}/child</childBuildDir>
18+
<parentConfigDir>${parentBuildDir}/configuration</parentConfigDir>
19+
<childConfigDir>${childBuildDir}/configuration</childConfigDir>
20+
<finalBuildDir>${project.build.directory}/package</finalBuildDir>
21+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22+
</properties>
23+
24+
<developers>
25+
<developer>
26+
<name>Partners In Health</name>
27+
</developer>
28+
</developers>
29+
30+
<organization>
31+
<name>Partners In Health</name>
32+
<url>http://pih.org</url>
33+
</organization>
34+
35+
<dependencies>
36+
<dependency>
37+
<groupId>${pihemrContentGroupId}</groupId>
38+
<artifactId>${pihemrContentArtifactId}</artifactId>
39+
<version>${pihemrContentVersion}</version>
40+
<type>zip</type>
41+
</dependency>
42+
</dependencies>
43+
44+
<build>
45+
<plugins>
46+
47+
<!-- Download and unpack the parent content package into target/parent -->
48+
<plugin>
49+
<groupId>org.apache.maven.plugins</groupId>
50+
<artifactId>maven-dependency-plugin</artifactId>
51+
<version>3.8.1</version>
52+
<executions>
53+
<execution>
54+
<id>unpack</id>
55+
<goals>
56+
<goal>unpack-dependencies</goal>
57+
</goals>
58+
<phase>process-resources</phase>
59+
<configuration>
60+
<includeGroupIds>${pihemrContentGroupId}</includeGroupIds>
61+
<includeArtifactIds>${pihemrContentArtifactId}</includeArtifactIds>
62+
<outputDirectory>${parentBuildDir}</outputDirectory>
63+
<type>jar</type>
64+
</configuration>
65+
</execution>
66+
</executions>
67+
</plugin>
68+
69+
<!-- Build this content package into target/child -->
70+
<plugin>
71+
<groupId>org.openmrs.maven.plugins</groupId>
72+
<artifactId>openmrs-packager-maven-plugin</artifactId>
73+
<version>1.9.0-SNAPSHOT</version>
74+
<executions>
75+
<execution>
76+
<id>generate-properties</id>
77+
<phase>generate-resources</phase>
78+
<goals>
79+
<goal>generate-resource-filters</goal>
80+
</goals>
81+
<configuration>
82+
<sourceFile>../constants.yml</sourceFile>
83+
</configuration>
84+
</execution>
85+
<execution>
86+
<id>create-content-package</id>
87+
<phase>compile</phase>
88+
<goals>
89+
<goal>create-content-package</goal>
90+
</goals>
91+
<configuration>
92+
<sourceConfigurationDir>../configuration</sourceConfigurationDir>
93+
<targetDir>${childBuildDir}</targetDir>
94+
</configuration>
95+
</execution>
96+
</executions>
97+
</plugin>
98+
99+
<!-- Merge the parent and child configuration files -->
100+
<plugin>
101+
<groupId>org.apache.maven.plugins</groupId>
102+
<artifactId>maven-antrun-plugin</artifactId>
103+
<version>3.1.0</version>
104+
<executions>
105+
<execution>
106+
<phase>compile</phase>
107+
<goals>
108+
<goal>run</goal>
109+
</goals>
110+
<configuration>
111+
<target>
112+
<copy todir="${finalBuildDir}/configuration">
113+
<fileset dir="${parentConfigDir}"/>
114+
</copy>
115+
<copy todir="${finalBuildDir}/configuration" overwrite="true">
116+
<fileset dir="${childConfigDir}"/>
117+
</copy>
118+
</target>
119+
</configuration>
120+
</execution>
121+
</executions>
122+
</plugin>
123+
124+
<!-- Merge the parent and child content.properties files -->
125+
<plugin>
126+
<groupId>org.polago.maven.plugins</groupId>
127+
<artifactId>merge-properties-maven-plugin</artifactId>
128+
<version>1.2</version>
129+
<executions>
130+
<execution>
131+
<phase>compile</phase>
132+
<goals>
133+
<goal>merge</goal>
134+
</goals>
135+
<configuration>
136+
<outputDirectory>${finalBuildDir}</outputDirectory>
137+
<outputFile>content.properties</outputFile>
138+
<overwriteProperties>true</overwriteProperties>
139+
<useBuildFilters>false</useBuildFilters>
140+
<encoding>UTF-8</encoding>
141+
<resources>
142+
<resource>
143+
<filtering>false</filtering>
144+
<directory>${parentBuildDir}</directory>
145+
<includes>
146+
<include>content.properties</include>
147+
</includes>
148+
</resource>
149+
<resource>
150+
<filtering>false</filtering>
151+
<directory>${childBuildDir}</directory>
152+
<includes>
153+
<include>content.properties</include>
154+
</includes>
155+
</resource>
156+
</resources>
157+
</configuration>
158+
</execution>
159+
</executions>
160+
</plugin>
161+
162+
<plugin>
163+
<artifactId>maven-assembly-plugin</artifactId>
164+
<version>3.7.1</version>
165+
<configuration>
166+
<appendAssemblyId>false</appendAssemblyId>
167+
<descriptors>
168+
<descriptor>${project.basedir}/assembly.xml</descriptor>
169+
</descriptors>
170+
</configuration>
171+
<executions>
172+
<execution>
173+
<id>make-assembly</id>
174+
<phase>package</phase>
175+
<goals>
176+
<goal>single</goal>
177+
</goals>
178+
</execution>
179+
</executions>
180+
</plugin>
181+
182+
<plugin>
183+
<groupId>org.sonatype.plugins</groupId>
184+
<artifactId>nexus-staging-maven-plugin</artifactId>
185+
<version>1.6.7</version>
186+
<extensions>true</extensions>
187+
<configuration>
188+
<serverId>ossrh</serverId>
189+
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
190+
<autoReleaseAfterClose>true</autoReleaseAfterClose>
191+
</configuration>
192+
</plugin>
193+
</plugins>
194+
</build>
195+
196+
<profiles>
197+
<profile>
198+
<id>release-sign-artifacts</id>
199+
<activation>
200+
<property>
201+
<name>deployRelease</name>
202+
<value>true</value>
203+
</property>
204+
</activation>
205+
<build>
206+
<plugins>
207+
<!--
208+
To deploy non-snapshot versions to Sonatype, signatures must be generated useing gpg
209+
Note that gpg2 key must exist on Bamboo server and the key and passphrase can be
210+
passed on the command line.
211+
212+
Instructions for creating a key:
213+
https://central.sonatype.org/pages/working-with-pgp-signatures.html
214+
215+
Command to run: clean deploy -U -DdeployRelease -Dgpg.passphrase=*** -Dgpg.keyname=[email_address_associated_with_generated_key]
216+
-->
217+
<plugin>
218+
<groupId>org.apache.maven.plugins</groupId>
219+
<artifactId>maven-gpg-plugin</artifactId>
220+
<version>3.1.0</version>
221+
<executions>
222+
<execution>
223+
<id>sign-artifacts</id>
224+
<phase>verify</phase>
225+
<goals>
226+
<goal>sign</goal>
227+
</goals>
228+
</execution>
229+
</executions>
230+
</plugin>
231+
</plugins>
232+
</build>
233+
</profile>
234+
</profiles>
235+
236+
<distributionManagement>
237+
<snapshotRepository>
238+
<id>ossrh</id>
239+
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
240+
</snapshotRepository>
241+
<repository>
242+
<id>ossrh</id>
243+
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
244+
</repository>
245+
</distributionManagement>
246+
247+
<repositories>
248+
<repository>
249+
<id>ossrh</id>
250+
<url>https://s01.oss.sonatype.org/content/repositories/public</url>
251+
</repository>
252+
</repositories>
253+
254+
<pluginRepositories>
255+
<pluginRepository>
256+
<id>openmrs-repo</id>
257+
<name>OpenMRS Nexus Repository</name>
258+
<url>https://openmrs.jfrog.io/artifactory/public</url>
259+
<snapshots>
260+
<enabled>true</enabled>
261+
</snapshots>
262+
</pluginRepository>
263+
<pluginRepository>
264+
<id>openmrs-repo-snapshots</id>
265+
<name>OpenMRS Snapshots Repo</name>
266+
<url>https://openmrs.jfrog.io/artifactory/snapshots</url>
267+
<snapshots>
268+
<enabled>true</enabled>
269+
</snapshots>
270+
</pluginRepository>
271+
<pluginRepository>
272+
<id>mks-repo</id>
273+
<name>Mekom Solutions Maven repository</name>
274+
<url>https://nexus.mekomsolutions.net/repository/maven-public</url>
275+
<snapshots>
276+
<enabled>true</enabled>
277+
</snapshots>
278+
</pluginRepository>
279+
</pluginRepositories>
280+
281+
</project>

pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@
6262
</pluginRepository>
6363
</pluginRepositories>
6464

65+
<modules>
66+
<module>content</module>
67+
</modules>
68+
6569
<build>
6670
<filters>
6771
<filter>${project.build.directory}/openmrs-packager-config/configuration/constants.properties</filter>

0 commit comments

Comments
 (0)