title: Google Cloud Endpoints hard coded client id in Java and the use of useDatastoreForAdditionalConfig
body: <p>I have a question regarding the hard coded nature of client ids in <strong>Google Cloud Endpoint</strong> API using Java.</p>
  
  <p>We have multiple projects with client ids tied to specific projects and have found we have to create project specific <strong>GAE</strong> artefacts (WARs).  This is a less than ideal situation as we use a micro services architecture and there will be a combinatorial explosion of artefacts.</p>
  
  <p>In an attempt to create an environment agnostic artefact we have used a poorly documented feature of the API, the <strong>useDatastoreForAdditionalConfig</strong> attribute.</p>
  
  <p>To illustrate, instead of the following:</p>
  
  <pre><code>@Api(
    name = "example", 
    version = "v1",
    scopes = { "example-scope" },
    clientIds = { "example-client-id" },
  )
  </code></pre>
  
  <p>We use:</p>
  
  <pre><code>@Api( name = "example",
        version = "v1",
        useDatastoreForAdditionalConfig = AnnotationBoolean.TRUE
  )
  </code></pre>
  
  <p>However we have heard this feature will be deprecated in an upcoming release.  My question would be, is there something wrong in the way we are building our artefacts?  Also if there is nothing wrong with our build process, do Google recognise this as an issue and do they have any plan to enable the creation of project agnostic GAE artefacts in Java?</p>