blob: 899990de9b6ebead4ea7a8e64ea87c45beb6d379 [file] [log] [blame]
Carsten Ziegelerb61fe0e2008-01-03 09:24:12 +00001<!--
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"); you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18-->
Carsten Ziegeler4fec0962008-01-11 16:13:31 +000019<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 http://maven.apache.org/maven-v4_0_0.xsd">
Karl Pauls589e2b32007-07-11 18:29:29 +000020 <parent>
21 <groupId>org.apache.felix</groupId>
Felix Meschbergera4ad70a2009-04-27 13:12:37 +000022 <artifactId>felix-parent</artifactId>
Felix Meschberger3229b522011-10-11 18:10:07 +000023 <version>2.1</version>
Felix Meschberger4f43c912012-03-08 04:37:56 +000024 <relativePath/>
Karl Pauls589e2b32007-07-11 18:29:29 +000025 </parent>
26 <modelVersion>4.0.0</modelVersion>
27 <packaging>bundle</packaging>
28 <name>Apache Felix Declarative Services</name>
29 <description>
Felix Meschberger39d6c582010-05-28 20:28:18 +000030 Implementation of the Declarative Services specification 1.1
Karl Pauls589e2b32007-07-11 18:29:29 +000031 </description>
32 <artifactId>org.apache.felix.scr</artifactId>
Felix Meschberger38dd63b2010-08-10 12:19:28 +000033 <version>1.6.1-SNAPSHOT</version>
Felix Meschberger4753fcb2009-04-29 08:46:06 +000034 <scm>
Felix Meschberger38dd63b2010-08-10 12:19:28 +000035 <connection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</connection>
36 <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</developerConnection>
37 <url>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</url>
Felix Meschberger4753fcb2009-04-29 08:46:06 +000038 </scm>
Felix Meschberger55e3b972009-10-12 07:16:08 +000039
40 <!--
41 A Note on Testing
42 =================
43
44 This project contains two kinds of tests: regular unit tests running
45 in the test phase and integration tests based on PAX Exam running
46 in the integration-test phase.
47
48 Basically the complete project is build using Java 1.3 source and target
49 compatibility (as inherited from the parent pom). The exception are the
50 unit tests in the "integration" packages. These have to be compiled with
51 Java 5 source and target compatibility because the employ annotations
52 and generics.
53
54 For running the integration tests from the console using Maven nothing
55 special has to be done as the tests run automatically. To run the tests
56 in your IDE, the project has to be built to the "package" phase with
57 the profile "ide" enabled:
58
59 $ mvn -Pide clean package
60
61 This creates the scr.jar file in the target folder, which is used by
62 the integration tests when run from the IDE. Alternatively the
63 "project.bundle.file" system property may be set to the bundle JAR
64 in the IDE launcher.
65 -->
Felix Meschbergerc17fdbd2009-10-12 07:25:39 +000066 <properties>
Felix Meschberger6c63b752009-10-12 08:11:27 +000067 <bundle.build.name>
68 ${basedir}/target
69 </bundle.build.name>
Felix Meschbergere130b0b2009-10-12 07:51:50 +000070 <bundle.file.name>
Felix Meschberger6c63b752009-10-12 08:11:27 +000071 ${bundle.build.name}/${project.build.finalName}.jar
Felix Meschbergere130b0b2009-10-12 07:51:50 +000072 </bundle.file.name>
Felix Meschbergerc17fdbd2009-10-12 07:25:39 +000073 </properties>
74
Felix Meschberger55e3b972009-10-12 07:16:08 +000075
Karl Pauls589e2b32007-07-11 18:29:29 +000076 <dependencies>
77 <dependency>
Felix Meschbergerca797922009-10-07 08:38:18 +000078 <groupId>org.osgi</groupId>
Karl Pauls589e2b32007-07-11 18:29:29 +000079 <artifactId>org.osgi.core</artifactId>
Felix Meschbergerca797922009-10-07 08:38:18 +000080 <version>4.1.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +000081 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +000082 </dependency>
83 <dependency>
Felix Meschbergerca797922009-10-07 08:38:18 +000084 <groupId>org.osgi</groupId>
Karl Pauls589e2b32007-07-11 18:29:29 +000085 <artifactId>org.osgi.compendium</artifactId>
Felix Meschbergerca797922009-10-07 08:38:18 +000086 <version>4.2.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +000087 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +000088 </dependency>
89 <dependency>
Felix Meschberger02fd53d2011-04-06 15:02:42 +000090 <groupId>${project.groupId}</groupId>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +000091 <artifactId>org.apache.felix.shell</artifactId>
92 <version>1.0.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +000093 <scope>provided</scope>
Felix Meschberger6c63b752009-10-12 08:11:27 +000094 <exclusions>
95 <exclusion>
96 <groupId>org.apache.felix</groupId>
97 <artifactId>org.osgi.core</artifactId>
98 </exclusion>
99 </exclusions>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000100 </dependency>
101 <dependency>
Felix Meschberger44add772010-12-23 18:13:24 +0000102 <groupId>org.apache.felix</groupId>
103 <artifactId>org.apache.felix.gogo.runtime</artifactId>
104 <version>0.6.1</version>
105 <scope>provided</scope>
106 </dependency>
107 <dependency>
Karl Pauls589e2b32007-07-11 18:29:29 +0000108 <groupId>net.sf.kxml</groupId>
109 <artifactId>kxml2</artifactId>
110 <version>2.2.2</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +0000111 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +0000112 </dependency>
Felix Meschbergera4b12bd2012-05-31 13:06:30 +0000113 <dependency>
114 <groupId>concurrent</groupId>
115 <artifactId>concurrent</artifactId>
116 <version>1.3.4</version>
117 <scope>provided</scope>
118 </dependency>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000119
120 <!-- Integration Testing with Pax Exam -->
121 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000122 <groupId>org.ops4j.pax.exam</groupId>
123 <artifactId>pax-exam-container-forked</artifactId>
124 <version>2.4.0.RC1</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +0000125 <scope>test</scope>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000126 </dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000127
Felix Meschberger47eb0372009-07-28 13:48:28 +0000128 <dependency>
129 <groupId>org.ops4j.pax.exam</groupId>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000130 <artifactId>pax-exam-junit4</artifactId>
131 <version>2.4.0.RC1</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000132 <scope>test</scope>
133 </dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000134
Felix Meschberger47eb0372009-07-28 13:48:28 +0000135 <dependency>
136 <groupId>org.ops4j.pax.exam</groupId>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000137 <artifactId>pax-exam-link-mvn</artifactId>
138 <version>2.4.0.RC1</version>
139 <scope>test</scope>
140 </dependency>
141
142 <dependency>
143 <groupId>org.ops4j.pax.url</groupId>
144 <artifactId>pax-url-aether</artifactId>
145 <version>1.4.0.RC1</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000146 <scope>test</scope>
147 </dependency>
148 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000149 <groupId>org.ops4j.pax.url</groupId>
150 <artifactId>pax-url-wrap</artifactId>
151 <version>1.4.0.RC1</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000152 <scope>test</scope>
153 </dependency>
154 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000155 <groupId>org.ops4j.pax.logging</groupId>
156 <artifactId>pax-logging-api</artifactId>
157 <version>1.6.3</version>
158 <scope>test</scope>
159 </dependency>
160 <dependency>
161 <groupId>org.ops4j.pax.logging</groupId>
162 <artifactId>pax-logging-service</artifactId>
163 <version>1.6.3</version>
164 <scope>test</scope>
165 </dependency>
166
167 <dependency>
168 <groupId>ch.qos.logback</groupId>
169 <artifactId>logback-core</artifactId>
170 <version>0.9.29</version>
171 <scope>test</scope>
172 </dependency>
173
174 <dependency>
175 <groupId>ch.qos.logback</groupId>
176 <artifactId>logback-classic</artifactId>
177 <version>0.9.29</version>
178 <scope>test</scope>
179 </dependency>
180 <dependency>
181 <groupId>org.apache.geronimo.specs</groupId>
182 <artifactId>geronimo-atinject_1.0_spec</artifactId>
183 <version>1.0</version>
184 <scope>test</scope>
185 </dependency>
186 <dependency>
187 <groupId>org.junit</groupId>
188 <artifactId>com.springsource.org.junit</artifactId>
189 <version>4.9.0</version>
190 <scope>test</scope>
191 </dependency>
192 <dependency>
193 <groupId>org.ops4j.base</groupId>
194 <artifactId>ops4j-base-lang</artifactId>
195 <version>1.2.3</version>
196 <scope>provided</scope>
197 </dependency>
198 <dependency>
199 <groupId>org.ops4j.base</groupId>
200 <artifactId>ops4j-base-net</artifactId>
201 <version>1.2.3</version>
202 <scope>provided</scope>
203 </dependency>
204 <dependency>
205 <groupId>org.ops4j.pax.tinybundles</groupId>
206 <artifactId>tinybundles</artifactId>
207 <version>1.0.0</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000208 <scope>test</scope>
209 </dependency>
Karl Pauls589e2b32007-07-11 18:29:29 +0000210 </dependencies>
211 <build>
Felix Meschberger6c63b752009-10-12 08:11:27 +0000212 <directory>${bundle.build.name}</directory>
Karl Pauls589e2b32007-07-11 18:29:29 +0000213 <plugins>
214 <plugin>
215 <groupId>org.apache.felix</groupId>
216 <artifactId>maven-bundle-plugin</artifactId>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000217 <version>2.3.7</version>
Karl Pauls589e2b32007-07-11 18:29:29 +0000218 <extensions>true</extensions>
219 <configuration>
220 <instructions>
Felix Meschberger5ac763d2011-02-04 06:24:05 +0000221 <Bundle-Category>osgi</Bundle-Category>
Karl Pauls589e2b32007-07-11 18:29:29 +0000222 <Bundle-SymbolicName>
Felix Meschberger02fd53d2011-04-06 15:02:42 +0000223 ${project.artifactId}
Karl Pauls589e2b32007-07-11 18:29:29 +0000224 </Bundle-SymbolicName>
Carsten Ziegelercf6e51b2008-04-17 06:33:59 +0000225 <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
Felix Meschberger40d3e602009-10-11 12:25:14 +0000226 <Bundle-DocURL>
227 http://felix.apache.org/site/apache-felix-service-component-runtime.html
228 </Bundle-DocURL>
Karl Pauls589e2b32007-07-11 18:29:29 +0000229 <Bundle-Activator>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000230 org.apache.felix.scr.impl.Activator
Karl Pauls589e2b32007-07-11 18:29:29 +0000231 </Bundle-Activator>
232 <Export-Package>
Felix Meschbergerb8ab8932012-05-17 13:39:34 +0000233 org.apache.felix.scr;version=1.7,
Felix Meschberger8422a302012-03-08 05:55:06 +0000234 org.apache.felix.scr.component;version=1.0;
235 mandatory:="status"; status="provisional",
Felix Meschbergerca797922009-10-07 08:38:18 +0000236 org.osgi.service.component
Karl Pauls589e2b32007-07-11 18:29:29 +0000237 </Export-Package>
238 <Private-Package>
Felix Meschberger9b4e0232009-07-09 12:34:12 +0000239 org.apache.felix.scr.impl.*,
240 org.osgi.util.tracker
Karl Pauls589e2b32007-07-11 18:29:29 +0000241 </Private-Package>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000242 <Import-Package>
Felix Meschbergerca797922009-10-07 08:38:18 +0000243 <!--
Felix Meschberger44add772010-12-23 18:13:24 +0000244 optional import for Gogo annotations
245 -->
246 org.apache.felix.service.command;resolution:=optional,
247
248 <!--
Felix Meschbergerca797922009-10-07 08:38:18 +0000249 The Felix Shell support is optional
250 -->
Felix Meschberger95f21262011-11-17 08:24:49 +0000251 org.apache.felix.shell;provide:=true;resolution:=optional,
Felix Meschbergerca797922009-10-07 08:38:18 +0000252
253 <!--
Felix Meschberger8a8c6332009-10-29 13:48:37 +0000254 Framework version 1.4 (from R4.1) is required
255 because we depend on ServiceReference being
256 Comparable and Bundle.getBundleContext method
257 being available.
Felix Meschbergerca797922009-10-07 08:38:18 +0000258 -->
Felix Meschberger8a8c6332009-10-29 13:48:37 +0000259 org.osgi.framework;version="[1.4,2)",
Felix Meschbergerca797922009-10-07 08:38:18 +0000260
261 <!--
Felix Meschbergerd854a922009-10-29 12:28:50 +0000262 LogService is optional but if present the
263 R4.0 version 1.3 is sufficient.
264 -->
265 org.osgi.service.log;version="[1.3,2)";resolution:=optional,
266
267 <!--
Felix Meschberger08aaff62010-08-05 13:26:31 +0000268 PackageAdmin is used to find reference types if
Felix Meschberger95f21262011-11-17 08:24:49 +0000269 the component's bundle does not import it.
270 See BindMethod.getParameterClass(Class) for details.
271 R4.0 version 1.2 is sufficient.
Felix Meschberger08aaff62010-08-05 13:26:31 +0000272 -->
273 org.osgi.service.packageadmin;version="[1.2,2)";resolution:=optional,
274
275 <!--
Felix Meschbergerf6066cb2009-10-29 11:05:31 +0000276 SCR API is required (we also export it) and must
Felix Meschberger95f21262011-11-17 08:24:49 +0000277 be of the same minor version as we export, because
278 we implement that exact version. This import is
279 only used if the framework decides to wire the
280 bundle to another API provider.
Felix Meschbergerf6066cb2009-10-29 11:05:31 +0000281 -->
Felix Meschberger95f21262011-11-17 08:24:49 +0000282 org.osgi.service.component;provide:=true,
283
284 <!--
285 SCR Admin API is required (we also export it) and
286 must be of the same minor version as we export,
287 because we implement that exact version. This
288 import is only used if the framework decides to
289 wire the bundle to another API provider.
290 -->
291 org.apache.felix.scr;provide:=true
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000292 </Import-Package>
Felix Meschbergerf873dbe2011-02-04 10:50:18 +0000293 <DynamicImport-Package>
294 <!--
295 Configuration Admin version 1.2 (from R4.0) is enough
296 -->
297 org.osgi.service.cm;version="[1.2,2)",
298
299 <!--
300 Metatype is optional and if it is
301 present, version 1.1 (from R4.1) is enough
302 -->
303 org.osgi.service.metatype;version="[1.1,2)"
304 </DynamicImport-Package>
Felix Meschberger9b4e0232009-07-09 12:34:12 +0000305 <Embed-Dependency>
Felix Meschbergera4b12bd2012-05-31 13:06:30 +0000306 kxml2;inline=org/kxml2/io/KXmlParser.class|org/xmlpull/v1/XmlPull**,
307 concurrent;inline=EDU/oswego/cs/dl/util/concurrent/ReentrantLock.class|EDU/oswego/cs/dl/util/concurrent/Sync.class
Felix Meschberger9b4e0232009-07-09 12:34:12 +0000308 </Embed-Dependency>
Karl Pauls589e2b32007-07-11 18:29:29 +0000309 </instructions>
310 </configuration>
311 </plugin>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000312
313 <!--
Felix Meschberger44add772010-12-23 18:13:24 +0000314 Configure default compilation for Java 1.3 and integration
Felix Meschberger47eb0372009-07-28 13:48:28 +0000315 test compilation for Java 5 (since integration tests use
Felix Meschberger44add772010-12-23 18:13:24 +0000316 Java Annotations for Pax Exam).
317 Also configure the compilation of the Gogo Command class
318 (using Java 5 annotations) with Java 5 target.
Felix Meschberger47eb0372009-07-28 13:48:28 +0000319 -->
320 <plugin>
321 <artifactId>maven-compiler-plugin</artifactId>
322 <executions>
323 <execution>
Felix Meschberger44add772010-12-23 18:13:24 +0000324 <id>compile-java5</id>
325 <goals>
326 <goal>compile</goal>
327 </goals>
328 <configuration>
329 <source>1.5</source>
330 <target>1.5</target>
331 <excludes>
332 <exclude>dummy-to-overwrite-global-config</exclude>
333 </excludes>
334 <includes>
335 <include>**/ScrGogoCommand.java</include>
336 </includes>
337 </configuration>
338 </execution>
339 <execution>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000340 <id>test-compile-java5</id>
341 <goals>
342 <goal>testCompile</goal>
343 </goals>
344 <configuration>
345 <source>1.5</source>
346 <target>1.5</target>
347 <testIncludes>
348 <testInclude>**/integration/**</testInclude>
349 </testIncludes>
350 <testExcludes>
351 <testExclude>**/impl/**</testExclude>
352 </testExcludes>
353 </configuration>
354 </execution>
355 </executions>
356 <configuration>
357 <testExcludes>
358 <testExclude>**/integration/**</testExclude>
359 </testExcludes>
Felix Meschberger44add772010-12-23 18:13:24 +0000360 <excludes>
361 <exclude>**/ScrGogoCommand.java</exclude>
362 </excludes>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000363 </configuration>
364 </plugin>
365
Felix Meschberger4f43c912012-03-08 04:37:56 +0000366 <!-- plain unit tests -->
Felix Meschberger47eb0372009-07-28 13:48:28 +0000367 <plugin>
368 <artifactId>maven-surefire-plugin</artifactId>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000369 <configuration>
370 <excludes>
371 <exclude>**/integration/**</exclude>
372 <exclude>**/components/**</exclude>
373 <exclude>**/instances/**</exclude>
374 <exclude>**/instances2/**</exclude>
375 </excludes>
376 </configuration>
377 </plugin>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000378 <!-- integration tests run with pax-exam -->
379 <plugin>
380 <artifactId>maven-failsafe-plugin</artifactId>
381 <version>2.12</version>
382 <executions>
383 <execution>
384 <goals>
385 <goal>integration-test</goal>
386 <goal>verify</goal>
387 </goals>
388 </execution>
389 </executions>
390 <configuration>
391 <systemProperties>
392 <property>
393 <name>project.bundle.file</name>
394 <value>${bundle.file.name}</value>
395 </property>
396 </systemProperties>
397 <excludes>
398 <exclude>**/components/**</exclude>
399 </excludes>
400 <includes>
Felix Meschberger8422a302012-03-08 05:55:06 +0000401 <include>**/integration/**</include>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000402 </includes>
403 </configuration>
404 </plugin>
Felix Meschbergerdf922662011-02-04 23:09:29 +0000405 <plugin>
406 <groupId>org.apache.maven.plugins</groupId>
407 <artifactId>maven-javadoc-plugin</artifactId>
408 <configuration>
409 <encoding>${project.build.sourceEncoding}</encoding>
410 <excludePackageNames>*.impl</excludePackageNames>
411 </configuration>
412 </plugin>
Karl Pauls589e2b32007-07-11 18:29:29 +0000413 </plugins>
414 </build>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000415
416 <profiles>
417 <!--
418 copy the package such that IDEs may easily use it without
419 setting the system property
420 -->
421 <profile>
422 <id>ide</id>
423 <build>
424 <plugins>
425 <plugin>
426 <artifactId>maven-antrun-plugin</artifactId>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000427 <executions>
428 <execution>
429 <id>scr-file-create</id>
430 <phase>package</phase>
431 <goals>
432 <goal>run</goal>
433 </goals>
434 <configuration>
Felix Meschberger3229b522011-10-11 18:10:07 +0000435 <target>
Felix Meschberger9afc4d72009-11-02 22:28:37 +0000436 <copy file="${project.build.directory}/${project.build.finalName}.jar" tofile="${project.build.directory}/scr.jar" />
Felix Meschberger3229b522011-10-11 18:10:07 +0000437 </target>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000438 </configuration>
439 </execution>
440 </executions>
441 </plugin>
442 </plugins>
443 </build>
444 </profile>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000445
446 <profile>
447 <id>felix</id>
448 <activation>
449 <activeByDefault>true</activeByDefault>
450 </activation>
451 <dependencies>
452 <dependency>
453 <groupId>org.apache.felix</groupId>
454 <artifactId>org.apache.felix.framework</artifactId>
455 <version>4.0.2</version>
456 <scope>test</scope>
457 </dependency>
458 </dependencies>
459 </profile>
460 <profile>
461 <id>equinox</id>
462 <dependencies>
463 <dependency>
464 <groupId>org.eclipse</groupId>
465 <artifactId>osgi</artifactId>
466 <version>3.7.1.R37x_v20110808-1106</version>
467 <scope>test</scope>
468 </dependency>
469 </dependencies>
470 </profile>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000471 </profiles>
472
Felix Meschberger47eb0372009-07-28 13:48:28 +0000473 <repositories>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000474 <!-- springsource junit wrapping -->
475 <repository>
476 <id>com.springsource.repository.bundles.external</id>
477 <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
478 <url>http://repository.springsource.com/maven/bundles/external</url>
479 </repository>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000480 </repositories>
Karl Pauls589e2b32007-07-11 18:29:29 +0000481</project>