Merge "Add prober scripts for language services features" into main
This commit is contained in:
4
tools/ide_query/OWNERS
Normal file
4
tools/ide_query/OWNERS
Normal file
@@ -0,0 +1,4 @@
|
||||
ialiyev@google.com
|
||||
ivankirichenko@google.com
|
||||
kadircet@google.com
|
||||
michaelmerg@google.com
|
31
tools/ide_query/prober_scripts/cpp/Android.bp
Normal file
31
tools/ide_query/prober_scripts/cpp/Android.bp
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2024 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.
|
||||
*/
|
||||
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "ide_query_proberscript_cc",
|
||||
srcs: [
|
||||
"general.cc",
|
||||
"foo.proto",
|
||||
],
|
||||
cflags: ["-Wno-unused-parameter"],
|
||||
proto: {
|
||||
type: "lite",
|
||||
},
|
||||
}
|
25
tools/ide_query/prober_scripts/cpp/foo.proto
Normal file
25
tools/ide_query/prober_scripts/cpp/foo.proto
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (C) 2024 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.
|
||||
*/
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package ide_query.prober_scripts;
|
||||
|
||||
message ProtoMsg {
|
||||
// Test proto field.
|
||||
int64 some_field = 1;
|
||||
// ^ some_field
|
||||
}
|
119
tools/ide_query/prober_scripts/cpp/general.cc
Normal file
119
tools/ide_query/prober_scripts/cpp/general.cc
Normal file
@@ -0,0 +1,119 @@
|
||||
// Copyright (C) 2024 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.
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "foo.pb.h"
|
||||
|
||||
using ide_query::prober_scripts::ProtoMsg;
|
||||
|
||||
void Foo(int x, double y) {}
|
||||
float Foo(float x, float y) { return 0.0f; }
|
||||
|
||||
void TestCompletion() {
|
||||
// Test completion on protos and fuzzy matching of completion suggestions.
|
||||
|
||||
ProtoMsg foo;
|
||||
|
||||
// ^
|
||||
|
||||
// step
|
||||
// workspace.waitForReady()
|
||||
// type("f")
|
||||
// completion.trigger()
|
||||
// assert completion.items.filter(label="foo")
|
||||
// delline()
|
||||
// type("foo.sf")
|
||||
// completion.trigger()
|
||||
// assert completion.items.filter(
|
||||
// label="some_field.*",
|
||||
// insertText="some_field.*",
|
||||
// )
|
||||
// delline()
|
||||
|
||||
std::vector<int> v;
|
||||
|
||||
// ^
|
||||
|
||||
// step
|
||||
// workspace.waitForReady()
|
||||
// type("v.push")
|
||||
// completion.trigger()
|
||||
// assert completion.items.filter(label="push_back.*")
|
||||
// delline()
|
||||
}
|
||||
|
||||
void TestNavigation() {
|
||||
std::vector<int> ints;
|
||||
// | | ints
|
||||
// ^
|
||||
|
||||
// step
|
||||
// ; Test navigation to definition on STL types.
|
||||
// workspace.waitForReady()
|
||||
// navigation.trigger()
|
||||
// assert navigation.items.filter(path=".*/vector")
|
||||
|
||||
ints.push_back(0);
|
||||
// ^
|
||||
|
||||
// step
|
||||
// ; Test navigation to definition on local symbols.
|
||||
// workspace.waitForReady()
|
||||
// navigation.trigger()
|
||||
// assert navigation.items.filter(path=".*/general.cc", range=ints)
|
||||
|
||||
ProtoMsg msg;
|
||||
msg.set_some_field(0);
|
||||
// ^
|
||||
|
||||
// step
|
||||
// ; Test navigation to definition on proto fields. We do not check for a
|
||||
// ; specific target as it can be in generated code.
|
||||
// workspace.waitForReady()
|
||||
// navigation.trigger()
|
||||
// assert navigation.items
|
||||
}
|
||||
|
||||
void TestParameterInfo() {
|
||||
std::vector<int> v;
|
||||
v.push_back(0);
|
||||
// ^
|
||||
|
||||
// step
|
||||
// ; Test the signature help for STL functions. We do not check for a specific
|
||||
// ; text as it can be implementation-dependent.
|
||||
// workspace.waitForReady()
|
||||
// paraminfo.trigger()
|
||||
// assert paraminfo.items
|
||||
|
||||
Foo(0, 0.0);
|
||||
// ^
|
||||
|
||||
// step
|
||||
// ; Test the signature help for the function 'Foo' having two overloads.
|
||||
// workspace.waitForReady()
|
||||
// paraminfo.trigger()
|
||||
// assert paraminfo.items.filter(
|
||||
// active=true,
|
||||
// label="Foo\\(int x, double y\\) -> void",
|
||||
// selection="double y",
|
||||
// )
|
||||
// assert paraminfo.items.filter(
|
||||
// active=false,
|
||||
// label="Foo\\(float x, float y\\) -> float",
|
||||
// )
|
||||
}
|
||||
|
||||
int main() { return 0; }
|
5
tools/ide_query/prober_scripts/cpp_suite.textpb
Normal file
5
tools/ide_query/prober_scripts/cpp_suite.textpb
Normal file
@@ -0,0 +1,5 @@
|
||||
tests: {
|
||||
name: "general"
|
||||
scripts: "build/make/tools/ide_query/prober_scripts/cpp/general.cc"
|
||||
scripts: "build/make/tools/ide_query/prober_scripts/cpp/foo.proto"
|
||||
}
|
239
tools/ide_query/prober_scripts/ide_query.out
Normal file
239
tools/ide_query/prober_scripts/ide_query.out
Normal file
@@ -0,0 +1,239 @@
|
||||
|
||||
out<12>a
|
||||
8build/make/tools/ide_query/prober_scripts/cpp/general.cc8prebuilts/clang/host/linux-x86/clang-r522817/bin/clang++-mthumb-Os-fomit-frame-pointer-mllvm-enable-shrink-wrap=false-O2-Wall-Wextra-Winit-self-Wpointer-arith-Wunguarded-availability-Werror=date-time-Werror=int-conversion-Werror=pragma-pack&-Werror=pragma-pack-suspicious-include-Werror=sizeof-array-div-Werror=string-plus-int'-Werror=unreachable-code-loop-increment"-Wno-error=deprecated-declarations-Wno-c99-designator-Wno-gnu-folding-constant"-Wno-inconsistent-missing-override-Wno-error=reorder-init-list-Wno-reorder-init-list-Wno-sign-compare-Wno-unused -DANDROID-DNDEBUG-UDEBUG(-D__compiler_offsetof=__builtin_offsetof*-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__ -faddrsig-fdebug-default-version=5-fcolor-diagnostics-ffp-contract=off-fno-exceptions-fno-strict-aliasing-fmessage-length=0#-fno-relaxed-template-template-args-gsimple-template-names-gz=zstd-no-canonical-prefixes-Wno-error=format"-fdebug-prefix-map=/proc/self/cwd=-ftrivial-auto-var-init=zero-g-ffunction-sections-fdata-sections-fno-short-enums-funwind-tables-fstack-protector-strong-Wa,--noexecstack-D_FORTIFY_SOURCE=2-Wstrict-aliasing=2-Werror=return-type-Werror=non-virtual-dtor-Werror=address-Werror=sequence-point-Werror=format-security-nostdlibinc-fdebug-info-for-profiling-msoft-float-march=armv7-a-mfloat-abi=softfp
|
||||
-mfpu=neon/-Ibuild/make/tools/ide_query/prober_scripts/cpp<1A>-Iout/soong/.intermediates/build/make/tools/ide_query/prober_scripts/cpp/ide_query_proberscript_cc/android_arm_armv7-a-neon/gen/proto/build/make/tools/ide_query/prober_scripts/cpp<1A>-Iout/soong/.intermediates/build/make/tools/ide_query/prober_scripts/cpp/ide_query_proberscript_cc/android_arm_armv7-a-neon/gen/proto-D__LIBC_API__=10000-D__LIBM_API__=10000-D__LIBDL_API__=10000-Iexternal/protobuf/srcY-Iprebuilts/clang/host/linux-x86/clang-r522817/android_libc++/platform/arm/include/c++/v1=-Iprebuilts/clang/host/linux-x86/clang-r522817/include/c++/v1 -Ibionic/libc/async_safe/include-Isystem/logging/liblog/include'-Ibionic/libc/system_properties/include<-Isystem/core/property_service/libpropertyinfoparser/include-isystembionic/libc/include-isystembionic/libc/kernel/uapi/asm-arm-isystembionic/libc/kernel/uapi-isystembionic/libc/kernel/android/scsi-isystembionic/libc/kernel/android/uapi-targetarmv7a-linux-androideabi10000-DANDROID_STRICT-fPIE-Werror-Wno-unused-parameter-DGOOGLE_PROTOBUF_NO_RTTI-Wimplicit-fallthrough*-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS-Wno-gnu-include-next-fvisibility-inlines-hidden-mllvm-enable-shrink-wrap=false-std=gnu++20 -fno-rtti-Isystem/core/include-Isystem/logging/liblog/include-Isystem/media/audio/include-Ihardware/libhardware/include%-Ihardware/libhardware_legacy/include-Ihardware/ril/include-Iframeworks/native/include"-Iframeworks/native/opengl/include-Iframeworks/av/include-Werror=bool-operation -Werror=format-insufficient-args%-Werror=implicit-int-float-conversion-Werror=int-in-bool-context-Werror=int-to-pointer-cast-Werror=pointer-to-int-cast-Werror=xor-used-as-pow-Wno-void-pointer-to-enum-cast-Wno-void-pointer-to-int-cast-Wno-pointer-to-int-cast-Werror=fortify-source-Wno-unused-variable-Wno-missing-field-initializers-Wno-packed-non-pod-Werror=address-of-temporary+-Werror=incompatible-function-pointer-types-Werror=null-dereference-Werror=return-type"-Wno-tautological-constant-compare$-Wno-tautological-type-limit-compare"-Wno-implicit-int-float-conversion!-Wno-tautological-overlap-compare-Wno-deprecated-copy-Wno-range-loop-construct"-Wno-zero-as-null-pointer-constant)-Wno-deprecated-anon-enum-enum-conversion$-Wno-deprecated-enum-enum-conversion-Wno-pessimizing-move-Wno-non-c-typedef-for-linkage-Wno-align-mismatch"-Wno-error=unused-but-set-variable#-Wno-error=unused-but-set-parameter-Wno-error=deprecated-builtins-Wno-error=deprecated2-Wno-error=single-bit-bitfield-constant-conversion$-Wno-error=enum-constexpr-conversion-Wno-error=invalid-offsetof&-Wno-deprecated-dynamic-exception-spec8build/make/tools/ide_query/prober_scripts/cpp/general.cc"<22>?
|
||||
<EFBFBD>soong/.intermediates/build/make/tools/ide_query/prober_scripts/cpp/ide_query_proberscript_cc/android_arm_armv7-a-neon/gen/proto/build/make/tools/ide_query/prober_scripts/cpp/foo.pb.h<12>>// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: build/make/tools/ide_query/prober_scripts/cpp/foo.proto
|
||||
|
||||
#ifndef GOOGLE_PROTOBUF_INCLUDED_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto
|
||||
#define GOOGLE_PROTOBUF_INCLUDED_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto
|
||||
|
||||
#include <cstdint>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
|
||||
#include <google/protobuf/port_def.inc>
|
||||
#if PROTOBUF_VERSION < 3021000
|
||||
#error This file was generated by a newer version of protoc which is
|
||||
#error incompatible with your Protocol Buffer headers. Please update
|
||||
#error your headers.
|
||||
#endif
|
||||
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||
#error This file was generated by an older version of protoc which is
|
||||
#error incompatible with your Protocol Buffer headers. Please
|
||||
#error regenerate this file with a newer version of protoc.
|
||||
#endif
|
||||
|
||||
#include <google/protobuf/port_undef.inc>
|
||||
#include <google/protobuf/io/coded_stream.h>
|
||||
#include <google/protobuf/arena.h>
|
||||
#include <google/protobuf/arenastring.h>
|
||||
#include <google/protobuf/generated_message_util.h>
|
||||
#include <google/protobuf/metadata_lite.h>
|
||||
#include <google/protobuf/message_lite.h>
|
||||
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||
// @@protoc_insertion_point(includes)
|
||||
#include <google/protobuf/port_def.inc>
|
||||
#define PROTOBUF_INTERNAL_EXPORT_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto
|
||||
PROTOBUF_NAMESPACE_OPEN
|
||||
namespace internal {
|
||||
class AnyMetadata;
|
||||
} // namespace internal
|
||||
PROTOBUF_NAMESPACE_CLOSE
|
||||
|
||||
// Internal implementation detail -- do not use these members.
|
||||
struct TableStruct_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto {
|
||||
static const ::uint32_t offsets[];
|
||||
};
|
||||
namespace ide_query {
|
||||
namespace prober_scripts {
|
||||
class ProtoMsg;
|
||||
struct ProtoMsgDefaultTypeInternal;
|
||||
extern ProtoMsgDefaultTypeInternal _ProtoMsg_default_instance_;
|
||||
} // namespace prober_scripts
|
||||
} // namespace ide_query
|
||||
PROTOBUF_NAMESPACE_OPEN
|
||||
template<> ::ide_query::prober_scripts::ProtoMsg* Arena::CreateMaybeMessage<::ide_query::prober_scripts::ProtoMsg>(Arena*);
|
||||
PROTOBUF_NAMESPACE_CLOSE
|
||||
namespace ide_query {
|
||||
namespace prober_scripts {
|
||||
|
||||
// ===================================================================
|
||||
|
||||
class ProtoMsg final :
|
||||
public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:ide_query.prober_scripts.ProtoMsg) */ {
|
||||
public:
|
||||
inline ProtoMsg() : ProtoMsg(nullptr) {}
|
||||
~ProtoMsg() override;
|
||||
explicit PROTOBUF_CONSTEXPR ProtoMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||
|
||||
ProtoMsg(const ProtoMsg& from);
|
||||
ProtoMsg(ProtoMsg&& from) noexcept
|
||||
: ProtoMsg() {
|
||||
*this = ::std::move(from);
|
||||
}
|
||||
|
||||
inline ProtoMsg& operator=(const ProtoMsg& from) {
|
||||
if (this == &from) return *this;
|
||||
CopyFrom(from);
|
||||
return *this;
|
||||
}
|
||||
inline ProtoMsg& operator=(ProtoMsg&& from) noexcept {
|
||||
if (this == &from) return *this;
|
||||
if (GetOwningArena() == from.GetOwningArena()
|
||||
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||
&& GetOwningArena() != nullptr
|
||||
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||
) {
|
||||
InternalSwap(&from);
|
||||
} else {
|
||||
CopyFrom(from);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
static const ProtoMsg& default_instance() {
|
||||
return *internal_default_instance();
|
||||
}
|
||||
static inline const ProtoMsg* internal_default_instance() {
|
||||
return reinterpret_cast<const ProtoMsg*>(
|
||||
&_ProtoMsg_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
0;
|
||||
|
||||
friend void swap(ProtoMsg& a, ProtoMsg& b) {
|
||||
a.Swap(&b);
|
||||
}
|
||||
inline void Swap(ProtoMsg* other) {
|
||||
if (other == this) return;
|
||||
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||
if (GetOwningArena() != nullptr &&
|
||||
GetOwningArena() == other->GetOwningArena()) {
|
||||
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||
if (GetOwningArena() == other->GetOwningArena()) {
|
||||
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||
InternalSwap(other);
|
||||
} else {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||
}
|
||||
}
|
||||
void UnsafeArenaSwap(ProtoMsg* other) {
|
||||
if (other == this) return;
|
||||
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||
InternalSwap(other);
|
||||
}
|
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
ProtoMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
|
||||
return CreateMaybeMessage<ProtoMsg>(arena);
|
||||
}
|
||||
ProtoMsg* New() const {
|
||||
return New(nullptr);
|
||||
}
|
||||
void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) final;
|
||||
void CopyFrom(const ProtoMsg& from);
|
||||
void MergeFrom(const ProtoMsg& from);
|
||||
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||
bool IsInitialized() const final;
|
||||
|
||||
size_t ByteSizeLong() const final;
|
||||
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||
::uint8_t* _InternalSerialize(
|
||||
::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||
|
||||
private:
|
||||
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||
void SharedDtor();
|
||||
void SetCachedSize(int size) const;
|
||||
void InternalSwap(ProtoMsg* other);
|
||||
|
||||
private:
|
||||
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||
return "ide_query.prober_scripts.ProtoMsg";
|
||||
}
|
||||
protected:
|
||||
explicit ProtoMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||
bool is_message_owned = false);
|
||||
public:
|
||||
|
||||
std::string GetTypeName() const final;
|
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kSomeFieldFieldNumber = 1,
|
||||
};
|
||||
// int64 some_field = 1;
|
||||
void clear_some_field();
|
||||
::int64_t some_field() const;
|
||||
void set_some_field(::int64_t value);
|
||||
private:
|
||||
::int64_t _internal_some_field() const;
|
||||
void _internal_set_some_field(::int64_t value);
|
||||
public:
|
||||
|
||||
// @@protoc_insertion_point(class_scope:ide_query.prober_scripts.ProtoMsg)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||
typedef void InternalArenaConstructable_;
|
||||
typedef void DestructorSkippable_;
|
||||
struct Impl_ {
|
||||
::int64_t some_field_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
};
|
||||
union { Impl_ _impl_; };
|
||||
friend struct ::TableStruct_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto;
|
||||
};
|
||||
// ===================================================================
|
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||
#endif // __GNUC__
|
||||
// ProtoMsg
|
||||
|
||||
// int64 some_field = 1;
|
||||
inline void ProtoMsg::clear_some_field() {
|
||||
_impl_.some_field_ = ::int64_t{0};
|
||||
}
|
||||
inline ::int64_t ProtoMsg::_internal_some_field() const {
|
||||
return _impl_.some_field_;
|
||||
}
|
||||
inline ::int64_t ProtoMsg::some_field() const {
|
||||
// @@protoc_insertion_point(field_get:ide_query.prober_scripts.ProtoMsg.some_field)
|
||||
return _internal_some_field();
|
||||
}
|
||||
inline void ProtoMsg::_internal_set_some_field(::int64_t value) {
|
||||
|
||||
_impl_.some_field_ = value;
|
||||
}
|
||||
inline void ProtoMsg::set_some_field(::int64_t value) {
|
||||
_internal_set_some_field(value);
|
||||
// @@protoc_insertion_point(field_set:ide_query.prober_scripts.ProtoMsg.some_field)
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif // __GNUC__
|
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
} // namespace prober_scripts
|
||||
} // namespace ide_query
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
||||
|
||||
#include <google/protobuf/port_undef.inc>
|
||||
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_build_2fmake_2ftools_2fide_5fquery_2fprober_5fscripts_2fcpp_2ffoo_2eproto
|
33
tools/ide_query/prober_scripts/regen.sh
Executable file
33
tools/ide_query/prober_scripts/regen.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
# Copyright (C) 2024 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.
|
||||
|
||||
# This script is used to generate the ide_query.out file.
|
||||
#
|
||||
# The ide_query.out file is a pre-computed result of running ide_query.sh
|
||||
# on a set of files. This allows the prober to run its tests without running
|
||||
# ide_query.sh. The prober doesn't check-out the full source code, so it
|
||||
# can't run ide_query.sh itself.
|
||||
|
||||
cd $(dirname $BASH_SOURCE)
|
||||
source $(pwd)/../../../shell_utils.sh
|
||||
require_top
|
||||
|
||||
files_to_build=(
|
||||
build/make/tools/ide_query/prober_scripts/cpp/general.cc
|
||||
)
|
||||
|
||||
cd ${TOP}
|
||||
build/make/tools/ide_query/ide_query.sh --lunch_target=aosp_arm-trunk_staging-eng ${files_to_build[@]} > build/make/tools/ide_query/prober_scripts/ide_query.out
|
Reference in New Issue
Block a user