Skip to content

Commit 5cef13d

Browse files
authored
Enable appveyor for windows builds (#1206)
1 parent 32e8f8d commit 5cef13d

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

appveyor.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# build version
2+
version: '{build}'
3+
4+
# branches to build
5+
branches:
6+
# blacklist
7+
except:
8+
- gh-pages
9+
- travis
10+
- appveyor
11+
12+
# Do not build on tags
13+
skip_tags: true
14+
15+
# enviroment settings
16+
environment:
17+
matrix:
18+
- JAVA_HOME: C:\Program Files\Java\jdk1.7.0
19+
GOOGLE_CLOUD_PROJECT:
20+
secure: uFZ/+vyRarW3Xot03J4h5w==
21+
SECRET:
22+
secure: aiT7rDn1EzWK6imZcF/1q8NqPP5rLf7T9dUB+QFna8Zpa4k4ezMX/ZFYhFz02Aia3VLV8uD8M5esqBVB3NB9ah7kqsWMbm3blVJF8UiuR/+snafR3q/jbQ/E4FJ6TY/Xx4WgnSOFpXBFqlGvUCtrvzH5V8+M+aDmuj8wHmb1/Y6ms7HQ42uHp9/v8YhnGdZFERgD61r5v2zSkqwKIGNaSw6Zd1+hPYIEK8iCAgE8jzc=
23+
GOOGLE_API_KEY:
24+
secure: v/wAbkBCQm25Yqk4n/+7II/Klsibax+kymVIJREJgGTjBYR5AlIkpTT2oECy0Z+B
25+
26+
# install required tools (maven, secure-file, encrypted files)
27+
install:
28+
- cmd: echo %JAVA_HOME%
29+
- cmd: echo %M2_HOME%
30+
- ps: $origin = git config --get remote.origin.url; git clone --quiet -b appveyor $origin appveyor
31+
- cmd: nuget install secure-file -ExcludeVersion
32+
- cmd: IF DEFINED SECRET (secure-file\tools\secure-file -decrypt appveyor\key.json.enc -secret %SECRET% -out appveyor\key.json)
33+
- cmd: IF DEFINED SECRET (SET GOOGLE_APPLICATION_CREDENTIALS=%APPVEYOR_BUILD_FOLDER%\appveyor\key.json)
34+
- cmd: ECHO %GOOGLE_APPLICATION_CREDENTIALS%
35+
36+
# build and install artifacts
37+
build_script:
38+
- mvn clean install -DskipTests
39+
40+
# verify artifacts (no integration tests on PR)
41+
test_script:
42+
- IF DEFINED APPVEYOR_PULL_REQUEST_NUMBER (mvn verify -DskipITs) ELSE (mvn verify)
43+
44+
# preserve dependencies between builds
45+
cache:
46+
- C:\maven\
47+
- C:\Users\appveyor\.m2

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/testing/LocalPubsubHelper.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.ArrayList;
3434
import java.util.Arrays;
3535
import java.util.List;
36+
import java.util.Locale;
3637
import java.util.UUID;
3738

3839
/**
@@ -70,14 +71,22 @@ public class LocalPubsubHelper {
7071
}
7172
}
7273

74+
private static boolean isWindows() {
75+
return System.getProperty("os.name").toLowerCase(Locale.ENGLISH).contains("windows");
76+
}
77+
7378
private LocalPubsubHelper() {
7479
port = LocalServiceHelper.findAvailablePort(DEFAULT_PORT);
80+
String binName = BIN_NAME;
81+
if (isWindows()) {
82+
binName = BIN_NAME.replace("/", "\\");
83+
}
7584
List<String> gcloudCommand = new ArrayList<>(Arrays.asList(GCLOUD_CMD_TEXT.split(" ")));
7685
gcloudCommand.add(GCLOUD_CMD_PORT_FLAG + "localhost:" + port);
7786
GCloudEmulatorRunner gcloudRunner =
7887
new GCloudEmulatorRunner(gcloudCommand, VERSION_PREFIX, MIN_VERSION);
7988
DownloadableEmulatorRunner downloadRunner =
80-
new DownloadableEmulatorRunner(Arrays.asList(BIN_NAME, BIN_CMD_PORT_FLAG + port),
89+
new DownloadableEmulatorRunner(Arrays.asList(binName, BIN_CMD_PORT_FLAG + port),
8190
EMULATOR_URL, MD5_CHECKSUM);
8291
serviceHelper = new LocalServiceHelper(Arrays.asList(gcloudRunner, downloadRunner), port);
8392
projectId = PROJECT_ID_PREFIX + UUID.randomUUID().toString();

0 commit comments

Comments
 (0)