
Before modularisation of the code, it was possible to do an out of tree build giving an -PbuildDir=someDir argument to gradle. With the modularisation, it's broken as using -PbuildDir=someDir will force the same directory for each projects, which breaks the gradle build system. This commit adds a new externalBuildDir project property to allow out of tree builds again. When set, it updates the buildDir property for each project to point to ${externalBuildDir}/${project.name}. That way, the build artifacts are written in the out of tree directory in a project specific folder. To do an out of tree build, use gradle -PexternalBuildDir=someDir ... It supports absolute and relative path. Relative path are interpreted against the ExoPlayer root directory.
68 lines
2.4 KiB
Groovy
68 lines
2.4 KiB
Groovy
// Copyright (C) 2016 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:2.3.0'
|
|
classpath 'com.novoda:bintray-release:0.4.0'
|
|
}
|
|
// Workaround for the following test coverage issue. Remove when fixed:
|
|
// https://code.google.com/p/android/issues/detail?id=226070
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
force 'org.jacoco:org.jacoco.report:0.7.4.201502262128'
|
|
force 'org.jacoco:org.jacoco.core:0.7.4.201502262128'
|
|
}
|
|
}
|
|
}
|
|
allprojects {
|
|
repositories {
|
|
jcenter()
|
|
}
|
|
project.ext {
|
|
// Important: ExoPlayer specifies a minSdkVersion of 9 because various
|
|
// components provided by the library may be of use on older devices.
|
|
// However, please note that the core media playback functionality
|
|
// provided by the library requires API level 16 or greater.
|
|
minSdkVersion = 9
|
|
compileSdkVersion = 25
|
|
targetSdkVersion = 25
|
|
buildToolsVersion = '25'
|
|
testSupportLibraryVersion = '0.5'
|
|
supportLibraryVersion = '25.3.1'
|
|
dexmakerVersion = '1.2'
|
|
mockitoVersion = '1.9.5'
|
|
releaseRepoName = getBintrayRepo()
|
|
releaseUserOrg = 'google'
|
|
releaseGroupId = 'com.google.android.exoplayer'
|
|
releaseVersion = 'r2.3.1'
|
|
releaseWebsite = 'https://github.com/google/ExoPlayer'
|
|
}
|
|
if (it.hasProperty('externalBuildDir')) {
|
|
if (!new File(externalBuildDir).isAbsolute())
|
|
externalBuildDir = new File(rootDir, externalBuildDir)
|
|
buildDir = "${externalBuildDir}/${project.name}"
|
|
}
|
|
}
|
|
|
|
def getBintrayRepo() {
|
|
boolean publicRepo = hasProperty('publicRepo') &&
|
|
property('publicRepo').toBoolean()
|
|
return publicRepo ? 'exoplayer' : 'exoplayer-test'
|
|
}
|
|
|
|
apply from: 'javadoc_combined.gradle'
|