Build logic changes (#41)
* Migrate some build logic to conventions of other repos. * spotlessApply * Fix groovy compile version * Regex
This commit is contained in:
		
							parent
							
								
									26476ae086
								
							
						
					
					
						commit
						4bfd97dfff
					
				| 
						 | 
				
			
			@ -22,17 +22,10 @@ jobs:
 | 
			
		|||
          distribution: adopt
 | 
			
		||||
          java-version: 11
 | 
			
		||||
      - uses: burrunan/gradle-cache-action@v1
 | 
			
		||||
        name: ./gradlew lint
 | 
			
		||||
        name: Build
 | 
			
		||||
        with:
 | 
			
		||||
          arguments: --stacktrace lint
 | 
			
		||||
          gradle-version: wrapper
 | 
			
		||||
          job-id: java-contrib
 | 
			
		||||
          arguments: --stacktrace build
 | 
			
		||||
          remote-build-cache-proxy-enabled: false
 | 
			
		||||
      - name: ./gradlew assemble
 | 
			
		||||
        run: ./gradlew --stacktrace assemble
 | 
			
		||||
      - name: ./gradlew build
 | 
			
		||||
        run: ./gradlew --stacktrace --max-workers 2 build
 | 
			
		||||
        timeout-minutes: 5
 | 
			
		||||
      - uses: actions/upload-artifact@v2
 | 
			
		||||
        name: Save unit test results
 | 
			
		||||
        if: always()
 | 
			
		||||
| 
						 | 
				
			
			@ -53,13 +46,9 @@ jobs:
 | 
			
		|||
          distribution: adopt
 | 
			
		||||
          java-version: 11
 | 
			
		||||
      - uses: burrunan/gradle-cache-action@v1
 | 
			
		||||
        name: ./gradlew integrationTest
 | 
			
		||||
        id: integration-test
 | 
			
		||||
        timeout-minutes: 10
 | 
			
		||||
        name: Integration Tests
 | 
			
		||||
        with:
 | 
			
		||||
          arguments: --stacktrace --max-workers 2 integrationTest
 | 
			
		||||
          gradle-version: wrapper
 | 
			
		||||
          job-id: java-contrib
 | 
			
		||||
          arguments: --stacktrace integrationTest
 | 
			
		||||
          remote-build-cache-proxy-enabled: false
 | 
			
		||||
      - uses: actions/upload-artifact@v2
 | 
			
		||||
        name: Save integrationTest results
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ feature or via instrumentation, this project is hopefully for you.
 | 
			
		|||
 | 
			
		||||
```bash
 | 
			
		||||
# Apply formatting
 | 
			
		||||
$ ./gradlew format
 | 
			
		||||
$ ./gradlew spotlessApply
 | 
			
		||||
 | 
			
		||||
# Build the complete project
 | 
			
		||||
$ ./gradlew build
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										36
									
								
								build.gradle
								
								
								
								
							
							
						
						
									
										36
									
								
								build.gradle
								
								
								
								
							| 
						 | 
				
			
			@ -1,42 +1,10 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    id 'com.diffplug.spotless' version '5.1.1'
 | 
			
		||||
    id "com.github.johnrengelman.shadow" version "6.0.0" apply false
 | 
			
		||||
    id "io.github.gradle-nexus.publish-plugin" version "1.1.0"
 | 
			
		||||
    id 'com.diffplug.spotless'
 | 
			
		||||
    id "io.github.gradle-nexus.publish-plugin"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
description = 'OpenTelemetry Contrib libraries and utilities for the JVM'
 | 
			
		||||
 | 
			
		||||
allprojects {
 | 
			
		||||
    group = 'io.opentelemetry.contrib'
 | 
			
		||||
    version = '1.0.0-alpha'
 | 
			
		||||
 | 
			
		||||
    apply from: "$rootDir/gradle/spotless.gradle"
 | 
			
		||||
    apply from: "$rootDir/gradle/dependencies.gradle"
 | 
			
		||||
 | 
			
		||||
    it.ext.contrib = "$rootDir/gradle/contrib.gradle"
 | 
			
		||||
    it.ext.publish = "$rootDir/gradle/publish.gradle"
 | 
			
		||||
 | 
			
		||||
    repositories {
 | 
			
		||||
        mavenLocal()
 | 
			
		||||
        jcenter()
 | 
			
		||||
        mavenCentral()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
task lint(dependsOn: [allprojects.spotlessCheck])
 | 
			
		||||
task format(dependsOn: [allprojects.spotlessApply])
 | 
			
		||||
 | 
			
		||||
task integrationTest {
 | 
			
		||||
    doFirst {
 | 
			
		||||
        allprojects.test.each { test ->
 | 
			
		||||
            test.configure {
 | 
			
		||||
                systemProperty 'ojc.integration.tests', 'true'
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
integrationTest.finalizedBy allprojects.test
 | 
			
		||||
 | 
			
		||||
// At this time authentication relies on sonatypeUsername and sonatypePassword project properties or
 | 
			
		||||
// ORG_GRADLE_PROJECT_sonatypeUsername and ORG_GRADLE_PROJECT_sonatypePassword environment variables.
 | 
			
		||||
nexusPublishing {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    `kotlin-dsl`
 | 
			
		||||
    // When updating, update below in dependencies too
 | 
			
		||||
    id("com.diffplug.spotless") version "5.14.0"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
repositories {
 | 
			
		||||
    mavenCentral()
 | 
			
		||||
    gradlePluginPortal()
 | 
			
		||||
    mavenLocal()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    // When updating, update above in plugins too
 | 
			
		||||
    implementation("com.diffplug.spotless:spotless-plugin-gradle:5.14.0")
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    groovy
 | 
			
		||||
 | 
			
		||||
    id("otel.java-conventions")
 | 
			
		||||
    id("otel.spotless-conventions")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    testImplementation("org.spockframework:spock-core:1.3-groovy-2.5") {
 | 
			
		||||
        exclude("org.codehaus.groovy", "groovy-all")
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
spotless {
 | 
			
		||||
    groovy {
 | 
			
		||||
        greclipse()
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        trimTrailingWhitespace()
 | 
			
		||||
        endWithNewline()
 | 
			
		||||
        excludeJava()
 | 
			
		||||
        licenseHeaderFile(rootProject.file("config/license/spotless.license.java"), "(package|import|class|def|// Includes work from:)")
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    groovyGradle {
 | 
			
		||||
        greclipse()
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        trimTrailingWhitespace()
 | 
			
		||||
        endWithNewline()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tasks {
 | 
			
		||||
    withType<GroovyCompile> {
 | 
			
		||||
        sourceCompatibility = "8"
 | 
			
		||||
        targetCompatibility = "8"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    `java-library`
 | 
			
		||||
 | 
			
		||||
    id("otel.spotless-conventions")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group = "io.opentelemetry.contrib"
 | 
			
		||||
version = "1.0.0-alpha"
 | 
			
		||||
 | 
			
		||||
base.archivesBaseName = "${rootProject.name}-${project.name}"
 | 
			
		||||
 | 
			
		||||
java {
 | 
			
		||||
    toolchain {
 | 
			
		||||
        languageVersion.set(JavaLanguageVersion.of(11))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    withJavadocJar()
 | 
			
		||||
    withSourcesJar()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tasks {
 | 
			
		||||
    withType<JavaCompile>().configureEach {
 | 
			
		||||
        with(options) {
 | 
			
		||||
            release.set(8)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    val integrationTest by registering {
 | 
			
		||||
        dependsOn(test)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    test {
 | 
			
		||||
        if (gradle.startParameter.taskNames.contains(integrationTest.name)) {
 | 
			
		||||
            systemProperty("ojc.integration.tests", "true")
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
val dependencyManagement by configurations.creating {
 | 
			
		||||
    isCanBeConsumed = false
 | 
			
		||||
    isCanBeResolved = false
 | 
			
		||||
    isVisible = false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    dependencyManagement(platform(project(":dependencyManagement")))
 | 
			
		||||
    afterEvaluate {
 | 
			
		||||
        configurations.configureEach {
 | 
			
		||||
            if (isCanBeResolved && !isCanBeConsumed) {
 | 
			
		||||
                extendsFrom(dependencyManagement)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    id("com.diffplug.spotless")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
spotless {
 | 
			
		||||
    java {
 | 
			
		||||
        googleJavaFormat()
 | 
			
		||||
        licenseHeaderFile(rootProject.file("config/license/spotless.license.java"), "(package|import|public|class|// Includes work from:)")
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    format("misc") {
 | 
			
		||||
        // not using "**/..." to help keep spotless fast
 | 
			
		||||
        target(".gitignore", "*.md", "src/**/*.md", "*.sh", "src/**/*.properties")
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        trimTrailingWhitespace()
 | 
			
		||||
        endWithNewline()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,67 @@
 | 
			
		|||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
 | 
			
		||||
 | 
			
		||||
plugins {
 | 
			
		||||
    `java-platform`
 | 
			
		||||
 | 
			
		||||
    id("com.github.ben-manes.versions")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
data class DependencySet(val group: String, val version: String, val modules: List<String>)
 | 
			
		||||
 | 
			
		||||
val dependencyVersions = hashMapOf<String, String>()
 | 
			
		||||
rootProject.extra["versions"] = dependencyVersions
 | 
			
		||||
 | 
			
		||||
val DEPENDENCY_BOMS = listOf(
 | 
			
		||||
    "io.opentelemetry:opentelemetry-bom:1.0.0",
 | 
			
		||||
    "io.opentelemetry:opentelemetry-bom-alpha:1.0.0-alpha"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
val DEPENDENCY_SETS = listOf<DependencySet>()
 | 
			
		||||
 | 
			
		||||
val DEPENDENCIES = listOf(
 | 
			
		||||
    "org.spockframework:spock-core:1.3-groovy-2.5"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
javaPlatform {
 | 
			
		||||
    allowDependencies()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    for (bom in DEPENDENCY_BOMS) {
 | 
			
		||||
        api(enforcedPlatform(bom))
 | 
			
		||||
        val split = bom.split(':')
 | 
			
		||||
        dependencyVersions[split[0]] = split[2]
 | 
			
		||||
    }
 | 
			
		||||
    constraints {
 | 
			
		||||
        for (set in DEPENDENCY_SETS) {
 | 
			
		||||
            for (module in set.modules) {
 | 
			
		||||
                api("${set.group}:${module}:${set.version}")
 | 
			
		||||
                dependencyVersions[set.group] = set.version
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        for (dependency in DEPENDENCIES) {
 | 
			
		||||
            api(dependency)
 | 
			
		||||
            val split = dependency.split(':')
 | 
			
		||||
            dependencyVersions[split[0]] = split[2]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fun isNonStable(version: String): Boolean {
 | 
			
		||||
    val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) }
 | 
			
		||||
    val regex = "^[0-9,.v-]+(-r)?$".toRegex()
 | 
			
		||||
    val isGuava = version.endsWith("-jre")
 | 
			
		||||
    val isStable = stableKeyword || regex.matches(version) || isGuava
 | 
			
		||||
    return isStable.not()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tasks {
 | 
			
		||||
    named<DependencyUpdatesTask>("dependencyUpdates") {
 | 
			
		||||
        revision = "release"
 | 
			
		||||
        checkConstraints = true
 | 
			
		||||
 | 
			
		||||
        rejectVersionIf {
 | 
			
		||||
            isNonStable(candidate.version)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
apply from: project.contrib
 | 
			
		||||
plugins {
 | 
			
		||||
    id("otel.java-conventions")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ext.libraryName = 'OpenTelemetry Java Contrib Example'
 | 
			
		||||
description = 'An example OpenTelemetry Java Contrib library'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.example;
 | 
			
		||||
 | 
			
		||||
public class Library {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
apply plugin: 'java'
 | 
			
		||||
apply plugin: 'groovy'
 | 
			
		||||
 | 
			
		||||
ext.releaseJavaVersion = JavaVersion.VERSION_1_8
 | 
			
		||||
ext.testJavaVersion = JavaVersion.VERSION_1_8
 | 
			
		||||
 | 
			
		||||
java {
 | 
			
		||||
    archivesBaseName = "${rootProject.name}-${project.name}"
 | 
			
		||||
    sourceCompatibility = project.releaseJavaVersion
 | 
			
		||||
    targetCompatibility = project.releaseJavaVersion
 | 
			
		||||
    withJavadocJar()
 | 
			
		||||
    withSourcesJar()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
compileTestJava {
 | 
			
		||||
    sourceCompatibility = project.testJavaVersion
 | 
			
		||||
    targetCompatibility = project.testJavaVersion
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    testImplementation project.libraries.spock
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +0,0 @@
 | 
			
		|||
ext {
 | 
			
		||||
    versions = [
 | 
			
		||||
        otelStable : '1.0.0',
 | 
			
		||||
        otelAlpha : '1.0.0-alpha'
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    libraries = [
 | 
			
		||||
        // otel
 | 
			
		||||
        otelApi            : "io.opentelemetry:opentelemetry-api:${versions.otelStable}",
 | 
			
		||||
        otelApiMetrics            : "io.opentelemetry:opentelemetry-api-metrics:${versions.otelAlpha}",
 | 
			
		||||
        otelSdk            : "io.opentelemetry:opentelemetry-sdk:${versions.otelStable}",
 | 
			
		||||
        otelSdkMetrics            : "io.opentelemetry:opentelemetry-sdk-metrics:${versions.otelAlpha}",
 | 
			
		||||
        otelAutoconfig     : "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:${versions.otelAlpha}",
 | 
			
		||||
        otelSdkTesting       : "io.opentelemetry:opentelemetry-sdk-testing:${versions.otelStable}",
 | 
			
		||||
        otelExporterJaeger         : "io.opentelemetry:opentelemetry-exporter-jaeger:${versions.otelStable}",
 | 
			
		||||
        otelExporterLogging        : "io.opentelemetry:opentelemetry-exporter-logging:${versions.otelStable}",
 | 
			
		||||
        otelExporterOtlp           : "io.opentelemetry:opentelemetry-exporter-otlp-metrics:${versions.otelAlpha}",
 | 
			
		||||
        otelExporterPrometheus     : "io.opentelemetry:opentelemetry-exporter-prometheus:${versions.otelAlpha}",
 | 
			
		||||
        otelExporterZipkin         : "io.opentelemetry:opentelemetry-exporter-zipkin:${versions.otelStable}",
 | 
			
		||||
        otelProto          : "io.opentelemetry:opentelemetry-proto:${versions.otelAlpha}",
 | 
			
		||||
 | 
			
		||||
        // testing
 | 
			
		||||
        spock : dependencies.create('org.spockframework:spock-core:1.3-groovy-2.5', {
 | 
			
		||||
            exclude  group: 'org.codehaus.groovy', module: 'groovy-all'
 | 
			
		||||
        })
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,30 +0,0 @@
 | 
			
		|||
apply plugin: 'com.diffplug.spotless'
 | 
			
		||||
apply plugin: 'groovy'
 | 
			
		||||
 | 
			
		||||
spotless {
 | 
			
		||||
    format 'misc', {
 | 
			
		||||
        target '**/*.md', '.gitignore'
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        trimTrailingWhitespace()
 | 
			
		||||
        endWithNewline()
 | 
			
		||||
    }
 | 
			
		||||
    java {
 | 
			
		||||
        target '**/src/*/java/**/*.java'
 | 
			
		||||
        googleJavaFormat()
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        licenseHeaderFile rootProject.file('gradle/java.license.header'), '(package|import|public)'
 | 
			
		||||
    }
 | 
			
		||||
    groovy {
 | 
			
		||||
        target '**/*.groovy'
 | 
			
		||||
        greclipse()
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
        licenseHeaderFile rootProject.file('gradle/java.license.header'), '(package|import|class|def)'
 | 
			
		||||
    }
 | 
			
		||||
    groovyGradle {
 | 
			
		||||
        target '**/*.gradle'
 | 
			
		||||
        greclipse()
 | 
			
		||||
        indentWithSpaces()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
check.dependsOn 'spotlessCheck'
 | 
			
		||||
| 
						 | 
				
			
			@ -1,10 +1,11 @@
 | 
			
		|||
plugins {
 | 
			
		||||
    id "application"
 | 
			
		||||
    id "com.github.johnrengelman.shadow"
 | 
			
		||||
 | 
			
		||||
    id("otel.groovy-conventions")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply from: project.contrib
 | 
			
		||||
apply plugin: 'com.github.johnrengelman.shadow'
 | 
			
		||||
apply from: project.publish
 | 
			
		||||
apply from: "$rootDir/gradle/publish.gradle"
 | 
			
		||||
 | 
			
		||||
ext.shadowPublish = true
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -38,25 +39,36 @@ def deps = [
 | 
			
		|||
    testcontainers : "org.testcontainers:testcontainers:1.15.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
repositories {
 | 
			
		||||
    mavenCentral()
 | 
			
		||||
    maven {
 | 
			
		||||
        setUrl("http://www.terracotta.org/download/reflector/releases")
 | 
			
		||||
        content {
 | 
			
		||||
            includeGroupByRegex($/org\.terracotta.*/$)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    mavenLocal()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    implementation "io.grpc:grpc-netty-shaded:${versions.grpc}",
 | 
			
		||||
            "org.codehaus.groovy:groovy-jmx:${versions.groovy}",
 | 
			
		||||
            "org.codehaus.groovy:groovy:${versions.groovy}",
 | 
			
		||||
            "io.prometheus:simpleclient:${versions.prometheus}",
 | 
			
		||||
            "io.prometheus:simpleclient_httpserver:${versions.prometheus}",
 | 
			
		||||
            libraries.otelApi,
 | 
			
		||||
            libraries.otelApiMetrics,
 | 
			
		||||
            libraries.otelAutoconfig,
 | 
			
		||||
            libraries.otelExporterLogging,
 | 
			
		||||
            libraries.otelExporterOtlp,
 | 
			
		||||
            libraries.otelExporterPrometheus,
 | 
			
		||||
            libraries.otelSdk,
 | 
			
		||||
            libraries.otelSdkMetrics,
 | 
			
		||||
            libraries.otelSdkTesting,
 | 
			
		||||
            "io.opentelemetry:opentelemetry-api",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-api-metrics",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-sdk",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-sdk-metrics",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-sdk-testing",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-exporter-logging",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-exporter-otlp-metrics",
 | 
			
		||||
            "io.opentelemetry:opentelemetry-exporter-prometheus",
 | 
			
		||||
            deps.slf4j,
 | 
			
		||||
            dependencies.create(group: 'org.slf4j', name: 'slf4j-simple', version: versions.slf4j)
 | 
			
		||||
 | 
			
		||||
    runtime "org.terracotta:jmxremote_optional-tc:1.0.5"
 | 
			
		||||
    runtime "org.terracotta:jmxremote_optional-tc:1.0.8"
 | 
			
		||||
 | 
			
		||||
    testImplementation "io.grpc:grpc-api:${versions.grpc}",
 | 
			
		||||
            "io.grpc:grpc-protobuf:${versions.grpc}",
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +79,7 @@ dependencies {
 | 
			
		|||
            'org.awaitility:awaitility:3.0.0',
 | 
			
		||||
            'org.apache.httpcomponents.client5:httpclient5-fluent:5.0.1',
 | 
			
		||||
            deps.testcontainers,
 | 
			
		||||
            libraries.otelProto
 | 
			
		||||
            "io.opentelemetry:opentelemetry-proto"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
shadowJar {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import groovy.transform.PackageScope
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import groovy.transform.PackageScope
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.api.metrics.DoubleCounter
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Nullable;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
public class ConfigurationException extends RuntimeException {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.api.GlobalOpenTelemetry;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import static java.nio.charset.StandardCharsets.UTF_8;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics;
 | 
			
		||||
 | 
			
		||||
import java.io.DataInputStream;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import javax.management.ObjectName
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import static org.junit.Assert.assertTrue
 | 
			
		||||
| 
						 | 
				
			
			@ -114,11 +102,11 @@ class IntegrationTest extends Specification{
 | 
			
		|||
                    .dependsOn(zookeeper)
 | 
			
		||||
            targetContainers.add(kafka)
 | 
			
		||||
            if (targets.any {
 | 
			
		||||
                it in [
 | 
			
		||||
                    "kafka-consumer",
 | 
			
		||||
                    "kafka-producer"
 | 
			
		||||
                ]
 | 
			
		||||
            }) {
 | 
			
		||||
                        it in [
 | 
			
		||||
                            "kafka-consumer",
 | 
			
		||||
                            "kafka-producer"
 | 
			
		||||
                        ]
 | 
			
		||||
                    }) {
 | 
			
		||||
                def createTopics = new Startable() {
 | 
			
		||||
                            @Override
 | 
			
		||||
                            void start() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import spock.lang.Unroll
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import static java.lang.management.ManagementFactory.getPlatformMBeanServer
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import static io.opentelemetry.sdk.metrics.data.MetricDataType.DOUBLE_SUM
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.common.v1.InstrumentationLibrary
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import org.apache.hc.client5.http.fluent.Request
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import spock.lang.Specification
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.metrics.v1.DoubleGauge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.metrics.v1.IntGauge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.common.v1.StringKeyValue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.common.v1.StringKeyValue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.common.v1.StringKeyValue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright The OpenTelemetry Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package io.opentelemetry.contrib.jmxmetrics
 | 
			
		||||
 | 
			
		||||
import io.opentelemetry.proto.common.v1.InstrumentationLibrary
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
rootProject.name = 'opentelemetry-java-contrib'
 | 
			
		||||
 | 
			
		||||
include ':example'
 | 
			
		||||
include ':jmx-metrics'
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
pluginManagement {
 | 
			
		||||
    plugins {
 | 
			
		||||
        id("com.github.ben-manes.versions") version "0.39.0"
 | 
			
		||||
        id("com.github.johnrengelman.shadow") version "6.0.0"
 | 
			
		||||
        id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencyResolutionManagement {
 | 
			
		||||
    repositories {
 | 
			
		||||
        mavenCentral()
 | 
			
		||||
        mavenLocal()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rootProject.name = "opentelemetry-java-contrib"
 | 
			
		||||
 | 
			
		||||
include(":dependencyManagement")
 | 
			
		||||
include(":example")
 | 
			
		||||
include(":jmx-metrics")
 | 
			
		||||
		Loading…
	
		Reference in New Issue