From 33585a5d300e0f48fc2e28ab4f469a39b2783872 Mon Sep 17 00:00:00 2001
From: Robert Scott <code@humanleg.org.uk>
Date: Tue, 27 Mar 2018 20:30:46 +0100
Subject: [PATCH v2 15/28] unit test headlessness: allow this to be set through
 an ant property

update .travis.yml to use this to provide headless and non-headless builds
---
 .travis.yml | 26 ++++++++++++++------------
 build.xml   |  3 ++-
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d897c5458..68aa23018 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,18 +1,20 @@
 language: java
-os:
-  - linux
-  - osx
+script: (eval "$ANT_INVOCATION $(test $TRAVIS_JDK_VERSION = openjdk8 && echo -DnoJavaFX=true) test")
+os: linux
+dist: trusty
+env:
+  - ANT_INVOCATION="xvfb-run ant -Dtest.headless=false"
+  - ANT_INVOCATION="ant -Dtest.headless=true"
+jdk:
+  - oraclejdk9
+  - oraclejdk8
+  - openjdk8
 matrix:
   include:
-    - os: linux
-      dist: trusty
-      sudo: required
-      jdk:
-        - oraclejdk9
-        - oraclejdk8
-        - openjdk8
-    - os: osx
-      osx_image: xcode9.2
+  - os: osx
+    osx_image: xcode9.2
+    jdk: ~
+    env: ANT_INVOCATION="ant -Dtest.headless=true"
 before_install:
   - >
     case "${TRAVIS_OS_NAME:-linux}" in
diff --git a/build.xml b/build.xml
index 53dbe6e89..da49d59f2 100644
--- a/build.xml
+++ b/build.xml
@@ -42,6 +42,7 @@
         <property name="dist.jar" location="${dist.dir}/josm-custom.jar"/>
         <property name="dist-optimized.jar" location="${dist.dir}/josm-custom-optimized.jar"/>
         <property name="java.lang.version" value="1.8" />
+        <property name="test.headless" value="true" />
         <property name="jacoco.includes" value="org.openstreetmap.josm.*" />
         <property name="jacoco.inclbootstrapclasses" value="false" />
         <property name="jacoco.inclnolocationclasses" value="false" />
@@ -525,7 +526,7 @@ Build-Date: ${build.tstamp}
                     <jvmarg value="java.desktop/java.awt=ALL-UNNAMED" if:set="isJava9" />
                     <sysproperty key="josm.home" value="${test.dir}/config/@{testfamily}-josm.home"/>
                     <sysproperty key="josm.test.data" value="${test.dir}/data"/>
-                    <sysproperty key="java.awt.headless" value="true"/>
+                    <sysproperty key="java.awt.headless" value="${test.headless}"/>
                     <sysproperty key="glass.platform" value="Monocle"/>
                     <sysproperty key="monocle.platform" value="Headless"/>
                     <sysproperty key="prism.order" value="sw"/>
-- 
2.11.0

