| /* |
| * Copyright 2013 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. |
| */ |
| |
| // The SampleGenPlugin source is in the buildSrc directory. |
| import com.example.android.samples.build.SampleGenPlugin |
| apply plugin: SampleGenPlugin |
| |
| // Add a preflight task that depends on the "refresh" task that gets |
| // added by the SampleGenPlugin. |
| task preflight { |
| project.afterEvaluate({preflight.dependsOn(project.refresh)}) |
| } |
| |
| task wrapper(type: Wrapper) { |
| gradleVersion = '1.6' |
| } |
| |
| task emitAnt(type:Copy) { |
| def outputPath = "${samplegen.pathToBuild}/ant" |
| def inputPath = "${project.projectDir}/${samplegen.targetSampleModule()}" |
| mkdir outputPath |
| into outputPath |
| includeEmptyDirs |
| ["main", "common", "template"].each { input -> |
| [[ "java", "src"], ["res", "res"]].each { filetype -> |
| def srcPath = "${inputPath}/src/${input}/${filetype[0]}" |
| into("${filetype[1]}") { |
| from(srcPath) |
| } |
| } |
| } |
| from("${inputPath}/src/main") { include "AndroidManifest.xml" } |
| from("${inputPath}/src/template") { include "project.properties" } |
| } |
| |
| task emitBrowseable(type:Copy) { |
| def outputPath = "${samplegen.pathToBuild}/browsable" |
| def inputPath = "${project.projectDir}/${samplegen.targetSampleModule()}" |
| mkdir outputPath |
| into outputPath |
| |
| ["main", "common", "template"].each { input -> |
| def srcPath = "${inputPath}/src/${input}" |
| into("src") { |
| from("${srcPath}/java") |
| eachFile { FileCopyDetails fcd -> |
| def file = fcd.name |
| def parent = fcd.relativePath.parent |
| def newPath = parent.pathString.replaceAll ('(?<=/)([^/]+)/(?!java)', {a,b -> "$b."}) |
| newPath = "${newPath}/${file}" |
| fcd.path = newPath |
| println fcd.path |
| } |
| } |
| into("res") { |
| from("${srcPath}/res") |
| } |
| } |
| } |