Bumped the version to 0.1.4
[Mograsim.git] / releng / net.mograsim.configuration / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0"
2         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4         <modelVersion>4.0.0</modelVersion>
5         <groupId>net.mograsim</groupId>
6         <artifactId>net.mograsim.configuration</artifactId>
7         <version>${revision}${changelist}</version>
8         <packaging>pom</packaging>
9
10         <properties>
11                 <!-- Mograsim variables, see https://maven.apache.org/maven-ci-friendly.html -->
12                 <revision>0.1.4</revision>
13                 <changelist>-SNAPSHOT</changelist>
14                 <!-- Environment -->
15                 <java.version>11</java.version> <!-- currently unused -->
16                 <tycho.version>2.0.0</tycho.version>
17                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18         </properties>
19
20         <!-- Not needed, as an explicit target definition is provided by releng/net.mograsim.target/ 
21                 This provides a uniform configuration, and we don't get weird errors. -->
22         <!-- <repositories> <repository> <id>eclipse-release</id> <url>http://download.eclipse.org/releases/2019-06</url> 
23                 <layout>p2</layout> </repository> </repositories> -->
24
25         <build>
26                 <plugins>
27                         <!-- Maven Tycho is our main build plugin for the Eclipse/OSGi environment -->
28                         <plugin>
29                                 <groupId>org.eclipse.tycho</groupId>
30                                 <artifactId>tycho-maven-plugin</artifactId>
31                                 <version>${tycho.version}</version>
32                                 <extensions>true</extensions>
33                         </plugin>
34
35                         <!-- We might use this in future to change versions comfortably -->
36                         <!-- <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-versions-plugin</artifactId> 
37                                 <version>${tycho.version}</version> <executions> <execution> <id>set-all-versions</id> 
38                                 <phase>post-clean</phase> <goals> <goal>set-version</goal> <goal>update-eclipse-metadata</goal> 
39                                 </goals> <configuration> <newVersion>0.2.0</newVersion> <properties>revision</properties> 
40                                 </configuration> </execution> </executions> </plugin> -->
41
42                         <!--Enable the replacement of the SNAPSHOT version in the final feature/product 
43                                 configuration -->
44                         <plugin>
45                                 <groupId>org.eclipse.tycho</groupId>
46                                 <artifactId>target-platform-configuration</artifactId>
47                                 <version>${tycho.version}</version>
48                                 <configuration>
49                                         <target>
50                                                 <artifact>
51                                                         <groupId>net.mograsim</groupId>
52                                                         <artifactId>net.mograsim.target</artifactId>
53                                                         <version>${revision}${changelist}</version>
54                                                 </artifact>
55                                         </target>
56                                         <environments>
57                                                 <environment>
58                                                         <os>linux</os>
59                                                         <ws>gtk</ws>
60                                                         <arch>x86_64</arch>
61                                                 </environment>
62                                                 <environment>
63                                                         <os>win32</os>
64                                                         <ws>win32</ws>
65                                                         <arch>x86_64</arch>
66                                                 </environment>
67                                                 <environment>
68                                                         <os>macosx</os>
69                                                         <ws>cocoa</ws>
70                                                         <arch>x86_64</arch>
71                                                 </environment>
72                                         </environments>
73                                 </configuration>
74                         </plugin>
75
76                         <!-- This makes maven generate proper POMs without the revision placeholder, 
77                                 this is related to the ".flattened-pom.xml" mentioned in .gitignore -->
78                         <plugin>
79                                 <groupId>org.codehaus.mojo</groupId>
80                                 <artifactId>flatten-maven-plugin</artifactId>
81                                 <version>1.2.5</version>
82                                 <configuration>
83                                         <updatePomFile>true</updatePomFile>
84                                         <flattenMode>resolveCiFriendliesOnly</flattenMode>
85                                 </configuration>
86                                 <executions>
87                                         <execution>
88                                                 <id>flatten</id>
89                                                 <phase>process-resources</phase>
90                                                 <goals>
91                                                         <goal>flatten</goal>
92                                                 </goals>
93                                         </execution>
94                                         <execution>
95                                                 <id>flatten.clean</id>
96                                                 <phase>clean</phase>
97                                                 <goals>
98                                                         <goal>clean</goal>
99                                                 </goals>
100                                         </execution>
101                                 </executions>
102                         </plugin>
103
104                         <!-- Generate sources for plugins and features automatically -->
105                         <!-- (this includes all three following plugins) -->
106                         <plugin>
107                                 <groupId>org.eclipse.tycho</groupId>
108                                 <artifactId>tycho-source-plugin</artifactId>
109                                 <version>${tycho.version}</version>
110                                 <executions>
111                                         <execution>
112                                                 <id>plugin-source</id>
113                                                 <goals>
114                                                         <goal>plugin-source</goal>
115                                                 </goals>
116                                         </execution>
117                                 </executions>
118                         </plugin>
119                         <plugin>
120                                 <groupId>org.eclipse.tycho.extras</groupId>
121                                 <artifactId>tycho-source-feature-plugin</artifactId>
122                                 <version>${tycho.version}</version>
123                                 <executions>
124                                         <execution>
125                                                 <id>source-feature</id>
126                                                 <phase>package</phase>
127                                                 <goals>
128                                                         <goal>source-feature</goal>
129                                                 </goals>
130                                         </execution>
131                                 </executions>
132                                 <configuration>
133                                         <excludes>
134                                                 <!-- IMPORTANT: List of plugins without any sources to avoid errors -->
135                                                 <plugin id="net.mograsim.plugin.branding" />
136                                                 <plugin id="net.mograsim.plugin.docs" />
137                                         </excludes>
138                                 </configuration>
139                         </plugin>
140                         <plugin>
141                                 <groupId>org.eclipse.tycho</groupId>
142                                 <artifactId>tycho-p2-plugin</artifactId>
143                                 <version>${tycho.version}</version>
144                                 <executions>
145                                         <execution>
146                                                 <id>attach-p2-metadata</id>
147                                                 <phase>package</phase>
148                                                 <goals>
149                                                         <goal>p2-metadata</goal>
150                                                 </goals>
151                                         </execution>
152                                 </executions>
153                         </plugin>
154                 </plugins>
155         </build>
156 </project>