Git Product home page Git Product logo

protobuf-dt's Introduction

protobuf-dt

About

This project provides IDE integration to Eclipse users when working on protobuf files. Contributions can be made through Google Source. For more info see CONTRIBUTING

License

The Eclipe Public License can be found in com.eclipse.protobuf.feature.

Installing protobuf-dt

The update site for protobuf-dt is http://google.github.io/protobuf-dt/updates/latest/.

As of version 2.3.0, the Protocol Buffer requires Eclipse Neon or greater.

Install using Eclipse Install tool

Navigate to "Help" > "Install New Software...".

Click Add....

Enter Protobuf Editor into the "Name:" field.

Paste http://google.github.io/protobuf-dt/updates/latest/ into the "Location:" field.

Click OK.

From the dropdown labeled "Work with:" select the repository you just added.

Make sure that "Group items by category" is deselected.

"Google Inc." should be listed in the repository explorer window.

Select the checkbox next to "Google Inc.".

Click Next.

Click Next again on the "Item Details" page.

Accept the terms of the license agreement and click Finish.

Install using the Eclipse Marketplace

Navigate to "Help" > "Eclipse Marketplace...".

Search for protobuf-dt.

"protobuf-dt" should be listed in the search window.

Click "Install".

Accept the terms of the license agreement and click Finish.

protobuf-dt's People

Contributors

alexruiz avatar atrookey avatar harryterkelsen avatar sprigogin avatar sxenos avatar wanghy avatar zynn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

protobuf-dt's Issues

ConsolePrinter uses method unavailable in Guava 21

The following error was reported to Eclipse Automatic Error Reporting with issue ID

java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
at com.google.eclipse.protobuf.ui.builder.protoc.ConsolePrinter.close(ConsolePrinter.java:68)
at com.google.eclipse.protobuf.ui.builder.protoc.ProtobufBuildParticipant.generateSingleProto(ProtobufBuildParticipant.java:115)
at com.google.eclipse.protobuf.ui.builder.protoc.ProtobufBuildParticipant.build(ProtobufBuildParticipant.java:79)
at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant$DeferredBuilderParticipant.build(RegistryBuilderParticipant.java:161)
at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant.build(RegistryBuilderParticipant.java:69)
at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:291)
at org.eclipse.xtext.builder.impl.XtextBuilder.fullBuild(XtextBuilder.java:319)
at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:155)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

The failing installation has two versions of Guava installed:
com.google.guava 15.0.0.v201403281430
com.google.guava 21.0.0.v20170206-1425

The method Closeables.closeQuietly(Closeable) was removed with Guava 16. Please make sure to be compatible with both 15 and 21.

Configurable validation result level (red errors or yellow warnings)

It is good idea to have work project always clean: in green without red errors.

However after installing this plugin, I got a project in red over errors in .proto files.
The project is OK, so while these showed errors have some value, I would like them to be warnings (yellow), that don't block project run over "Project has errors" message in Eclipse IDE.

NPE in ProtobufQualifiedNameProvider.getFullyQualifiedName

From the eclipse error log:

java.lang.NullPointerException
	at com.google.eclipse.protobuf.naming.ProtobufQualifiedNameProvider.getFullyQualifiedName(ProtobufQualifiedNameProvider.java:90)
	at com.google.eclipse.protobuf.naming.ProtobufQualifiedNameProvider.getFullyQualifiedName(ProtobufQualifiedNameProvider.java:64)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy.createEObjectDescriptions(DefaultResourceDescriptionStrategy.java:69)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription.computeExportedObjects(DefaultResourceDescription.java:89)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription$4.get(DefaultResourceDescription.java:179)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription$4.get(DefaultResourceDescription.java:173)
	at org.eclipse.xtext.util.OnChangeEvictingCache.get(OnChangeEvictingCache.java:77)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription.getLookUp(DefaultResourceDescription.java:173)
	at org.eclipse.xtext.resource.impl.AbstractResourceDescription.getExportedObjects(AbstractResourceDescription.java:35)
	at org.eclipse.xtext.validation.NamesAreUniqueValidator.doCheckUniqueNames(NamesAreUniqueValidator.java:71)
	at org.eclipse.xtext.validation.NamesAreUniqueValidator.checkUniqueNamesInResourceOf(NamesAreUniqueValidator.java:60)
	at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312)
	at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71)
	at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151)
	at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
	at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:39)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:120)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:146)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:124)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:90)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:91)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:1)
	at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:26)
	at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:91)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:520)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:492)
	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:133)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:86)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:67)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Eclipse autocompletion (Ctrl+Space) within message shows only "group" after "required"

Protocol Buffer Editor 2.3.2.20160916184 on eclipse oxygen.2
("Eclipse for Parallel Application Developers", 4.7.2.20171218-0600)

When writing a proto file within a message defintion the autocompleteion feature after input of keyword (required or optional or repeated) does only show "group" as input helper. In case of repeated the keyword "group" and "oneof" are presented, but types still missing.

Syntax highlighting works fine, only autocompletion fails.

The error seems independend from "syntax = "proto2";" in first line of proto file.

Besides: On start of line there are all types (like uint32)

Here the types are shown::

// here seems okay
message test {
    <here all possible types are shown with <ctrl+space>>
}

here not - Error::

// error
message test {
    require <here only "group" is shown in autocomplete list after <ctrl+space>>
}

Previously we used 1.4.1, which was working okay.

nanopb support

Hi,

As per the contributing guidelines I'm creating this issue before doing anything.

Nanopb is a plain-C implementation of Google's Protocol Buffers data format. It is targeted at 32 bit microcontrollers, but is also fit for other embedded systems with tight (2-10 kB ROM, <1 kB RAM) memory constraints.

There are some changes between the two command line options of course, but the main difference is the option of --nanopb_out

My main question is, instead of forking and creating a different eclipse plugin, would it be possible to expand on this plugin and add the support for nanopb?

This might come very useful when working on cross platform projects.
A good example would be Java based UI project communicating with an embedded device over Serial (UART) using Protocol Buffers.

Other languages option should be known and ignored

Currently objc option is shown as error

 option objc_class_prefix =

Couldn't resolve reference to IndexedElement 'objc_class_prefix'.

Other languages option should be known and no warnings/errors shown.

version used:
Protocol Buffer Editor 2.3.2.201609161849 com.google.eclipse.protobuf.feature.group Google Inc.

related to #11, #2

Concatenates strings in a loop

String objects are immutable. Concatenation and modification of string objects will eventually create a new string object.Concatenating strings in a loop creates a lot of objects and wastes the system's running time and space.You can use StringBuffer or StringBuilder instead of String for splicing

String[] splitValue = namespace.split("\\.");
List<ImportNormalizer> importedNamespaceResolvers = new ArrayList<>();
String currentNamespaceResolver = "";
for (int i = 0; i < Array.getLength(splitValue) - 1; i++) {
currentNamespaceResolver += splitValue[i] + ".";
ImportNormalizer resolver =
createImportedNamespaceResolver(currentNamespaceResolver, ignoreCase);
if (resolver != null) {
importedNamespaceResolvers.add(resolver);
}
}
return importedNamespaceResolvers;

ClassCastException in ProtobufQualifiedNameProvider.getFullyQualifiedName

java.lang.ClassCastException: org.eclipse.xtext.naming.QualifiedName cannot be cast to org.eclipse.xtext.util.Pair
	at com.google.eclipse.protobuf.naming.ProtobufQualifiedNameProvider.getFullyQualifiedName(ProtobufQualifiedNameProvider.java:72)
	at com.google.eclipse.protobuf.naming.ProtobufQualifiedNameProvider.getFullyQualifiedName(ProtobufQualifiedNameProvider.java:64)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy.createEObjectDescriptions(DefaultResourceDescriptionStrategy.java:69)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription.computeExportedObjects(DefaultResourceDescription.java:89)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription$4.get(DefaultResourceDescription.java:179)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription$4.get(DefaultResourceDescription.java:173)
	at org.eclipse.xtext.util.OnChangeEvictingCache.get(OnChangeEvictingCache.java:77)
	at org.eclipse.xtext.resource.impl.DefaultResourceDescription.getLookUp(DefaultResourceDescription.java:173)
	at org.eclipse.xtext.resource.impl.AbstractResourceDescription.getExportedObjects(AbstractResourceDescription.java:35)
	at org.eclipse.xtext.validation.NamesAreUniqueValidator.doCheckUniqueNames(NamesAreUniqueValidator.java:71)
	at org.eclipse.xtext.validation.NamesAreUniqueValidator.checkUniqueNamesInResourceOf(NamesAreUniqueValidator.java:60)
	at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312)
	at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71)
	at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151)
	at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
	at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:39)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:120)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:146)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:124)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:90)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:91)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:1)
	at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:26)
	at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:91)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:520)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:492)
	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:133)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:86)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:67)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Unable to install using the update mentioned in the README

screenshot from 2017-03-19 10-11-11

I don't have the plugin currently installed.

I'm unable to install this using the update site listed in the README. Please check the screen shot. My eclipse version info:
Version: Neon.2 Release (4.6.2)
Build id: 20161208-0600

However, I'm able to install this using Eclipse Marketplace.

protobuf-dt not working in eclipse mars

#protobuf-dt
Protocol Buffer Editor --  2.2.1.201601041517
Xtext Runtime -- 2.9.1.v201512180746

#eclipse
eclipse version:Mars.2 Release(4.5.2)
Build id:20160218-0600

#os
Ubuntu 14.04 x86_64

#protoc
libprotoc 2.5.0

I install the protobuf-dt by Eclipse Marketplace. And then restart eclipse.

But open the .proto file in editor, it won't be highlights. In the menu of project properties, can not find "Probotocol Buffer".

Any ideas,pls?

Old descriptor.proto

The descriptor.proto bundled is pretty old, and lacks options used in the built-in proto3 types (cc_enable_arenas, csharp_namespace, go_package and objc_class_prefix). The result is an annoying list of errors found if one uses any of these protos. Any chance of updating this file?

As a side note, I can't figure out how to specify my own descriptor.proto file. It's not clear what the options field is relative to (the default just says google/protobuf/descriptor.proto, where is that google folder located?). Nothing I've done seems to make a difference, whether I put in an absolute path, one relative to my home directory or absolute gibberish. It still figures out that java_package is a valid option, but not that go_package is one.

How to build protobuf-df in Ubuntu?

Hi, I tried building the project in my Ubuntu 16.04 (on VMware virtual machine) but I don't know the command to build or compile it. Should I use ant, maven or gradle? Thanks!

Installation fails

I followed the directions on https://github.com/google/protobuf-dt/blob/master/README.md

Error Message:
Cannot complete the install because one or more required items could not be found.
Software being installed: Protocol Buffer Editor 2.3.2.201609161849 (com.google.eclipse.protobuf.feature.group 2.3.2.201609161849)
Missing requirement: Protocol Buffer Descriptor Editor 2.3.2.201609161849 (com.google.eclipse.protobuf 2.3.2.201609161849) requires 'bundle org.eclipse.core.resources [3.11.0,4.0.0)' but it could not be found
Cannot satisfy dependency:
From: Protocol Buffer Editor 2.3.2.201609161849 (com.google.eclipse.protobuf.feature.group 2.3.2.201609161849)
To: com.google.eclipse.protobuf [2.3.2.201609161849]

System Details:
Ubuntu GNOME 16.04.1 LTS
Eclipse Mars.2 Release (4.5.2)

strong references in cache ImportResolver => unbounded memory usage

After opening just a few proto files my 4GB eclipse run out of memory and has to restart. 95% memory is retained by
com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/ImportResolver.java

What are we caching there? It looks like the key in Import (pretty much filename) and the value is ton of things - xtext objects and more. I'm not sure why is it so huge. Anyway,can we please make it a CacheBuilder.weakKeys().softValues()? Or explicitly invalidate (recursively) imports on file close?

Something wrong with repeated in option

syntax = "proto2";

option java_multiple_files = true;

import "google/protobuf/descriptor.proto";

package testoption;

extend google.protobuf.FieldOptions {
	optional Fields rules = 1000000;
	optional InValues values = 2000000;
}

message Fields {
	oneof rules {
		InValues values = 1;
	}
}

message InValues {
	repeated int32 in = 1;
	repeated int32 not_in = 2;
}

message TestValues {
	repeated int32 vals = 1 [(testoption.rules).values = {in: [1,2,3]}];
	repeated int32 vals2 = 2 [(testoption.values) = {in: [1,2,3]}];
}

image

I was told that Couldn't resolve reference to IndexedElement 'in' when I created this proto file. But actually, It works as it was expected. So I think that is it a problem of protocol-dt?

Support for json_name option

The latest version of protobuf-dt does not recognize the json_name option in proto3 files and flags it as an error. The files compile properly with protoc v3.0.2

For example:
image

ClassCastException in ProtobufSemanticHighlightingCalculator

The following issue was reported to Eclipse Automatic Error Reporting:

java.lang.ClassCastException: com.google.eclipse.protobuf.protobuf.impl.NativeOptionImpl cannot be cast to com.google.eclipse.protobuf.protobuf.ComplexType
at com.google.eclipse.protobuf.protobuf.impl.ComplexTypeLinkImpl.getTarget(ComplexTypeLinkImpl.java:72)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlightPropertyType(ProtobufSemanticHighlightingCalculator.java:211)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:203)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:173)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:151)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:141)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:130)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.highlight(ProtobufSemanticHighlightingCalculator.java:108)
at com.google.eclipse.protobuf.ui.editor.syntaxcoloring.ProtobufSemanticHighlightingCalculator.provideHighlightingFor(ProtobufSemanticHighlightingCalculator.java:94)
at org.eclipse.xtext.ide.editor.syntaxcoloring.MergingHighlightedPositionAcceptor.provideHighlightingFor(MergingHighlightedPositionAcceptor.java:63)
at org.eclipse.xtext.ui.editor.syntaxcoloring.HighlightingReconciler.reconcilePositions(HighlightingReconciler.java:151)
at org.eclipse.xtext.ui.editor.syntaxcoloring.HighlightingReconciler.modelChanged(HighlightingReconciler.java:402)
at org.eclipse.xtext.ui.editor.syntaxcoloring.HighlightingReconciler$2$1.exec(HighlightingReconciler.java:341)
at org.eclipse.xtext.ui.editor.syntaxcoloring.HighlightingReconciler$2$1.exec(HighlightingReconciler.java:1)
at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:26)
at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:91)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:520)
at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:492)
at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:133)
at org.eclipse.xtext.ui.editor.syntaxcoloring.HighlightingReconciler$2.run(HighlightingReconciler.java:336)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Installed Bundles:

com.google.eclipse.protobuf 2.3.2.201609161849
com.google.eclipse.protobuf.ui 2.3.2.201609161849
org.eclipse.core.jobs 3.9.0.v20170322-0013
org.eclipse.xtext.ide 2.12.0.v20170518-0959
org.eclipse.xtext 2.12.0.v20170518-0959
org.eclipse.xtext.ui 2.12.0.v20170519-0809
org.eclipse.xtext.util 2.12.0.v20170518-0959

AERI incident ID 59ba4cd6e4b07a83ba477f5c

Import "google/protobuf/empty.proto" was not found.

import "google/protobuf/empty.proto";

is shown as error. I bet developers should never do any configuration to resolve
import "google/*.proto";

version used:
Protocol Buffer Editor 2.3.2.201609161849 com.google.eclipse.protobuf.feature.group Google Inc.

NPE when auto compile proto file

  1. install protobuf-dt on spring tool suite
  2. rename the attached tables.jpg to tables.zip and unzip it
  3. open the tables workspace and you will see the project

NPE reported in Error View when compile to java file on saving the hello.proto file:

tables

java.lang.NullPointerException
at com.google.eclipse.protobuf.ui.protoc.command.ImportRootsProtocOption.locationAsFile(ImportRootsProtocOption.java:94)
at com.google.eclipse.protobuf.ui.protoc.command.ImportRootsProtocOption.singleImportRoot(ImportRootsProtocOption.java:77)
at com.google.eclipse.protobuf.ui.protoc.command.ImportRootsProtocOption.initialize(ImportRootsProtocOption.java:58)
at com.google.eclipse.protobuf.ui.protoc.command.ImportRootsProtocOption.addOptionToCommand(ImportRootsProtocOption.java:42)
at com.google.eclipse.protobuf.ui.protoc.command.ProtocCommandBuilder.buildCommand(ProtocCommandBuilder.java:51)
at com.google.eclipse.protobuf.ui.builder.protoc.ProtobufBuildParticipant.build(ProtobufBuildParticipant.java:79)
at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant$DeferredBuilderParticipant.build(RegistryBuilderParticipant.java:161)
at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant.build(RegistryBuilderParticipant.java:69)
at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:291)
at org.eclipse.xtext.builder.impl.XtextBuilder.fullBuild(XtextBuilder.java:319)
at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:155)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"import" handled differently between protobuf-dt and the maven plugin?

Greetings!

Given the setup:

 /
 +- some_global_include.proto
 +- /some_artifact/
     +- some_artifact.proto

The maven plugin will accept (in some_artifact.proto):

import "some_global_include.proto";

And the protobuf-dt plugin will accept:

import "../some_global_include.proto";

They appear to be mutually exclusive, as far as I've found.

I could live with an option in the Eclipse plugin to list the directories to include - maybe there even is one already? :-)

protoc arguments not quoted

Issue:
If --proto_path contains blanks, the missing quotation causes "no such file or directory" error.

Example:
[command] D:\protobuf\bin\protoc.exe --proto_path=D:\workspaces\git\sdhapp\Stammtisch der Helden\src --proto_path=D:\protobuf\include --java_out=D:\workspaces\git\sdhapp\Stammtisch der Helden\src-gen D:\workspaces\git\sdhapp\Stammtisch der Helden\src\de\volkerkamin\sdh\db\sdh.proto
[protoc] D:\workspaces\git\sdhapp\Stammtisch: warning: directory does not exist.
[protoc] der: No such file or directory

Platform:
Windows 10
Eclipse Photon (Build id: 20180619-1200)
Protocol Buffer Editor (2.3.2.201609161849)
protobuf-3.6.1

protobuf-dt does not recognize java_package and other options

Similar to #2, but this is happening for options that do appear in the standard descriptor.proto

Upon upgrading to 2.3.1 (I think I was previously using 2.2.1) I'm seeing this error for almost all file and field options, including java_generate_equals_and_hash, java_package, java_outer_classname, packed, deprecated, to name a few. default is the only one I've noticed that is still recognized correctly.

As in #2 the error printed in the Problems view is Couldn't resolve reference to IndexedElement '(name)'.

I tried pointing to a custom descriptor.proto that definitely includes the options just to be sure, and that did not change anything.

Integration with Nsight

Hi, is it possible to use your extension in Nsight IDE?

When I'm trying to install Protocol Buffer Editor (version 2.3.2.201609161849), I see this error:

Cannot complete the install because one or more required items could not be found.
Software currently installed: Nsight 8.0.0.201609051303 (com.nvidia.cuda.ide.product 8.0.0.201609051303)
Missing requirement for filter properties ~= $0: Nsight 8.0.0.201609051303 (com.nvidia.cuda.ide.product 8.0.0.201609051303) requires 'com.nvidia.cuda.ide.feature.feature.group [8.0.0.201609051303]' but it could not be found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.