Repository navigation
Conversation
📲 Install BuildsAndroid
|
| /* | ||
| * Adapted from https://github.com/androidx/androidx/blob/c799cba927a71f01ea6b421a8f83c181682633fb/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt#L524-L549 | ||
| * | ||
| * Copyright 2018 The Android Open Source Project | ||
| * | ||
| * 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. | ||
| */ |
There was a problem hiding this comment.
build-logic/src/main/kotlin/io/sentry/gradle/AarTypes.kt — This file is adapted from AndroidX MavenUploadHelper (Apache 2.0, Copyright 2018 The Android Open Source Project) and has a complete attribution header, but there is no matching entry in THIRD_PARTY_NOTICES.md. Add an entry with Source URL, License name, Copyright, Scope, and full license text.
Evidence
- File header lines 1–17 state Adapted from androidx MavenUploadHelper, Copyright 2018 The Android Open Source Project, and Apache License 2.0 with source URL.
- Grep of THIRD_PARTY_NOTICES.md for AarTypes, MavenUploadHelper, and the androidx MavenUploadHelper path returns no matching entry.
- Existing AOSP NOTICES entries cover Base64, Thread Dump Parsing, and Jetpack Compose UI only — not this Maven POM aar-type helper.
- assignAarTypes() is live code called from SentryPublishPlugin.kt.
Identified by Warden · check-code-attribution · JAJ-FF6
| } | ||
| } | ||
|
|
||
| subprojects { |
There was a problem hiding this comment.
im crying right now because this is so beautiful
|
there's a IP compatible way to apply a plugin to all subprojects. see this doc: https://docs.gradle.org/current/userguide/isolated_projects.html#sec:applying_plugins_from_a_lifecycle_callback |
Resolve plugins {} conflict in sentry-samples-spring-boot-4/build.gradle.kts:
keep io.sentry.spotless and io.sentry.jdk-target from this branch, drop
io.sentry.systemtest as removed on main (#6298).
Resolve spring sample plugin conflict after main removed io.sentry.systemtest; retain convention plugins added by this branch.
📜 Description
Removes the root
subprojects {}block: Spotless, the JDK target, Detekt and the publishing setup are now applied per module via convention plugins inbuild-logic(io.sentry.detekt,io.sentry.publish,io.sentry.publish.multiplatform). As a side effect the four integration-test modules and the empty container projects stop publishing and building distributions, which they only ever did because the old exclusion test matched onproject.namerather than the path.💡 Motivation and Context
First step towards Isolated Projects, which forbids cross-project configuration.
💚 How did you test it?
Built the distribution zips for 12 modules covering each archetype (plain JVM, Spring, BOM, Android library, umbrella, KMP, shadow agent) before and after, and compared zip contents, POMs and Gradle module metadata. The only difference is a byte-identical duplicate
sources.jarentry disappearing fromsourcesElementsin the plain-JVM modules.spotlessCheck,apiCheck(no.apifile changed),detektand unit tests pass.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
Follow-up PRs for the remaining cross-project access:
allprojects {},buildForCodeQL,apiValidation.ignoredProjects, thesubprojects {}inio.sentry.javadoc.aggregate, andsentry-bom'sevaluationDependsOnwalk.#skip-changelog