-
Notifications
You must be signed in to change notification settings - Fork 97
/
pom.xml
136 lines (119 loc) · 6.65 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
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2020 Reficio (TM) - Reestablish your software! All Rights Reserved.
~
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.reficio.rcp</groupId>
<artifactId>example-p2-site</artifactId>
<packaging>pom</packaging>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.reficio</groupId>
<artifactId>p2-maven-plugin</artifactId>
<!-- consider updating the version -->
<version>1.3.0</version>
<executions>
<execution>
<id>default-cli</id>
<!-- QUICK-START EXAMPLE -->
<!--
This is the default quick-start configuration.
Expected behavior:
- specified dependencies will be fetched
- transitive dependencies will be fetched (no default exclusions)
- jars containing source source code will NOT be fetched
- jars that are NOT OSGi bundles will be "bundled" using bnd tool,
if you specify instructions for these jars they will be APPLIED
- errors thrown by bnd tool are ignored
- jars that are OSGi bundles will be simply included
if you specify instructions for these jars they will be IGNORED (see <override> option)
- p2 site will be generated
How the instructions works:
- instructions are applied only to the root artifact that you specify!
- instructions are not applied to the TRANSITIVE dependencies!
- transitive dependencies are never overridden (see <override> option)
- transitive dependencies are bundled using the default instructions:
<instructions>
<Import-Package>*;resolution:=optional</Import-Package>
<Export-Package>*</Export-Package>
<_fixupmessages>"Classes found in the wrong directory";is:=warning</_fixupmessages>
<_removeheaders>Bnd-LastModified</_removeheaders>
<_reproducible>true</_reproducible>
</instructions>
- other instructions, such as, Bundle-SymbolicName, Bundle-Name, Bundle-Version, etc.
are calculated according to the following rules:
http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html
- if you specify any instructions they will be applied only if
the jar is not already an OSGi bundle - otherwise you have to use the override
option - please see the /examples/override/pom.xml example
The following definition of an artifact:
<artifact>
<id>commons-io:commons-io:2.1</id>
</artifact>
is an equivalent of the following definition:
<artifact>
<id>commons-io:commons-io:2.1</id>
<transitive>true</transitive>
<source>false</source>
<override>false</override>
<instructions>
<Import-Package>*;resolution:=optional</Import-Package>
<Export-Package>*</Export-Package>
<_fixupmessages>"Classes found in the wrong directory";is:=warning</_fixupmessages>
<_removeheaders>Bnd-LastModified</_removeheaders>
<_reproducible>true</_reproducible>
</instructions>
<excludes/>
</artifact>
To run the example please invoke: mvn p2:site
-->
<configuration>
<artifacts>
<artifact>
<id>commons-lang:commons-lang:2.4</id>
</artifact>
<artifact>
<id>commons-lang:commons-lang:2.5</id>
</artifact>
<artifact>
<id>commons-lang:commons-lang:2.6</id>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.5.v20120716</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppSourceDirectory>${project.basedir}/target/repository/</webAppSourceDirectory>
<webApp>
<contextPath>/site</contextPath>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
</project>