GoogleCloudPlatform / opentelemetry-operations-java

Apache License 2.0
71 stars 38 forks source link

Make resource-detector compatible with Java 8 #275

Closed psx95 closed 9 months ago

psx95 commented 9 months ago

Description

This PR makes the resource detector Java 8 compatible. This is to support #266.

How the changes were tested

Indicates all classes within resource detector are Java 8 compatible.

Other artifacts are still compiled & targeted for Java 11.

javap -v exporters/*/build/classes/java/main/com/google/cloud/opentelemetry/*/*.class | grep major

Output -

  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
  major version: 55
dashpole commented 9 months ago

Do we have any test/checks to ensure it continues to support java 8? Or is this enough, as long as we don't change this config?

psx95 commented 9 months ago

Do we have any test/checks to ensure it continues to support java 8? Or is this enough, as long as we don't change this config?

No, not at the moment, I tested everything manually in a one-off fashion. We currently do not have any tests pertaining to specific Java version.

This was just the first step, checking to see if our build works properly. Once we refactor out the resource-detector-support library, we can add tests there.

However, based on the gradle documentation on release flag used in this config, I think it should give us better assurances than using the Java compatibility options.

Maybe @jsuereth can weigh in here