Home | History | Annotate | Download | only in protobuf
      1 /*
      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 
     17 apply plugin: 'java'
     18 
     19 configurations {
     20     micro
     21     nano
     22     lite
     23 }
     24 
     25 sourceSets {
     26 
     27     micro {
     28         java {
     29             srcDirs = ['java/src/main/java/']
     30             include("com/google/protobuf/micro/*")
     31         }
     32     }
     33 
     34     lite {
     35         java {
     36             srcDirs = ['java/src/main/java/']
     37             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'
     63         }
     64     }
     65 
     66     nano {
     67         java {
     68             srcDirs = [
     69                     'java/src/main/java/',
     70                     'java/src/device/main/java/'
     71             ]
     72             include("com/google/protobuf/nano/**")
     73         }
     74     }
     75 }
     76 
     77 if (project == rootProject) {
     78     ext.getAndroidPrebuilt = { apiLevel ->
     79         files("$rootDir/../../prebuilts/sdk/$apiLevel/android.jar")
     80     }
     81 }
     82 
     83 dependencies {
     84     compile getAndroidPrebuilt('8')
     85     nanoCompile getAndroidPrebuilt('8')
     86 }
     87 
     88 jar {
     89     from sourceSets.nano.output, sourceSets.micro.output
     90     baseName "libprotobuf"
     91     appendix "java"
     92     version "2.6"
     93     classifier "micronano"
     94 }
     95 
     96 task nanoJar(type: Jar) {
     97     from sourceSets.nano.output
     98     dependsOn nanoClasses
     99     baseName "libprotobuf"
    100     appendix "java"
    101     version "2.6"
    102     classifier "nano"
    103 }
    104 
    105 task microJar(type: Jar) {
    106     from sourceSets.micro.output
    107     dependsOn microClasses
    108     baseName "libprotobuf"
    109     appendix "java"
    110     version "2.6"
    111     classifier "micro"
    112 }
    113 
    114 task 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 
    123 artifacts {
    124     micro microJar
    125     nano nanoJar
    126     lite liteJar
    127 }
    128 
    129