sennin
sennin

Reputation: 8972

Google Endpoints generated libraries for JAVA have wrong package

I have strange problem with generating process. After click on Generate Cloud Endpoint Client Library everything works right, but if I look in the endpoint-libs/ folder I saw that former folder structure was changed.

First part of it is still ok endpoint-libs/libmyname-v1/myname/myname-v1-generated-source/ but next one is com/google/api/services/my.package.name/myname/ and com/google/api/services/my.package.name/myname/model/.

Despite it every single .java file of generated libraries has in my opinion wrong package:

    package com.google.api.services.my.package.name.myname.model;

If anyone encountered this problem and solved it?

Upvotes: 1

Views: 381

Answers (2)

jdub
jdub

Reputation: 133

Google just posted GPE 3.2.3 and a server side fix which appears to correct the issue; however, existing code is not necessarily backward compatible. As an example, changes are required in the standard Google generated GCMIntentService:

  1. Migrated to usage of the new com.google.api.services path, as:

    import com.google.api.services.deviceinfoendpoint.Deviceinfoendpoint; import com.google.api.services.deviceinfoendpoint.Deviceinfoendpoint.Builder; import com.google.api.services.deviceinfoendpoint.model.DeviceInfo;

  2. Modified the call to insert methods from:

    endpoint.insertDeviceInfo(new com.google.api.services.deviceinfoendpoint.model.DeviceInfo().setDeviceRegistrationID(registration)).execute();

    to:

    endpoint.deviceInfoEndpoint().insertDeviceInfo(new com.google.api.services.deviceinfoendpoint.model.DeviceInfo().setDeviceRegistrationID(registration)).execute();

I have been unable to find the official documentation on why this breakage was required and rationale.

Upvotes: 1

Dan Holevoet
Dan Holevoet

Reputation: 9183

This is a known issue. You can see the workaround here, or follow this bug entry for status of a fix.

Upvotes: 2

Related Questions