157faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf/* 257faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * Copyright (C) 2013 The Android Open Source Project 357faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * 457faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * Licensed under the Apache License, Version 2.0 (the "License"); 557faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * you may not use this file except in compliance with the License. 657faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * You may obtain a copy of the License at 757faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * 857faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * http://www.apache.org/licenses/LICENSE-2.0 957faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * 1057faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * Unless required by applicable law or agreed to in writing, software 1157faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * distributed under the License is distributed on an "AS IS" BASIS, 1257faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1357faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * See the License for the specific language governing permissions and 1457faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf * limitations under the License. 1557faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf */ 1657faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf 1798bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalfapply plugin: 'java' 1898bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 199db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalfconfigurations { 209db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf micro 219db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf nano 2298bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf} 2398bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 249db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam MetcalfsourceSets { 259db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf micro { 269db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf java { 27721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson srcDirs = ['java/src/main/java/'] 28721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson include("com/google/protobuf/micro/*") 2998bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf } 3098bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf } 3198bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 329db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf nano { 339db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf java { 34721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson srcDirs = [ 35721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson 'java/src/main/java/', 36721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson 'java/src/device/main/java/' 37721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson ] 38721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson include("com/google/protobuf/nano/**") 399db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf } 4098bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf } 4198bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf} 4298bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 43721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidsonif (project == rootProject) { 44721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson ext.getAndroidPrebuilt = { apiLevel -> 45721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson files("$rootDir/../../prebuilts/sdk/$apiLevel/android.jar") 46721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson } 47721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson} 48721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson 49721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidsondependencies { 50721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson compile getAndroidPrebuilt('8') 51721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson nanoCompile getAndroidPrebuilt('8') 52721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson} 53721ea491a8e3e9ea5a130965dc5761fc335c3e61Jeff Davidson 549db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalfjar { 559db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf from sourceSets.nano.output, sourceSets.micro.output 569db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf baseName "libprotobuf" 579db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf appendix "java" 589db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf version "2.3" 599db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf classifier "micronano" 609db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf} 6198bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 629db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalftask nanoJar(type: Jar) { 639db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf from sourceSets.nano.output 649db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf dependsOn nanoClasses 659db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf baseName "libprotobuf" 669db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf appendix "java" 679db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf version "2.3" 689db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf classifier "nano" 6998bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf} 7098bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 719db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalftask microJar(type: Jar) { 729db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf from sourceSets.micro.output 739db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf dependsOn microClasses 749db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf baseName "libprotobuf" 759db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf appendix "java" 769db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf version "2.3" 779db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf classifier "micro" 789db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf} 7998bbe8a394916aa5238c1c87c1617ad3ad17a763Adam Metcalf 809db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalfartifacts { 819db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf micro microJar 829db9e1e9146b6b59a9c6cfca15c9c80b537ac81eAdam Metcalf nano nanoJar 8357faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf} 8457faa14e5c5b678b38dcae1288f3e5eb34bd819fAdam Metcalf 85