Skip to content

Commit

Permalink
Update readme to reflect new artifact strategy
Browse files Browse the repository at this point in the history
  • Loading branch information
jack-berg committed Mar 15, 2024
1 parent 379efda commit cd68df2
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 23 deletions.
29 changes: 8 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# OpenTelemetry Semantic Conventions for Java
[![Continuous Build][ci-image]][ci-url]
[![Maven Central][maven-image]][maven-url]

Java code-generation for the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions).

## Published released

Published releases are available on maven central. Replace `{{version}}` with the latest released version:

[![Maven Central][maven-image]][maven-url]
| Artifact `{group}:{artifcatId}:{version}` | Latest Version | Description |
|-------------------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `io.opentelemetry.semconv:opentelemetry-semconv:{{version}}` | [![Maven Central][maven-image-stable]][maven-url-stable] | Generated code for stable semantic conventions.</br>**NOTE:** Although this is for stable semantic conventions, the artifact still has the [-alpha][versioning] and comes with no compatibility guarantees. The goal is to mark this artifact stable. |
| `io.opentelemetry.semconv:opentelemetry-semconv-incubating:{{version}}` | TODO: add badge after first publish | Generated code for experimental semantic conventions.</br>**NOTE:** This artifact has the [-alpha][versioning] and comes with no compatibility guarantees. Libraries can use this for testing, but should make copies of the attributes to avoid possible runtime errors from version conflicts. |


### Maven

Expand Down Expand Up @@ -67,23 +70,6 @@ of [open-telemetry/semantic-conventions](https://github.com/open-telemetry/seman
defined in the `semanticConventionsVersion` variable of [build.gradle.kts](./build.gradle.kts) and
generate semantic conventions classes from the release contents.

TODO: Update the following paragraph with new strategy for managing compatibility

This repository publishes `-alpha` artifacts and as discussed
in [opentelemetry-java/VERSIONING.md](https://github.com/open-telemetry/opentelemetry-java/blob/main/VERSIONING.md),
we make no compatibility guarantees. However, by convention we've been keeping attribute constants
around with `@Deprecated` annotation while we work towards formalizing the strategy (
see [#6](https://github.com/open-telemetry/semantic-conventions-java/issues/6)). The process for
retaining removed attributes is to carefully add entries to
the [SemanticAttributes.java.j2](./buildscripts/templates/SemanticAttributes.java.j2) template. This
is meticulous and error prone, hence the desire to fix it. To ensure we don't accidentally delete
any constants while we work our a permanent
strategy, [japicmp](./buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts) has been added
as a build check. It will ensure that only binary / source compatible changes are made. **NOTE: this
checking of binary / source compatibility is not required and will change in the future.**

To check compatibility, run `./gradlew build` after updating the template and running the generation task as documented above.

## Contributing

Before you start - see OpenTelemetry
Expand All @@ -101,7 +87,8 @@ for code owners.

[ci-image]: https://github.com/open-telemetry/semantic-conventions-java/workflows/Build/badge.svg
[ci-url]: https://github.com/open-telemetry/semantic-conventions-java/actions?query=workflow%3Abuild+branch%3Amain
[maven-image]: https://maven-badges.herokuapp.com/maven-central/io.opentelemetry.semconv/opentelemetry-semconv/badge.svg
[maven-url]: https://maven-badges.herokuapp.com/maven-central/io.opentelemetry.semconv/opentelemetry-semconv
[maven-image-stable]: https://maven-badges.herokuapp.com/maven-central/io.opentelemetry.semconv/opentelemetry-semconv/badge.svg
[maven-url-stable]: https://maven-badges.herokuapp.com/maven-central/io.opentelemetry.semconv/opentelemetry-semconv
[versioning]: https://github.com/open-telemetry/opentelemetry-java/blob/main/VERSIONING.md

TODO(jack-berg): add code coverage badge?
1 change: 0 additions & 1 deletion semconv-incubating/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
plugins {
id("otel.java-conventions")
id("otel.publish-conventions")
id("otel.japicmp-conventions")

id("otel.animalsniffer-conventions")
}
Expand Down
2 changes: 1 addition & 1 deletion semconv/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id("otel.java-conventions")
id("otel.publish-conventions")
// TODO: re-enable japicmp when done with breaking changes
// TODO: re-enable japicmp when artifact is stable
// id("otel.japicmp-conventions")

id("otel.animalsniffer-conventions")
Expand Down

0 comments on commit cd68df2

Please sign in to comment.