kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/release/Dockerfile (about)

     1  # Copyright 2014 The Kythe Authors. All rights reserved.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #   http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  FROM google/kythe-base
    16  
    17  # Usage: see kythe.sh
    18  # Volumes:
    19  #   /repo         -- Input repository for extraction/indexing
    20  #   /compilations -- Output directory for extracted compilations
    21  #   /graphstore   -- Output directory for indexing
    22  #   /root/.m2     -- Maven cache
    23  
    24  ################################## <EXTRACTORS>
    25  # Root of repository from which to extract compilations
    26  VOLUME /repo
    27  # Output directory for compilations
    28  VOLUME /compilations
    29  # Allow Maven cache to be shared
    30  VOLUME /root/.m2
    31  
    32  # Maven Extractor
    33  ADD kythe/java/com/google/devtools/kythe/extractors/java/standalone/javac_extractor_deploy.jar /kythe/bin/javac_extractor_deploy.jar
    34  ADD kythe/release/maven_extractor.sh /kythe/bin/maven_extractor
    35  
    36  # TODO(fromberger): Add new Go extractor.
    37  
    38  RUN chmod +x /kythe/bin/*_extractor
    39  ################################## </EXTRACTORS>
    40  
    41  ################################## <INDEXERS>
    42  # C++
    43  ADD kythe/cxx/indexer/cxx/indexer /kythe/bin/c++_indexer.bin
    44  RUN echo 'exec /kythe/bin/c++_indexer.bin --flush_after_each_entry --ignore_unimplemented --noindex_template_instantiations "$@"' > /kythe/bin/c++_indexer
    45  
    46  # Java
    47  ADD kythe/java/com/google/devtools/kythe/analyzers/java/indexer_deploy.jar /kythe/bin/java_indexer_deploy.jar
    48  RUN echo 'exec java -jar /kythe/bin/java_indexer_deploy.jar "$@"' > /kythe/bin/java_indexer
    49  
    50  # Go
    51  ADD kythe/go/indexer/cmd/go_indexer/go_indexer /kythe/bin/go_indexer
    52  
    53  RUN chmod +x /kythe/bin/*_indexer
    54  ################################## </INDEXERS>
    55  
    56  ################################## <STORAGE>
    57  VOLUME /graphstore
    58  
    59  ADD kythe/go/storage/tools/write_entries /kythe/bin/
    60  ADD kythe/go/platform/tools/dedup_stream /kythe/bin/
    61  
    62  ADD kythe/go/storage/tools/directory_indexer /kythe/bin/index_repository
    63  ################################## </STORAGE>
    64  
    65  ADD kythe/release/kythe.sh /kythe/bin/
    66  RUN chmod +x /kythe/bin/*.sh
    67  
    68  ENTRYPOINT ["kythe.sh"]
    69  CMD []