-
Notifications
You must be signed in to change notification settings - Fork 8
/
pom.xml
361 lines (348 loc) · 15.7 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>aissemble-parent</artifactId>
<version>5</version>
<relativePath />
</parent>
<artifactId>aissemble-root</artifactId>
<version>1.11.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>aiSSEMBLE(TM)</name>
<description>aiSSEMBLE - blueprints, reusable components, fabrication, and deployment of holistic AI solutions</description>
<url>https://github.com/boozallen/aissemble</url>
<inceptionYear>2021</inceptionYear>
<organization>
<name>Booz Allen</name>
<url>https://www.boozallen.com</url>
</organization>
<developers>
<developer>
<id>aissemble</id>
<name>aiSSEMBLE Baseline Community</name>
<organization>Booz Allen Hamilton</organization>
<organizationUrl>https://boozallen.com</organizationUrl>
</developer>
</developers>
<modules>
<module>build-support</module>
<module>build-parent</module>
<module>bom</module>
<module>foundation</module>
<module>extensions</module>
<module>test</module>
<!--We are relying on the sequential build from Maven; if we ever use parallel builds, we would need to
ensure the report aggregator depends on all other modules-->
<module>cucumber-report-aggregator</module>
</modules>
<scm>
<connection>scm:git:https://github.com/boozallen/aissemble.git</connection>
<developerConnection>scm:git:https://github.com/boozallen/aissemble.git</developerConnection>
<url>https://github.com/boozallen/aissemble</url>
<tag>HEAD</tag>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/boozallen/aissemble/issues</url>
</issueManagement>
<properties>
<ossrh.repo.url>https://oss.sonatype.org/content/repositories</ossrh.repo.url>
<s01.ossrh.repo.url>https://s01.oss.sonatype.org/content/repositories</s01.ossrh.repo.url>
<ghcr.io.repo.url>https://maven.pkg.github.com/boozallen/aissemble</ghcr.io.repo.url>
<version.avro>1.10.1</version.avro>
<version.camel>2.7.0</version.camel>
<version.cucumber>7.4.1</version.cucumber>
<version.feature.discovery>1.2.0</version.feature.discovery>
<version.jersey>2.30</version.jersey>
<version.junit>4.13.2</version.junit>
<version.kafka>2.6.0</version.kafka>
<version.pegasus>27.7.18</version.pegasus>
<version.smile>2.6.0</version.smile>
<version.weld>5.1.2.Final</version.weld>
<version.slf4j>2.0.16</version.slf4j>
<version.log4j>2.24.0</version.log4j>
<version.log4j.transform>0.1.0</version.log4j.transform>
<version.cucumber.reporting.plugin>5.8.1</version.cucumber.reporting.plugin>
<version.javax.inject>1</version.javax.inject>
<version.rest.assured>5.5.0</version.rest.assured>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.technologybrewery.krausening</groupId>
<artifactId>krausening</artifactId>
<version>${version.krausening}</version>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.17.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${version.log4j}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${version.log4j}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>${version.log4j}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.slf4j}</version>
</dependency>
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-core</artifactId>
<version>${version.smile}</version>
</dependency>
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-math</artifactId>
<version>${version.smile}</version>
</dependency>
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-plot</artifactId>
<version>${version.smile}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${version.cucumber}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${version.cucumber}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>${version.rest.assured}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>ghcr.io</id>
<name>ghcr.io-snapshots</name>
<url>${ghcr.io.repo.url}</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>s01.ossrh-snapshots</id>
<name>s01.oss.sonatype.org-snapshots</name>
<url>${s01.ossrh.repo.url}/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
</pluginRepository>
<pluginRepository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>ghcr.io</id>
<name>ghcr.io-plugin-snapshots</name>
<url>${ghcr.io.repo.url}</url>
</pluginRepository>
<pluginRepository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>s01.ossrh</id>
<name>s01.oss.sonatype.org-snapshots</name>
<url>${s01.ossrh.repo.url}/snapshots</url>
</pluginRepository>
</pluginRepositories>
<profiles>
<profile>
<id>integration-test</id>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M7</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>skip-docker</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>${group.fabric8.plugin}</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<!-- inheriting general ossrh-release setup from aissemble-parent -->
<id>ossrh-release</id>
<properties>
<maven.build.cache.enabled>false</maven.build.cache.enabled>
</properties>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<configuration>
<!-- how long to wait for the staging repository to be closed and released -->
<stagingProgressTimeoutMinutes>30</stagingProgressTimeoutMinutes>
<!-- how long to wait between checks for the staging repository to be closed and released -->
<stagingProgressPauseDurationSeconds>15</stagingProgressPauseDurationSeconds>
</configuration>
</plugin>
<plugin>
<!-- This plugin should never run as part of a normal build, and is only ever triggered by
devops/JenkinsRelease.groovy. We configure it here because it's a bit easier to read/edit/verify
in the native POM compared to configuring the execution through groovy code. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<scmCommentPrefix>:bookmark: [maven-release-plugin] </scmCommentPrefix>
<!-- The helm charts can't be built at all once the version changes unless they are being
released. Many charts depend on other charts, and so cannot be packaged properly unless those
dependencies are already available in the helm repo. !!WARNING!! though it seems that we should
just be using preparationProfiles, unfortunately this adds the enabled profiles to the
release.properties file that the plugin uses to track settings. This file is required to run
the release:perform goal, but will always allow preparationProfiles to bleed into the perform
step. So if we do this naively, it ends up skipping the helm modules during release so the
charts aren't published. We could add a "un-skip-helm" profile that's enabled by
releaseProfiles, but that seemed worse than simply using the goals config property to bypass
updating the activate profiles of release.properties.
Also add pyproject.toml changes to git (see below)-->
<preparationGoals>clean install scm:add -Pskip-helm</preparationGoals>
<!-- Because the release plugin doesn't build after updating to the next development snapshot,
the habushu-managed updates to pyproject.toml files lags behind. To prevent the first
committer after a release from needing to commit these files, we force the update here. -->
<!-- NB: the scm:add was added after the 1.7.0 release as the updated pyproject.toml files weren't being
added to the dev snapshot update commit. This wasn't noticed until now, because prior to this release
we were manually bumping the dev version before we even cut the actual release. -->
<completionGoals>org.technologybrewery.habushu:habushu-maven-plugin:initialize-habushu scm:add</completionGoals>
<releaseProfiles>ossrh-release</releaseProfiles>
</configuration>
</plugin>
<plugin>
<!-- This plugin should not run in a normal build. It's called directly during the preparation phase
of the release plugin. This adds the modified pyproject.toml file that Habushu has updated with the
fixed version from the POM files for all python modules. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<includes>**/pyproject.toml</includes>
<excludes>**/target/**,**/.venv/**</excludes>
<pushChanges>false</pushChanges>
</configuration>
</plugin>
<plugin>
<groupId>net.masterthought</groupId>
<artifactId>maven-cucumber-reporting</artifactId>
<configuration>
<skip>${skipTests}</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>