-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
123 lines (106 loc) · 4.99 KB
/
.travis.yml
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
# Facsimile -- A Discrete-Event Simulation Library
# Copyright © 2004-2016, Michael J Allen.
#
# This file is part of Facsimile.
#
# Facsimile is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# Facsimile is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License along with Facsimile. If not, see
# http://www.gnu.org/licenses/.
#
# The developers welcome all comments, suggestions and offers of assistance. For further information, please visit the
# project home page at:
#
# http://www.facsim.org/
#
# Thank you for your interest in the Facsimile project!
#
# IMPORTANT NOTE: All patches (modifications to existing files and/or the addition of new files) submitted for inclusion
# as part of the official Facsimile code base, must comply with the published Facsimile Coding Standards. If your code
# fails to comply with the standard, then your patches will be rejected. For further information, please visit the
# coding standards at:
#
# http://www.facsim.org/Documentation/CodingStandards/
#=======================================================================================================================
# YAML configuration file for facsimile builds on the Travis CI system.
#
# For further details on this configuration, refer to:
#
# http://www.scala-sbt.org/0.13/docs/Travis-CI-with-sbt.html
#
# NOTE: This file is maintained as part of the Facsimile "skeleton" project, and is common to a number of other
# Facsimile projects, termed client projects. It must only be modified in the "skeleton" project, with changes being
# merged into client projects. Refer to the skeleton project for further details:
#
# https://github.com/Facsimile/skeleton
#=======================================================================================================================
# Use container-based architecture, which is faster and supports IVY & SBT file caching.
sudo: false
# Specify project language and supported versions.
#
# These values should be synchronized with the values in the custom SBT build definition file,
# project/FacsimileBuild.scala
language: scala
scala:
- 2.11.7
# Cache the IVY & SBT directories at the end of the build.
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/boot
# Before installing the necessary software, set up XVFB (X Windows virtual frame buffer) so that we can run
# JavaFX/ScalaFX code in headless mode.
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
# We need Java 8 to build facsimile.
#
# Note: This is currently the only version of Java supported. If other versions become compatible, they will be included
# here.
jdk:
- oraclejdk8
# Require the latest version of this JDK (since JavaFX, in particular, is sensitive to different builds - some features
# in the current version of ScalaFX require the latest release).
addons:
apt:
packages:
- oracle-java8-installer
# Now perform the build.
#
# This firstly prints the java version used. Next, it executes SBT to perform scalastyle checking, coverage analysis and
# then execute the test suite. Subsequent to that, since Facsimile is a multi-module project, we must generate a report
# aggregated for all modules. The notify Coveralls of the test coverage results. (Note that both of these latter tasks
# must be performed as separate SBT commands.)
#
# The find commands are described as "tricks to avoid unnecessary cache updates". They can probably be removed if they
# prove troublesome.
#
# TEMPORARY MODIFICATION: The SBT "coveralls" command has been commented out temporarily since it does not appear to
# work with multi-module SBT projects. The first three lines of the script should look like this:
#
# - sbt ++$TRAVIS_SCALA_VERSION scalastyle test doc &&
# sbt ++$TRAVIS_SCALA_VERSION coverageAggregate &&
# sbt ++$TRAVIS_SCALA_VERSION coveralls
script:
- sbt ++$TRAVIS_SCALA_VERSION scalastyle test doc &&
sbt ++$TRAVIS_SCALA_VERSION coverageAggregate
- find $HOME/.sbt -name "*.lock" | xargs rm
- find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm
# For now, we'll only test the master branch.
branches:
only:
- master
# Notifications.
#
# By default, Travis will only send build notifications to the committer of the changes made, and to the project owner
# (if different). If you have forked Facsimile, and you are using Travis to verify your commits, then you are the owner
# (regardless of who is committing changes).
#
# As a committer, you will only get notifications if you have configured git with your email address. Furthermore, you
# will only receive notifications if you have write access to the associated repository.