1+ <!--
2+ Licensed to the Apache Software Foundation (ASF) under one or more
3+ contributor license agreements. See the NOTICE file distributed with
4+ this work for additional information regarding copyright ownership.
5+ The ASF licenses this file to You under the Apache License, Version 2.0
6+ (the "License"); you may not use this file except in compliance with
7+ the License. You may obtain a copy of the License at
8+
9+ http://www.apache.org/licenses/LICENSE-2.0
10+
11+ Unless required by applicable law or agreed to in writing, software
12+ distributed under the License is distributed on an "AS IS" BASIS,
13+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+ See the License for the specific language governing permissions and
15+ limitations under the License.
16+ -->
17+ <project xmlns =" http://maven.apache.org/POM/4.0.0"
18+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
19+ xsi : schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
20+ <modelVersion >4.0.0</modelVersion >
21+ <parent >
22+ <groupId >org.apache.artemis</groupId >
23+ <artifactId >artemis-pom</artifactId >
24+ <version >2.55.0-SNAPSHOT</version >
25+ <relativePath >../artemis-pom/pom.xml</relativePath >
26+ </parent >
27+
28+ <artifactId >artemis-ffm</artifactId >
29+ <packaging >jar</packaging >
30+ <name >Apache Artemis FFM</name >
31+
32+ <properties >
33+ <test .stress.time>5000</test .stress.time>
34+
35+ <project .build.sourceEncoding>UTF-8</project .build.sourceEncoding>
36+ <project .reporting.outputEncoding>UTF-8</project .reporting.outputEncoding>
37+
38+ <activemq-surefire-argline >
39+ -Dtest.stress.time=${test.stress.time} --enable-native-access=ALL-UNNAMED
40+ </activemq-surefire-argline >
41+ </properties >
42+
43+ <dependencies >
44+ <dependency >
45+ <groupId >org.slf4j</groupId >
46+ <artifactId >slf4j-api</artifactId >
47+ <version >${slf4j.version} </version >
48+ <scope >provided</scope >
49+ <!-- License: MIT -->
50+ </dependency >
51+
52+ <dependency >
53+ <groupId >junit</groupId >
54+ <artifactId >junit</artifactId >
55+ <scope >test</scope >
56+ <!-- License: EPL 1.0 -->
57+ </dependency >
58+ <dependency >
59+ <groupId >org.junit.vintage</groupId >
60+ <artifactId >junit-vintage-engine</artifactId >
61+ <scope >test</scope >
62+ </dependency >
63+ <dependency >
64+ <groupId >org.junit.jupiter</groupId >
65+ <artifactId >junit-jupiter</artifactId >
66+ <scope >test</scope >
67+ </dependency >
68+ <dependency >
69+ <groupId >org.slf4j</groupId >
70+ <artifactId >slf4j-simple</artifactId >
71+ <version >${slf4j.version} </version >
72+ <scope >test</scope >
73+ </dependency >
74+ </dependencies >
75+
76+ <profiles >
77+ <profile >
78+ <id >jdk24onwards</id >
79+ <activation >
80+ <jdk >[24,)</jdk >
81+ </activation >
82+ <build >
83+ <plugins >
84+ <plugin >
85+ <artifactId >maven-compiler-plugin</artifactId >
86+ <configuration >
87+ <release >24</release >
88+ </configuration >
89+ <executions >
90+ <execution >
91+ <id >java24-compile</id >
92+ <phase >compile</phase >
93+ <goals >
94+ <goal >compile</goal >
95+ </goals >
96+ <configuration >
97+ <outputDirectory >${project.build.outputDirectory} </outputDirectory >
98+ <compileSourceRoots >
99+ <compileSourceRoot >${project.basedir} /src/main/java24</compileSourceRoot >
100+ </compileSourceRoots >
101+ </configuration >
102+ </execution >
103+ <execution >
104+ <id >java24-test-compile</id >
105+ <phase >test-compile</phase >
106+ <goals >
107+ <goal >testCompile</goal >
108+ </goals >
109+ <configuration >
110+ <compileSourceRoots >${project.basedir} /src/test/java24</compileSourceRoots >
111+ </configuration >
112+ </execution >
113+ </executions >
114+ </plugin >
115+ <plugin >
116+ <artifactId >maven-jar-plugin</artifactId >
117+ <!-- Do jar creation earlier, before the "test" phase, so that the
118+ multi-release-jar content is visible to any dependent modules,
119+ enabling them to use the relevant classes during their tests. -->
120+ <executions >
121+ <execution >
122+ <id >default-jar</id >
123+ <phase >package</phase >
124+ <goals >
125+ <goal >jar</goal >
126+ </goals >
127+ <configuration >
128+ <archive >
129+ <manifestEntries >
130+ <Multi-Release >true</Multi-Release >
131+ </manifestEntries >
132+ </archive >
133+ </configuration >
134+ </execution >
135+ </executions >
136+ </plugin >
137+ </plugins >
138+ </build >
139+ </profile >
140+ </profiles >
141+ <build >
142+ <resources >
143+ <resource >
144+ <directory >${basedir} /target/output/</directory >
145+ </resource >
146+ </resources >
147+ <plugins >
148+ <plugin >
149+ <groupId >org.apache.felix</groupId >
150+ <artifactId >maven-bundle-plugin</artifactId >
151+ <version >5.1.9</version >
152+ <executions >
153+ <execution >
154+ <id >bundle-manifest</id >
155+ <goals >
156+ <goal >manifest</goal >
157+ </goals >
158+ <phase >process-classes</phase >
159+ </execution >
160+ <execution >
161+ <id >default-bundle</id >
162+ <goals >
163+ <goal >bundle</goal >
164+ </goals >
165+ <phase >package</phase >
166+ </execution >
167+ </executions >
168+ <configuration >
169+ <instructions >
170+ <Bundle-SymbolicName >org.apache.artemis.ffm</Bundle-SymbolicName >
171+ <Bundle-Version >${project.version} </Bundle-Version >
172+ <Export-Package >org.apache.artemis.nativo.jlibaio;version="${project.version} "</Export-Package >
173+ <!-- Use ! for exclusion in bnd -->
174+ <Import-Package >!java.lang.foreign,*</Import-Package >
175+ <DynamicImport-Package >*</DynamicImport-Package >
176+ <Require-Capability >
177+ osgi.ee;filter:="(& (osgi.ee=JavaSE)(version=17))"
178+ </Require-Capability >
179+ </instructions >
180+ </configuration >
181+ </plugin >
182+ </plugins >
183+ </build >
184+ </project >
0 commit comments