/* * Copyright (C) 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. */ apply plugin: 'java' configurations { micro nano lite } sourceSets { micro { java { srcDirs = ['java/src/main/java/'] include("com/google/protobuf/micro/*") } } lite { java { srcDirs = ['java/src/main/java/'] exclude 'com/google/protobuf/Descriptors.java' exclude 'com/google/protobuf/AbstractMessage.java' exclude 'com/google/protobuf/BlockingRpcChannel.java' exclude 'com/google/protobuf/BlockingService.java' exclude 'com/google/protobuf/DynamicMessage.java' exclude 'com/google/protobuf/ExtensionRegistry.java' exclude 'com/google/protobuf/GeneratedMessage.java' exclude 'com/google/protobuf/Message.java' exclude 'com/google/protobuf/micro/**' exclude 'com/google/protobuf/nano/**' exclude 'com/google/protobuf/ProtocolMessageEnum.java' exclude 'com/google/protobuf/RpcCallback.java' exclude 'com/google/protobuf/RpcChannel.java' exclude 'com/google/protobuf/RpcController.java' exclude 'com/google/protobuf/RpcUtil.java' exclude 'com/google/protobuf/ServiceException.java' exclude 'com/google/protobuf/Service.java' exclude 'com/google/protobuf/TextFormat.java' exclude 'com/google/protobuf/UnknownFieldSet.java' } } nano { java { srcDirs = [ 'java/src/main/java/', 'java/src/device/main/java/' ] include("com/google/protobuf/nano/**") } } } if (project == rootProject) { ext.getAndroidPrebuilt = { apiLevel -> files("$rootDir/../../prebuilts/sdk/$apiLevel/android.jar") } } dependencies { compile getAndroidPrebuilt('8') nanoCompile getAndroidPrebuilt('8') } jar { from sourceSets.nano.output, sourceSets.micro.output baseName "libprotobuf" appendix "java" version "2.3" classifier "micronano" } task nanoJar(type: Jar) { from sourceSets.nano.output dependsOn nanoClasses baseName "libprotobuf" appendix "java" version "2.3" classifier "nano" } task microJar(type: Jar) { from sourceSets.micro.output dependsOn microClasses baseName "libprotobuf" appendix "java" version "2.3" classifier "micro" } task liteJar(type: Jar) { from sourceSets.lite.output dependsOn liteClasses baseName "libprotobuf" appendix "java" version "2.3" classifier "lite" } artifacts { micro microJar nano nanoJar lite liteJar }