461b108663
Fortunately this did not require using any JDK 1.8-specific APIs, just searching (via reflection) through the set of interfaces implemented by a class in addition to its super-classes. One downside is that the transitive set of all implemented interfaces could be much larger than the super-class chain, but this is the last thing we search, so in theory we only even get here if we were about to fail to find the getter entirely. This also means that our tests have to be compiled and run with Java 8, because I was not in the mood to figure out how to do all the complex Maven jockeying to have a special JDK8 profile and disable JDK8 tests in the normal profile and re-enable them in the JDK8 profile and blah blah blah, just shoot me now.
234 lines
6.8 KiB
XML
234 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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>
|
|
<parent>
|
|
<groupId>org.sonatype.oss</groupId>
|
|
<artifactId>oss-parent</artifactId>
|
|
<version>5</version>
|
|
</parent>
|
|
|
|
<groupId>com.samskivert</groupId>
|
|
<artifactId>jmustache</artifactId>
|
|
<packaging>bundle</packaging>
|
|
<version>1.11-SNAPSHOT</version>
|
|
|
|
<name>jmustache</name>
|
|
<description>A Java implementation of the Mustache templating language.</description>
|
|
<url>http://github.com/samskivert/jmustache</url>
|
|
<issueManagement>
|
|
<url>http://github.com/samskivert/jmustache/issues</url>
|
|
</issueManagement>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>The (New) BSD License</name>
|
|
<url>http://www.opensource.org/licenses/bsd-license.php</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>samskivert</id>
|
|
<name>Michael Bayne</name>
|
|
<email>mdb@samskivert.com</email>
|
|
</developer>
|
|
</developers>
|
|
|
|
<scm>
|
|
<connection>scm:git:git://github.com/samskivert/jmustache.git</connection>
|
|
<developerConnection>scm:git:git@github.com:samskivert/jmustache.git</developerConnection>
|
|
<url>http://github.com/samskivert/jmustache</url>
|
|
</scm>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.google.gwt</groupId>
|
|
<artifactId>gwt-dev</artifactId>
|
|
<version>2.7.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.gwt</groupId>
|
|
<artifactId>gwt-user</artifactId>
|
|
<version>2.7.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.11</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
<version>1.11</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<resources>
|
|
<!-- include the source files in our main jar for use by GWT -->
|
|
<resource>
|
|
<directory>${project.build.sourceDirectory}</directory>
|
|
<excludes>
|
|
<exclude>com/samskivert/mustache/DefaultCollector.java</exclude>
|
|
</excludes>
|
|
</resource>
|
|
<!-- also include the GWT-specific sources -->
|
|
<resource>
|
|
<directory>src/main/gwt</directory>
|
|
</resource>
|
|
</resources>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.1</version>
|
|
<configuration>
|
|
<source>1.6</source>
|
|
<target>1.6</target>
|
|
<testSource>1.8</testSource>
|
|
<testTarget>1.8</testTarget>
|
|
<fork>true</fork>
|
|
<showDeprecation>true</showDeprecation>
|
|
<showWarnings>true</showWarnings>
|
|
<compilerArgs>
|
|
<arg>-Xlint</arg>
|
|
<arg>-Xlint:-serial</arg>
|
|
<arg>-Xlint:-path</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>2.3.7</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<instructions>
|
|
<Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
|
|
<_removeheaders>
|
|
Bnd*,Created-By,Include-Resource,Private-Package,Tool
|
|
</_removeheaders>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- disabled due to src/main/gwt related hoseage
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>gwt-maven-plugin</artifactId>
|
|
<version>2.7.0</version>
|
|
<configuration>
|
|
<mode>htmlunit</mode>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
-->
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>2.4.3</version>
|
|
<configuration>
|
|
<encoding>UTF-8</encoding>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.12.2</version>
|
|
<configuration>
|
|
<includes><include>**/*Test.java</include></includes>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.9.1</version>
|
|
<configuration>
|
|
<quiet>true</quiet>
|
|
<show>public</show>
|
|
<additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>2.3.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>2.3.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.5</version>
|
|
</plugin>
|
|
|
|
<!-- these handle code coverage -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>cobertura-maven-plugin</artifactId>
|
|
<version>2.6</version>
|
|
<configuration>
|
|
<format>xml</format>
|
|
<maxmem>256m</maxmem>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.eluder.coveralls</groupId>
|
|
<artifactId>coveralls-maven-plugin</artifactId>
|
|
<version>2.1.0</version>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>release-sign-artifacts</id>
|
|
<activation>
|
|
<property><name>performRelease</name><value>true</value></property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>1.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<keyname>mdb@samskivert.com</keyname>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|