Skip to content

Commit

Permalink
Set up CI with Azure Pipelines (#903)
Browse files Browse the repository at this point in the history
Rename native installers to an understandable format
Upgrade Gradle to 4.10.2
  • Loading branch information
SamCarlberg authored Jan 14, 2019
1 parent a0df5cf commit f3b70d8
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 3 deletions.
128 changes: 128 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Gradle
# Build your Java project and run tests with Gradle using a Gradle wrapper script.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/java

trigger:
- master

jobs:
- job: Linux
pool:
vmImage: 'Ubuntu 16.04'

steps:
- script: |
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get install -y oracle-java8-installer
sudo apt-get install -y oracle-java8-set-default
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=$JAVA_HOME/bin:$PATH
displayName: 'Install Oracle JDK'
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m -Dorg.gradle.java.home=/usr/lib/jvm/java-8-oracle'
jdkUserInputPath: '/usr/lib/jvm/java-8-oracle'
publishJUnitResults: false
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -PlogTests --stacktrace'

# Publish JaCoCo code coverage results from the build
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo'
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/reports/jacoco/test/jacocoTestReport.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/reports/jacoco/test/jacocoTestReport.html'
additionalCodeCoverageFiles: '$(System.DefaultWorkingDirectory)/**/build/jacoco/text.exec'
failIfCoverageEmpty: false

- task: CopyFiles@2
inputs:
contents: 'ui/build/jfx/native/GRIP-*.deb'
targetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
inputs:
artifactName: 'LinuxInstaller'

- job: Windows_64_Bit
pool:
vmImage: 'vs2017-win2016'

steps:
- script: |
choco install innosetup -y
displayName: 'Install Inno Setup'
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'

- task: CopyFiles@2
inputs:
contents: 'ui\build\jfx\native\GRIP-*.exe'
targetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
inputs:
artifactName: 'Win64Installer'

- job: Windows_32_Bit
pool:
vmImage: 'vs2017-win2016'

steps:
- script: |
choco install innosetup -y
displayName: 'Install Inno Setup'
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx1024m'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x86'
publishJUnitResults: false
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'

- task: CopyFiles@2
inputs:
contents: 'ui\build\jfx\native\GRIP-*.exe'
targetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
inputs:
artifactName: 'Win32Installer'

- job: Mac
pool:
vmImage: 'xcode9-macos10.13'

steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: false
tasks: 'check jacocoTestReport jacocoRootReport jfxNative -Pheadless=true -Pgeneration -PlogTests --stacktrace'

- task: CopyFiles@2
inputs:
contents: 'ui/build/jfx/native/*'
targetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
inputs:
artifactName: 'MacInstaller'
20 changes: 19 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,24 @@ project(":ui") {
]
}
mainClassName = jfx.mainClass

tasks.withType(de.dynamicfiles.projects.gradle.plugins.javafx.tasks.JfxNativeTask) {
doLast {
File[] packageFiles = file("${buildDir}/jfx/native/").listFiles(new FilenameFilter() {
@Override
boolean accept(File dir, String name) {
return name.startsWith('grip-') || name.startsWith('GRIP-') && new File(dir, name).isFile()
}
})
for (File packageFile : packageFiles) {
String oldName = packageFile.name
String newName = oldName.replaceAll(/^grip/, /GRIP/)
.replaceAll(/64\./, /-x64./)
.replaceAll(/8632\./, /-x86-32./)
packageFile.renameTo(new File(packageFile.parentFile, newName))
}
}
}
}


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

task wrapper(type: Wrapper) {
gradleVersion = '4.0.2'
gradleVersion = '4.10.2'
// We want the sources with the wrapper.
distributionType = DistributionType.ALL
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Wed Aug 02 23:12:11 PDT 2017
#Sat Jan 12 20:01:39 EST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

0 comments on commit f3b70d8

Please # to comment.