Protobuf EntityData/NetData problem

manu3d

Active Member
Contributor
Architecture
I just fetched/pulled the latest commits from movingblocks/develop and IntelliJ is telling me that files org.terasology.protobuf.NetData and org.terasology.protobuf.EntityData have large amounts of errors. I.e., the first error in the file is regarding this block of code (which doesn't even seem valid java):

/**
* <code>repeated string string = 6;</code>
*/
com.google.protobuf.ProtocolStringList
getStringList();

and says "Cannot resolve ProtocolStringList".

I have the suspicion that there might be some corruption in my repository rather than in develop. Can anybody confirm?
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
Have you run gradle after updating from the upstream git repository? There has been some activity lately that updated the versions of some of the dependent libraries. Likely gradle just needs to update those.
 

manu3d

Active Member
Contributor
Architecture
I ran "gradlew" and "gradlew cleanIdea idea". In both cases I received the same error, but the latter command provides a little more output:

----------------------------
$ gradlew cleanIdea idea
Processing facade facades:Applet, including it as a sub-project
Processing facade facades:pC, including it as a sub-project
Module modules:Core has a build file so counting it complete and including it
Download https://repo1.maven.org/maven2/com/google/code/gson/gson/2.3.1/gson-2.3.1.jar
Download https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar
Download https://repo1.maven.org/maven2/io/netty/netty/3.9.5.Final/netty-3.9.5.Final.jar
Download http://artifactory.terasology.org/artifactory/virtual-repo-live/org/terasology/CrashReporter/1.2.3-SNAPSHOT/CrashReporter-1.2.3-20141211.1634
06-4.jar
Scanning for version in engine-module.txt for engine
Sticking with default snapshot for engine: 0.45.1-SNAPSHOT
ENGINE TESTS VERSION: 0.45.1-SNAPSHOT
Download http://artifactory.terasology.org/artifactory/virtual-repo-live/org/terasology/engine/engine/0.45.1-SNAPSHOT/engine-0.45.1-20141222.214344-7.
pom
Download http://artifactory.terasology.org/artifactory/virtual-repo-live/org/terasology/engine/engine/0.45.1-SNAPSHOT/engine-0.45.1-20141222.214344-7.
jar
Download http://artifactory.terasology.org/artifactory/virtual-repo-live/org/terasology/modules/Core/0.45.1-SNAPSHOT/Core-0.45.1-20141222.214344-7.pom

Download http://artifactory.terasology.org/artifactory/virtual-repo-live/org/terasology/modules/Core/0.45.1-SNAPSHOT/Core-0.45.1-20141222.214344-7.jar


FAILURE: Build failed with an exception.

* Where:
Build file 'C:\dev\gitrepos\Terasology\facades\Applet\build.gradle' line: 207

* What went wrong:
A problem occurred evaluating project ':facades:Applet'.
> Could not find property 'certificateFile' on task ':facades:Applet:signLibs'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3 mins 42.584 secs
----------------------------

I also closed and reopened intelliJ, just in case, and I checked if there was any change with the Applet folder: it still isn't marked as a Source Root (@Cervator ).
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
Hrm. If the Applet is breaking it, try without it and see if at least the original protobuf errors go away?

[edit] and by "without it", I mean remove the Applet folder and rerun gradle
 

manu3d

Active Member
Contributor
Architecture
Thank you for the suggestion! It's working again! Weird though. I hope you have enough information @Cervator to reproduce and debug the problem!!

Again, thank you Josharias!
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
It sounds like it was the version of protobuf - when you pulled latest you got the new protobuf files that were a version ahead, but not the matching lib jar update. So you got some errors. After lib update it went away, right?

The other part is expected:

> Could not find property 'certificateFile' on task ':facades:Applet:signLibs'.
That's because a few of the props related to the applet are "private" - they're secret stuff only known in workspaces like on our Jenkins server or in my and @msteiger's workspaces as we've set it up locally to do testing.

If you're curious to run and sign stuff lately I can set you up with the private stuff sometime. Might be ideal to handle via IRC later on when I'm back home :)

On a related note we need to improve the Applet Gradle so instead of failing like that it'll just acknowledge the signing-related setup isn't available and proceed without signing files.
 

manu3d

Active Member
Contributor
Architecture
I don't quite know when the lib update occurred. Was it when I called gradlew again? But yes, it did go away.

Concerning the applet, no, I don't need it. I don't think I'll touch the TerasologyEngine class again, I've done enough damage on it already. =) But I certainly agree that it'd be good if gradle doesn't get stuck on the signing of those file.
 

msteiger

Active Member
Contributor
World
Architecture
Logistics
We've upgraded the protobuf libaries and the compiled java files recently. You might need to re-run

gradlew idea

to download the latest libraries and re-configure your IntelliJ project files accordingly.
 
Top