Skip to content

Commit f3b70d8

Browse files
authored
Set up CI with Azure Pipelines (#903)
Rename native installers to an understandable format Upgrade Gradle to 4.10.2
1 parent a0df5cf commit f3b70d8

File tree

4 files changed

+149
-3
lines changed

4 files changed

+149
-3
lines changed

azure-pipelines.yml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Gradle
2+
# Build your Java project and run tests with Gradle using a Gradle wrapper script.
3+
# Add steps that analyze code, save build artifacts, deploy, and more:
4+
# https://docs.microsoft.com/azure/devops/pipelines/languages/java
5+
6+
trigger:
7+
- master
8+
9+
jobs:
10+
- job: Linux
11+
pool:
12+
vmImage: 'Ubuntu 16.04'
13+
14+
steps:
15+
- script: |
16+
sudo add-apt-repository -y ppa:webupd8team/java
17+
sudo apt-get update
18+
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
19+
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
20+
sudo apt-get install -y oracle-java8-installer
21+
sudo apt-get install -y oracle-java8-set-default
22+
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
23+
export PATH=$JAVA_HOME/bin:$PATH
24+
displayName: 'Install Oracle JDK'
25+
- task: Gradle@2
26+
inputs:
27+
workingDirectory: ''
28+
gradleWrapperFile: 'gradlew'
29+
gradleOptions: '-Xmx3072m -Dorg.gradle.java.home=/usr/lib/jvm/java-8-oracle'
30+
jdkUserInputPath: '/usr/lib/jvm/java-8-oracle'
31+
publishJUnitResults: false
32+
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -PlogTests --stacktrace'
33+
34+
# Publish JaCoCo code coverage results from the build
35+
- task: PublishCodeCoverageResults@1
36+
inputs:
37+
codeCoverageTool: 'JaCoCo'
38+
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/reports/jacoco/test/jacocoTestReport.xml'
39+
reportDirectory: '$(System.DefaultWorkingDirectory)/**/reports/jacoco/test/jacocoTestReport.html'
40+
additionalCodeCoverageFiles: '$(System.DefaultWorkingDirectory)/**/build/jacoco/text.exec'
41+
failIfCoverageEmpty: false
42+
43+
- task: CopyFiles@2
44+
inputs:
45+
contents: 'ui/build/jfx/native/GRIP-*.deb'
46+
targetFolder: $(Build.ArtifactStagingDirectory)
47+
48+
- task: PublishBuildArtifacts@1
49+
inputs:
50+
artifactName: 'LinuxInstaller'
51+
52+
- job: Windows_64_Bit
53+
pool:
54+
vmImage: 'vs2017-win2016'
55+
56+
steps:
57+
- script: |
58+
choco install innosetup -y
59+
displayName: 'Install Inno Setup'
60+
- task: Gradle@2
61+
inputs:
62+
workingDirectory: ''
63+
gradleWrapperFile: 'gradlew'
64+
gradleOptions: '-Xmx3072m'
65+
jdkVersionOption: '1.8'
66+
jdkArchitectureOption: 'x64'
67+
publishJUnitResults: true
68+
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'
69+
70+
- task: CopyFiles@2
71+
inputs:
72+
contents: 'ui\build\jfx\native\GRIP-*.exe'
73+
targetFolder: $(Build.ArtifactStagingDirectory)
74+
75+
- task: PublishBuildArtifacts@1
76+
inputs:
77+
artifactName: 'Win64Installer'
78+
79+
- job: Windows_32_Bit
80+
pool:
81+
vmImage: 'vs2017-win2016'
82+
83+
steps:
84+
- script: |
85+
choco install innosetup -y
86+
displayName: 'Install Inno Setup'
87+
- task: Gradle@2
88+
inputs:
89+
workingDirectory: ''
90+
gradleWrapperFile: 'gradlew'
91+
gradleOptions: '-Xmx1024m'
92+
jdkVersionOption: '1.8'
93+
jdkArchitectureOption: 'x86'
94+
publishJUnitResults: false
95+
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'
96+
97+
- task: CopyFiles@2
98+
inputs:
99+
contents: 'ui\build\jfx\native\GRIP-*.exe'
100+
targetFolder: $(Build.ArtifactStagingDirectory)
101+
102+
- task: PublishBuildArtifacts@1
103+
inputs:
104+
artifactName: 'Win32Installer'
105+
106+
- job: Mac
107+
pool:
108+
vmImage: 'xcode9-macos10.13'
109+
110+
steps:
111+
- task: Gradle@2
112+
inputs:
113+
workingDirectory: ''
114+
gradleWrapperFile: 'gradlew'
115+
gradleOptions: '-Xmx3072m'
116+
jdkVersionOption: '1.8'
117+
jdkArchitectureOption: 'x64'
118+
publishJUnitResults: false
119+
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'
120+
121+
- task: CopyFiles@2
122+
inputs:
123+
contents: 'ui/build/jfx/native/*'
124+
targetFolder: $(Build.ArtifactStagingDirectory)
125+
126+
- task: PublishBuildArtifacts@1
127+
inputs:
128+
artifactName: 'MacInstaller'

build.gradle

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,24 @@ project(":ui") {
536536
]
537537
}
538538
mainClassName = jfx.mainClass
539+
540+
tasks.withType(de.dynamicfiles.projects.gradle.plugins.javafx.tasks.JfxNativeTask) {
541+
doLast {
542+
File[] packageFiles = file("${buildDir}/jfx/native/").listFiles(new FilenameFilter() {
543+
@Override
544+
boolean accept(File dir, String name) {
545+
return name.startsWith('grip-') || name.startsWith('GRIP-') && new File(dir, name).isFile()
546+
}
547+
})
548+
for (File packageFile : packageFiles) {
549+
String oldName = packageFile.name
550+
String newName = oldName.replaceAll(/^grip/, /GRIP/)
551+
.replaceAll(/64\./, /-x64./)
552+
.replaceAll(/8632\./, /-x86-32./)
553+
packageFile.renameTo(new File(packageFile.parentFile, newName))
554+
}
555+
}
556+
}
539557
}
540558

541559

@@ -582,7 +600,7 @@ task jacocoRootReport(type: JacocoReport, group: 'Coverage reports') {
582600
}
583601

584602
task wrapper(type: Wrapper) {
585-
gradleVersion = '4.0.2'
603+
gradleVersion = '4.10.2'
586604
// We want the sources with the wrapper.
587605
distributionType = DistributionType.ALL
588606
}

gradle/wrapper/gradle-wrapper.jar

0 Bytes
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Aug 02 23:12:11 PDT 2017
1+
#Sat Jan 12 20:01:39 EST 2019
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

0 commit comments

Comments
 (0)