google / google/j2objc

java.lang.AssertionError: Duplicate type name

Open
#1,715 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6k
Forks
999
Avg merge
19h 20m
Merged PRs (30d)
14

Description

Hi, after updating j2objc to any newer version than 2.2, I get the following error without changing anything else in the codebase:
```
Error Output:
Exception in thread "main" java.lang.AssertionError: Duplicate type name: DopplRuntime
at com.google.devtools.j2objc.gen.ObjectiveCSourceFileGenerator.getOrderedGeneratedTypes(ObjectiveCSourceFileGenerator.java:160)
at com.google.devtools.j2objc.gen.ObjectiveCSourceFileGenerator.(ObjectiveCSourceFileGenerator.java:58)
at com.google.devtools.j2objc.gen.ObjectiveCHeaderGenerator.(ObjectiveCHeaderGenerator.java:52)
at com.google.devtools.j2objc.gen.ObjectiveCSegmentedHeaderGenerator.(ObjectiveCSegmentedHeaderGenerator.java:35)
at com.google.devtools.j2objc.gen.ObjectiveCSegmentedHeaderGenerator.generate(ObjectiveCSegmentedHeaderGenerator.java:39)
at com.google.devtools.j2objc.pipeline.TranslationProcessor.generateObjectiveCSource(TranslationProcessor.java:340)
at com.google.devtools.j2objc.pipeline.TranslationProcessor.processOutputs(TranslationProcessor.java:126)
at com.google.devtools.j2objc.pipeline.FileProcessor.processInputs(FileProcessor.java:69)
at com.google.devtools.j2objc.pipeline.TranslationProcessor.processInputs(TranslationProcessor.java:83)
at com.google.devtools.j2objc.J2ObjC.run(J2ObjC.java:127)
at com.google.devtools.j2objc.J2ObjC.main(J2ObjC.java:176)
```

We use some libraries from the [Doppl project](https://doppllib.github.io/), so `DopplRuntime` definetly comes from there.

My suspect from the stack trace is this change: 887f191eb62221ece06207d55c4913599c278604.

Does that change anyhow alter the order or method of dependency resolution, that's why j2objc _discovers_ `DopplRuntime` multiple times?

Any solution idea within the scope of j2objc as Doppl seems not to be updated anymore?

Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.