| plugins { |
| id 'org.ysb33r.doxygen' version '0.3' |
| id 'cpp' |
| id 'maven-publish' |
| } |
| |
| evaluationDependsOn(':hal') |
| |
| ext.shared = 'shared' |
| ext.athena = 'athena' |
| ext.simulation = 'sim' |
| |
| def versionClass = """ |
| /* |
| * Autogenerated file! Do not manually edit this file. This version is regenerated |
| * any time the publish task is run, or when this file is deleted. |
| */ |
| |
| const char* WPILibVersion = "${WPILibVersion.version}"; |
| """.trim() |
| |
| def wpilibVersionFile = file('shared/src/WPILibVersion.cpp') |
| |
| def willPublish = false |
| gradle.taskGraph.addTaskExecutionGraphListener { graph -> |
| willPublish = graph.hasTask(publish) |
| } |
| |
| task generateCppVersion() { |
| description = 'Generates the wpilib version class' |
| group = 'WPILib' |
| |
| // We follow a simple set of checks to determine whether we should generate a new version file: |
| // 1. If the release type is not development, we generate a new verison file |
| // 2. If there is no generated version number, we generate a new version file |
| // 3. If there is a generated build number, and the release type is development, then we will |
| // only generate if the publish task is run. |
| doLast { |
| if (!WPILibVersion.releaseType.toString().equalsIgnoreCase('official') && !willPublish && wpilibVersionFile.exists()) { |
| return |
| } |
| println "Writing version ${WPILibVersion.version} to $wpilibVersionFile" |
| |
| if (wpilibVersionFile.exists()) { |
| wpilibVersionFile.delete() |
| } |
| wpilibVersionFile.write(versionClass) |
| } |
| } |
| |
| clean { |
| delete wpilibVersionFile |
| } |
| |
| // Attempts to execute the doxygen command. If there is no exception, doxygen exists, so return true. If there's |
| // an IOException, it doesn't exist, so return false |
| ext.checkDoxygen = { |
| try { |
| 'doxygen'.execute() |
| true |
| } catch (IOException e) { |
| false |
| } |
| } |
| |
| apply from: 'athena.gradle' |
| |
| if (enableSimulation){ |
| apply from: 'simulation.gradle' |
| } |