-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpom.xml
More file actions
208 lines (192 loc) · 9.65 KB
/
Copy pathpom.xml
File metadata and controls
208 lines (192 loc) · 9.65 KB
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
<?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>
<groupId>jdiskmark</groupId>
<artifactId>jdm-java</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>Java Disk Benchmark Utility</name>
<modules>
<module>jdm-core</module>
<module>jdm-dist</module>
</modules>
<properties>
<!-- CI-friendly version placeholder. Override with -Drevision=<value> at build time.
Default produces the current release build used by NetBeans and plain mvn.
CI workflows set this to a labelled version (e.g. 0.8.0-ci.d.47). -->
<revision>0.9.0-SNAPSHOT</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>25</maven.compiler.release>
<exec.mainClass>jdiskmark.App</exec.mainClass>
<jackson.version>2.17.0</jackson.version>
<maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version>
<maven.shade.plugin.version>3.5.2</maven.shade.plugin.version>
<maven.assembly.plugin.version>3.6.0</maven.assembly.plugin.version>
<jdeb.plugin.version>1.10</jdeb.plugin.version>
<rpm.plugin.version>2.2.0</rpm.plugin.version>
<exec.plugin.version>3.2.0</exec.plugin.version>
<download.plugin.version>1.9.0</download.plugin.version>
<!-- package properties -->
<pkg.name>jdiskmark</pkg.name>
<app.name>JDiskMark</app.name>
<!-- MSI (Windows Installer) requires a purely numeric version in Major.Minor.Build
format — no letters, no -SNAPSHOT. This is an MSI format restriction, not
jpackage itself. Linux packages (DEB/RPM) can use the full project.version.
Update this alongside project.version when cutting a release. -->
<msi.version>0.9.0</msi.version>
<app.title>${app.name} ${project.version}</app.title>
<release.dir>${pkg.name}-${msi.version}</release.dir>
<!-- JVM options passed to jpackage for all installer types -->
<jvm.run.options>--enable-native-access=ALL-UNNAMED -XX:+UseZGC</jvm.run.options>
<!-- App icon selection — one file per platform, relative to each dist module.
Override at build time to switch icons (must point to an existing file), e.g.:
mvn install -Pwindows-msi -Dapp.icon.win=jdm-turtle-logo.ico
mvn install -Plinux-deb -Dapp.icon.linux=jdm-turtle-logo-256x256.png
Note: macOS icon is resolved by package-pkg.sh (not this property). -->
<app.icon.win>jdm-turtle-logo.ico</app.icon.win>
<app.icon.mac>images/JDiskMark-turtle.icns</app.icon.mac>
<app.icon.linux>jdm-turtle-logo-256x256.png</app.icon.linux>
<!-- RPM version must not contain hyphens -->
<rpm.version>0.9.0</rpm.version>
<!-- RPM release field: CI overrides with pre-release label (e.g. ci.d.47) -->
<rpm.release>1</rpm.release>
<!-- macos versions do not accept values less than 1.0.0 -->
<dmg.version>1.0.0</dmg.version>
<!-- Bundled smartctl: version, platform-specific download URLs, and checksums.
All dist modules inherit these properties. To upgrade smartctl, update
the version/URLs/checksums here — no workflow changes needed. -->
<smartctl.version>7.5</smartctl.version>
<smartctl.linux.url>https://github.com/JDiskMark/jdm-deps/releases/download/tools%2Fsmartctl-${smartctl.version}/smartctl-${smartctl.version}-linux-x86_64.tar.gz</smartctl.linux.url>
<smartctl.linux.sha256>319c62349999858d267e617bb7b0a2e19e8f2eda64482a9bb8bc9096e9f8165b</smartctl.linux.sha256>
<smartctl.windows.url>https://github.com/JDiskMark/jdm-deps/releases/download/tools%2Fsmartctl-${smartctl.version}-win64/smartctl-${smartctl.version}-windows-x86_64.zip</smartctl.windows.url>
<smartctl.windows.sha256>cc32cc0ca24258933953182f0fcacd964c8762b947e96007ff69210a215eccf3</smartctl.windows.sha256>
<smartctl.macos.url>https://github.com/JDiskMark/jdm-deps/releases/download/tools%2Fsmartctl-${smartctl.version}-macos-arm64/smartctl-${smartctl.version}-macos-arm64.tar.gz</smartctl.macos.url>
<smartctl.macos.sha256>ac42f5c73ba271d0bc2140e0b755b8645f9cee96d3aa177ce55eec3a8a579a58</smartctl.macos.sha256>
<!-- MSI code signing properties (used by -Psign profile in jdm-msi).
signtool.exe ships with the Windows SDK. Update the path if your
SDK version differs. -->
<signtool.executable>C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe</signtool.executable>
<timestamp.server.url>http://timestamp.sectigo.com</timestamp.server.url>
<sign.digest.td>sha256</sign.digest.td>
<sign.digest.fd>sha256</sign.digest.fd>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>${maven.compiler.release}</release>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>${download.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven.shade.plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>${exec.mainClass}</mainClass>
</transformer>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Resolves ${revision} in installed/deployed POMs so downstream
consumers see the actual version string, not the placeholder.
Required for Maven CI-friendly versioning (Maven 3.5+). -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals><goal>flatten</goal></goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals><goal>clean</goal></goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>win-msi</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<modules>
<module>jdm-core</module>
<module>jdm-dist</module>
</modules>
</profile>
<profile>
<id>linux-deb</id>
<activation>
<os>
<family>unix</family>
<name>linux</name>
</os>
</activation>
<modules>
<module>jdm-core</module>
<module>jdm-dist</module>
</modules>
</profile>
<profile>
<id>macos-pkg</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<modules>
<module>jdm-core</module>
<module>jdm-dist</module>
</modules>
</profile>
</profiles>
</project>