Merge tag 'jvstm-2.3'
[jvstm.git] / pom.xml
blob15bd09104c0544a65356dbd371ba674bb9654e76
1 <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">
2     <modelVersion>4.0.0</modelVersion>
3     <groupId>jvstm</groupId>
4     <artifactId>jvstm</artifactId>
5     <packaging>jar</packaging>
6     <version>2.3</version>
7     <name>JVSTM (lock-free)</name>
8     <url>http://inesc-id-esw.github.com/JVSTM</url>
10     <properties>
11         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
14         <project.deploy.maven-repo>file:///${basedir}/../jvstm-pages/maven-repo</project.deploy.maven-repo>
16         <version.guice>2.0</version.guice>
17         <version.junit>4.10</version.junit>
18         <version.jwormbench>1.0</version.jwormbench>
19         <version.maven.exec-plugin>1.2.1</version.maven.exec-plugin>
20     </properties>
22     <scm>
23         <connection>scm:git:git@github.com:inesc-id-esw/JVSTM.git</connection>
24         <developerConnection>scm:git:git@github.com:inesc-id-esw/JVSTM.git</developerConnection>
25         <url>http://inesc-id-esw.github.com/JVSTM</url>
26         <tag>jvstm-2.3</tag>
27     </scm>
29     <build>
30         <pluginManagement>
31             <plugins>
32                 <plugin>
33                     <groupId>org.apache.maven.plugins</groupId>
34                     <artifactId>maven-surefire-plugin</artifactId>
35                     <version>2.13</version>
36                     <configuration>
37                         <argLine>-Xms1G -Xmx1G</argLine>
38                         <systemPropertyVariables>
39                             <jvstm.aom.reversion>true</jvstm.aom.reversion>
40                         </systemPropertyVariables>
41                         <includes>
42                             <!-- Add the defaults -->
43                             <include>**/Test*.java</include>
44                             <include>**/*Test.java</include>
45                             <include>**/*TestCase.java</include>
47                             <!-- Add the nonstandard names -->
48                             <include>jvstm/test/point/utests/PointTestForAomDouble.java</include>
49                             <include>jvstm/test/point/utests/PointTestForAomInt.java</include>
50                             <include>jvstm/test/point/utests/PointTestForAomInteger.java</include>
51                             <include>jvstm/test/point/utests/PointTestForAomShort.java</include>
52                             <include>jvstm/test/point/utests/gc/AomGcTestForDoublePoint.java</include>
53                             <include>jvstm/test/point/utests/gc/AomGcTestForIntegerPoint.java</include>
54                             <include>jvstm/test/point/utests/gc/AomGcTestForIntPoint.java</include>
55                             <include>jvstm/test/point/utests/gc/AomGcTestForShortPoint.java</include>
56                         </includes>
57                         <excludes>
58                             <exclude>jvstm/test/jwormbench/utest/*.java</exclude>
59                         </excludes>
60                     </configuration>
61                 </plugin>
62             </plugins>
63         </pluginManagement>
65         <plugins>
66             <plugin>
67                 <artifactId>maven-release-plugin</artifactId>
68                 <version>2.4.1</version>
69                 <configuration>
70                     <pushChanges>false</pushChanges>
71                 </configuration>
72             </plugin>
74             <plugin>
75                 <groupId>org.apache.maven.plugins</groupId>
76                 <artifactId>maven-compiler-plugin</artifactId>
77                 <version>2.0.2</version>
78                 <configuration>
79                     <source>1.6</source>
80                     <target>1.6</target>
81                 </configuration>
82             </plugin>
84             <!-- Generate the AtomicInstance and ProcessAtomicAnnotations immediatly after compiling -->
85             <plugin>
86                 <groupId>org.codehaus.mojo</groupId>
87                 <artifactId>exec-maven-plugin</artifactId>
88                 <version>${version.maven.exec-plugin}</version>
89                 <!-- Generate AtomicInstance -->
90                 <executions>
91                     <execution>
92                         <id>generate-atomic-instance</id>
93                         <phase>process-classes</phase>
94                         <goals>
95                             <goal>java</goal>
96                         </goals>
97                         <configuration>
98                             <mainClass>pt.ist.esw.advice.GenerateAnnotationInstance</mainClass>
99                             <arguments>
100                                 <argument>jvstm.Atomic</argument>
101                                 <argument>${project.build.outputDirectory}</argument>
102                             </arguments>
103                         </configuration>
104                     </execution>
105                     <!-- Process Atomic Annotations in the main code -->
106                     <execution>
107                         <id>process-annotations</id>
108                         <phase>process-classes</phase>
109                         <goals>
110                             <goal>java</goal>
111                         </goals>
112                         <configuration>
113                             <mainClass>pt.ist.esw.advice.ProcessAnnotations</mainClass>
114                             <arguments>
115                                 <argument>-a</argument>
116                                 <argument>jvstm.Atomic</argument>
117                                 <argument>${project.build.outputDirectory}</argument>
118                             </arguments>
119                         </configuration>
120                     </execution>
121                     <!-- Process Atomic Annotations in the test code -->
122                     <execution>
123                         <id>process-test-annotations</id>
124                         <phase>process-test-classes</phase>
125                         <goals>
126                             <goal>java</goal>
127                         </goals>
128                         <configuration>
129                             <mainClass>pt.ist.esw.advice.ProcessAnnotations</mainClass>
130                             <arguments>
131                                 <argument>-a</argument>
132                                 <argument>jvstm.Atomic</argument>
133                                 <argument>${project.build.testOutputDirectory}</argument>
134                             </arguments>
135                         </configuration>
136                     </execution>
137                 </executions>
138             </plugin>
140         </plugins>
141     </build>
143     <repositories>
144         <repository>
145             <id>advice-repository</id>
146             <url>http://inesc-id-esw.github.com/advice/maven-repo/</url>
147         </repository>
148         <repository>
149             <id>local-repo</id>
150             <url>file://${basedir}/local-maven-repo</url>
151         </repository>
152     </repositories>
154     <dependencies>
155         <dependency>
156             <groupId>org.slf4j</groupId>
157             <artifactId>slf4j-api</artifactId>
158             <version>1.7.5</version>
159         </dependency>
160         <dependency> 
161             <groupId>org.slf4j</groupId>
162             <artifactId>slf4j-log4j12</artifactId>
163             <version>1.7.5</version>
164         </dependency>
165         <dependency>
166             <groupId>pt.ist.esw</groupId>
167             <artifactId>advice</artifactId>
168             <version>1.5</version>
169         </dependency>
170         <dependency>
171             <groupId>junit</groupId>
172             <artifactId>junit</artifactId>
173             <version>${version.junit}</version>
174             <scope>test</scope>
175         </dependency>
176         <dependency>
177             <groupId>jwormbench</groupId>
178             <artifactId>jwormbench</artifactId>
179             <version>${version.jwormbench}</version>
180             <scope>test</scope>
181         </dependency>
182         <dependency>
183             <groupId>com.google.inject</groupId>
184             <artifactId>guice</artifactId>
185             <version>${version.guice}</version>
186             <scope>test</scope>
187         </dependency>
188     </dependencies>
190     <!--
191         note: making a release of this software on GitHub's gh-pages branch
192         requires an existing clone of such branch in another directory in your
193         computer, and then to configure the property
194         ${project.deploy.maven-repo} to point to the maven repository within
195         such location. E.g.:
197              .
198              |__ JVSTM
199              |   \__ ...
200              |__ JVSTM-pages
201                  |__ ...
202                  \__ maven-repo
204          Then just run `mvn clean deploy` in the checkout you wish to deploy :-)
205     -->
207     <distributionManagement>
208         <repository>
209             <id>gh-pages</id>
210             <url>${project.deploy.maven-repo}</url>
211         </repository>
212         <snapshotRepository>
213             <id>gh-pages</id>
214             <url>${project.deploy.maven-repo}</url>
215         </snapshotRepository>
216     </distributionManagement>
218 </project>