| // Versions that we are building. |
| Properties properties = new Properties() |
| File versionRootDir = rootDir |
| String relativeVersionPath = project.hasProperty("release") |
| ? "buildSrc/base/version.properties" |
| : "buildSrc/base/dev-version.properties" |
| File versionProperties = new File(versionRootDir, relativeVersionPath) |
| |
| |
| project.ext['versionProperties'] = versionProperties |
| |
| while (!versionProperties.exists() && versionRootDir.parentFile != null && |
| versionRootDir.parentFile.exists()) { |
| versionRootDir = versionRootDir.parentFile |
| versionProperties = new File(versionRootDir, relativeVersionPath) |
| } |
| |
| versionProperties.withReader { properties.load(it) } |
| |
| for (name in properties.stringPropertyNames()) { |
| project.ext[name] = properties.getProperty(name) |
| } |
| |
| // Add ext.libs for library versions |
| Properties dependencies = new Properties() |
| File dependenciesProperties = new File(versionRootDir, "buildSrc/base/dependencies.properties") |
| dependenciesProperties.withReader { dependencies.load(it) } |
| |
| def libs = [:].withDefault { key -> throw new IllegalArgumentException('"' + key + '" not a valid dependency.') } |
| for (name in dependencies.stringPropertyNames()) { |
| libs[name] = dependencies.getProperty(name) |
| } |
| // Use the proto compiler that matches the protobuf java runtime. |
| libs['proto_compiler'] = libs['protobuf'].replace('protobuf-java', 'protoc') |
| rootProject.ext['libs'] = libs |