blob: 7aa8ac248f29647576b0a0b1a05fa0b25829d150 [file] [log] [blame]
Adam Metcalf57faa142013-08-08 10:16:58 -07001/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Adam Metcalf98bbe8a2013-06-14 14:47:30 -070017apply plugin: 'java'
18
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070019configurations {
20 micro
21 nano
Harsh Modi73d4c422014-07-14 15:13:42 -070022 lite
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070023}
24
25sourceSets {
Harsh Modi73d4c422014-07-14 15:13:42 -070026
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070027 micro {
28 java {
Jeff Davidson721ea492014-04-22 23:25:53 -070029 srcDirs = ['java/src/main/java/']
30 include("com/google/protobuf/micro/*")
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070031 }
32 }
33
Harsh Modi73d4c422014-07-14 15:13:42 -070034 lite {
35 java {
36 srcDirs = ['java/src/main/java/']
Jeff Davidsonbc995822015-01-15 17:23:41 -080037 include 'com/google/protobuf/UninitializedMessageException.java'
38 include 'com/google/protobuf/MessageLite.java'
39 include 'com/google/protobuf/InvalidProtocolBufferException.java'
40 include 'com/google/protobuf/CodedOutputStream.java'
41 include 'com/google/protobuf/ByteString.java'
42 include 'com/google/protobuf/CodedInputStream.java'
43 include 'com/google/protobuf/ExtensionRegistryLite.java'
44 include 'com/google/protobuf/AbstractMessageLite.java'
45 include 'com/google/protobuf/AbstractParser.java'
46 include 'com/google/protobuf/FieldSet.java'
47 include 'com/google/protobuf/Internal.java'
48 include 'com/google/protobuf/WireFormat.java'
49 include 'com/google/protobuf/GeneratedMessageLite.java'
50 include 'com/google/protobuf/BoundedByteString.java'
51 include 'com/google/protobuf/LazyField.java'
52 include 'com/google/protobuf/LazyFieldLite.java'
53 include 'com/google/protobuf/LazyStringList.java'
54 include 'com/google/protobuf/LazyStringArrayList.java'
55 include 'com/google/protobuf/UnmodifiableLazyStringList.java'
56 include 'com/google/protobuf/LiteralByteString.java'
57 include 'com/google/protobuf/MessageLiteOrBuilder.java'
58 include 'com/google/protobuf/Parser.java'
59 include 'com/google/protobuf/ProtocolStringList.java'
60 include 'com/google/protobuf/RopeByteString.java'
61 include 'com/google/protobuf/SmallSortedMap.java'
62 include 'com/google/protobuf/Utf8.java'
Harsh Modi73d4c422014-07-14 15:13:42 -070063 }
64 }
65
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070066 nano {
67 java {
Jeff Davidson721ea492014-04-22 23:25:53 -070068 srcDirs = [
69 'java/src/main/java/',
70 'java/src/device/main/java/'
71 ]
72 include("com/google/protobuf/nano/**")
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070073 }
74 }
75}
76
Jeff Davidson721ea492014-04-22 23:25:53 -070077if (project == rootProject) {
78 ext.getAndroidPrebuilt = { apiLevel ->
79 files("$rootDir/../../prebuilts/sdk/$apiLevel/android.jar")
80 }
81}
82
83dependencies {
84 compile getAndroidPrebuilt('8')
85 nanoCompile getAndroidPrebuilt('8')
86}
87
Adam Metcalf98bbe8a2013-06-14 14:47:30 -070088jar {
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070089 from sourceSets.nano.output, sourceSets.micro.output
Adam Metcalf98bbe8a2013-06-14 14:47:30 -070090 baseName "libprotobuf"
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070091 appendix "java"
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -070092 version "2.6"
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070093 classifier "micronano"
Adam Metcalf98bbe8a2013-06-14 14:47:30 -070094}
95
Adam Metcalf9db9e1e2013-07-15 16:58:23 -070096task nanoJar(type: Jar) {
97 from sourceSets.nano.output
98 dependsOn nanoClasses
99 baseName "libprotobuf"
100 appendix "java"
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700101 version "2.6"
Adam Metcalf9db9e1e2013-07-15 16:58:23 -0700102 classifier "nano"
Adam Metcalf98bbe8a2013-06-14 14:47:30 -0700103}
104
Adam Metcalf9db9e1e2013-07-15 16:58:23 -0700105task microJar(type: Jar) {
106 from sourceSets.micro.output
107 dependsOn microClasses
108 baseName "libprotobuf"
109 appendix "java"
Jeff Davidsona3b2a6d2014-09-15 16:29:06 -0700110 version "2.6"
Adam Metcalf9db9e1e2013-07-15 16:58:23 -0700111 classifier "micro"
Adam Metcalf98bbe8a2013-06-14 14:47:30 -0700112}
113
Harsh Modi73d4c422014-07-14 15:13:42 -0700114task liteJar(type: Jar) {
115 from sourceSets.lite.output
116 dependsOn liteClasses
117 baseName "libprotobuf"
118 appendix "java"
119 version "2.3"
120 classifier "lite"
121}
122
Adam Metcalf9db9e1e2013-07-15 16:58:23 -0700123artifacts {
124 micro microJar
125 nano nanoJar
Harsh Modi73d4c422014-07-14 15:13:42 -0700126 lite liteJar
Adam Metcalf57faa142013-08-08 10:16:58 -0700127}
128