<commit_before>// Copyright 2015 The Bazel Authors. All rights reserved.
//
// 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 blaze;

import "proto/common.proto";

// option java_api_version = 2;
option java_package = "com.google.devtools.intellij.ideinfo";

message JavaSourcePackage {
  string package_string = 2;
  ArtifactLocation artifact_location = 3;
}

message PackageManifest {
  repeated JavaSourcePackage sources = 1;
}

message LibraryArtifact {
  ArtifactLocation jar = 1;
  ArtifactLocation interface_jar = 2;
  ArtifactLocation source_jar = 3 [deprecated = true];
  repeated ArtifactLocation source_jars = 4;
}

message JavaIdeInfo {
  repeated LibraryArtifact jars = 1;
  repeated LibraryArtifact generated_jars = 2;
  ArtifactLocation package_manifest = 3;
  repeated ArtifactLocation sources = 4;
  ArtifactLocation jdeps = 5;
  LibraryArtifact filtered_gen_jar = 6;
  string main_class = 7;
  string test_class = 8;
}

message CIdeInfo {
  repeated ArtifactLocation source = 1;

  repeated string transitive_include_directory = 3;
  repeated string transitive_quote_include_directory = 4;
  repeated string transitive_define = 5;
  repeated string transitive_system_include_directory = 6;

  repeated string target_copt = 7;
  repeated ArtifactLocation header = 8;
  repeated ArtifactLocation textual_header = 9;
}

message AndroidIdeInfo {
  // resources contains the unique res folders. This field is deprecated in
  // favor of res_folders which includes more information.
  repeated ArtifactLocation resources = 1;
  ArtifactLocation apk = 2;
  repeated ArtifactLocation dependency_apk = 3;
  ArtifactLocation manifest = 4;
  string java_package = 5;
  bool has_idl_sources = 6;
  LibraryArtifact idl_jar = 7;
  bool generate_resource_class = 8;
  string legacy_resources = 9;
  LibraryArtifact resource_jar = 10;
  string idl_import_root = 11;
  map<string, string> manifest_values = 12;
  repeated ResFolderLocation res_folders = 13;
  // Label for the target android_binary to instrument.
  string instruments = 14;
  // Jar used for resolving render time dependencies. Contains all runtime
  // dependencies of a binary without the desugared APIs. This field is not set
  // for non-binary targets
  ArtifactLocation render_resolve_jar = 15;
}

// Details about an Android res folder
message ResFolderLocation {
  // The res folder itself
  ArtifactLocation root = 1;
  // Relative paths to the specific res files underneath the root. If empty, all
  // res files
  // Deprecated: we no longer return path to resources. Instead, resource files
  // will be packed as an aar and stored in aar field
  repeated string resources = 2 [deprecated = true];
  ArtifactLocation aar = 3;
}
<commit_msg>Add comments about how android res folders are modeled<commit_after>// Copyright 2015 The Bazel Authors. All rights reserved.
//
// 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 blaze;

import "proto/common.proto";

// option java_api_version = 2;
option java_package = "com.google.devtools.intellij.ideinfo";

message JavaSourcePackage {
  string package_string = 2;
  ArtifactLocation artifact_location = 3;
}

message PackageManifest {
  repeated JavaSourcePackage sources = 1;
}

message LibraryArtifact {
  ArtifactLocation jar = 1;
  ArtifactLocation interface_jar = 2;
  ArtifactLocation source_jar = 3 [deprecated = true];
  repeated ArtifactLocation source_jars = 4;
}

message JavaIdeInfo {
  repeated LibraryArtifact jars = 1;
  repeated LibraryArtifact generated_jars = 2;
  ArtifactLocation package_manifest = 3;
  repeated ArtifactLocation sources = 4;
  ArtifactLocation jdeps = 5;
  LibraryArtifact filtered_gen_jar = 6;
  string main_class = 7;
  string test_class = 8;
}

message CIdeInfo {
  repeated ArtifactLocation source = 1;

  repeated string transitive_include_directory = 3;
  repeated string transitive_quote_include_directory = 4;
  repeated string transitive_define = 5;
  repeated string transitive_system_include_directory = 6;

  repeated string target_copt = 7;
  repeated ArtifactLocation header = 8;
  repeated ArtifactLocation textual_header = 9;
}

message AndroidIdeInfo {
  // resources contains the unique res folders. This field is deprecated in
  // favor of res_folders which includes more information.
  repeated ArtifactLocation resources = 1;
  ArtifactLocation apk = 2;
  repeated ArtifactLocation dependency_apk = 3;
  ArtifactLocation manifest = 4;
  string java_package = 5;
  bool has_idl_sources = 6;
  LibraryArtifact idl_jar = 7;
  bool generate_resource_class = 8;
  string legacy_resources = 9;
  LibraryArtifact resource_jar = 10;
  string idl_import_root = 11;
  map<string, string> manifest_values = 12;

  // Details about Android res folders: An android_library's resource_files attr
  // takes in a list of labels. The resource merger expects that all the
  // resources share the same basename (which is typically `res`), but these
  // folders can reside outside the current package. We generate one
  // `ResFolderLocation` message for each such folder.
  repeated ResFolderLocation res_folders = 13;

  // Label for the target android_binary to instrument.
  string instruments = 14;
  // Jar used for resolving render time dependencies. Contains all runtime
  // dependencies of a binary without the desugared APIs. This field is not set
  // for non-binary targets
  ArtifactLocation render_resolve_jar = 15;
}

// Details about an Android res folder
message ResFolderLocation {
  // The res folder itself
  ArtifactLocation root = 1;

  // Relative paths to the specific res files underneath the root.
  // Deprecated: we no longer return path to resources. Instead, resource files
  // will be packed as an aar and stored in aar field
  repeated string resources = 2 [deprecated = true];

  // An aar containing all the resources included from within this folder.
  ArtifactLocation aar = 3;
}

{'fraction_non_alphanumeric': 0.06559263521288838, 'fraction_numerical': 0.016398158803222096, 'mean_word_length': 4.04205946337926, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3195561', 'n_tokens_mistral': 2015, 'n_tokens_neox': 1905, 'n_words': 775}