media3/build.gradle
Damien Merenne 41f4f24f53 Allow out of tree builds.
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.
2017-04-21 11:32:00 +02:00

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'