diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 416e87541..37416f255 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,7 +3,7 @@ Please be descriptive and detailed. - Please read our [Contributing Guidelines](https://github.com/tinyspeck/slack-gradle-plugin/blob/main/.github/CONTRIBUTING.md) and [Code of Conduct](https://slackhq.github.io/code-of-conduct). + Please read our [Contributing Guidelines](https://github.com/tinyspeck/foundry/blob/main/.github/CONTRIBUTING.md) and [Code of Conduct](https://slackhq.github.io/code-of-conduct). Don't worry about deleting this, it's not visible in the PR! --> \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0c72eea9a..1a8fcbf63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,5 +79,5 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Publish snapshot - if: github.repository == 'slackhq/slack-gradle-plugin' + if: github.repository == 'slackhq/foundry' run: ./gradlew publish -PmavenCentralUsername=${{ secrets.SONATYPEUSERNAME }} -PmavenCentralPassword=${{ secrets.SONATYPEPASSWORD }} -x dokkaHtml --no-configuration-cache diff --git a/README.md b/README.md index 316c5ac6a..a6ac64dca 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -slack-gradle-plugin +foundry =================== -### [slackhq.github.io/slack-gradle-plugin](https://slackhq.github.io/slack-gradle-plugin) +### [slackhq.github.io/foundry](https://slackhq.github.io/foundry) License -------- diff --git a/agp-handlers/agp-handler-api/gradle.properties b/agp-handlers/agp-handler-api/gradle.properties deleted file mode 100644 index d73cb98d8..000000000 --- a/agp-handlers/agp-handler-api/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_ARTIFACT_ID=sgp-agp-handler-api -POM_NAME=Slack Gradle Plugin (AGP Handler API) -POM_DESCRIPTION=Slack Gradle Plugin (AGP Handler API) diff --git a/build.gradle.kts b/build.gradle.kts index 2cab09357..2b5ba5f19 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -178,11 +178,9 @@ val kotlinBuildConfig = KotlinBuildConfig(kotlinVersion) val jvmTargetVersion = libs.versions.jvmTarget.map(JvmTarget::fromTarget) subprojects { - if (project.path == ":slack-plugin") { - project.pluginManager.withPlugin("com.github.gmazzo.buildconfig") { - configure { - buildConfigField("String", "KOTLIN_VERSION", "\"$kotlinVersion\"") - } + project.pluginManager.withPlugin("com.github.gmazzo.buildconfig") { + configure { + buildConfigField("String", "KOTLIN_VERSION", "\"$kotlinVersion\"") } } diff --git a/deploy_website.sh b/deploy_website.sh index c49e1ac8b..8a4e445b2 100755 --- a/deploy_website.sh +++ b/deploy_website.sh @@ -14,7 +14,7 @@ fi if ! [[ ${local} || ${ci} ]]; then set -ex - REPO="git@github.com:slackhq/slack-gradle-plugin.git" + REPO="git@github.com:slackhq/foundry.git" DIR=temp-clone # Delete any existing temporary website clone rm -rf ${DIR} diff --git a/docs/architecture.md b/docs/architecture.md index 56f90a4ba..d9df85446 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -38,7 +38,7 @@ Its responsibilities include: - Running standard subproject configurations via `StandardProjectConfigurations`. - Configuring unit tests via `UnitTests`. This also includes configuring the Gradle test retry plugin, if enabled. - Configuring NullAway, if enabled. -- Configuring [Skippy](/skippy). +- Configuring [Skippy](/tools/skippy). - Configuring [Mod Score](/mod-score) tasks. ### `StandardProjectConfigurations` @@ -78,7 +78,7 @@ Java projects are fairly simple. Note that these are applied on all projects tha ##### Android -- Configures AndroidTest APK aggregation with [Skippy](/skippy) support. +- Configures AndroidTest APK aggregation with [Skippy](/tools/skippy) support. - Applies the [Android cache fix plugin](https://github.com/gradle/android-cache-fix-gradle-plugin), if enabled. - Configures common AGP extensions (both legacy extensions and new Component extensions). - Disables unused/irrelevant variants. SGP is single-variant for library projects by default. diff --git a/docs/dependency-rake.md b/docs/dependency-rake.md index df66e6978..6572b364f 100644 --- a/docs/dependency-rake.md +++ b/docs/dependency-rake.md @@ -1,7 +1,7 @@ Dependency Rake =============== -Dependency rake is an tool we develop within slack-gradle-plugin (SGP) to automatically clean up Gradle build files. +Dependency rake is an tool we develop within foundry (SGP) to automatically clean up Gradle build files. This tool uses the outputs of the [dependency-analysis-gradle-plugin](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) ( diff --git a/docs/index.md b/docs/index.md index e068e9724..14758ae54 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -slack-gradle-plugin +foundry =================== This repository contains the core Gradle plugin and associated logic used for Slack's Android app. diff --git a/gradle.properties b/gradle.properties index d265018ab..8e1425839 100644 --- a/gradle.properties +++ b/gradle.properties @@ -35,11 +35,11 @@ moshix.generateProguardRules=false ksp.useKSP2=true # Versioning bits -GROUP=com.slack.gradle -POM_URL=https://github.com/slackhq/slack-gradle-plugin/ -POM_SCM_URL=https://github.com/slackhq/slack-gradle-plugin/ -POM_SCM_CONNECTION=scm:git:git://github.com/slackhq/slack-gradle-plugin.git -POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/slackhq/slack-gradle-plugin.git +GROUP=com.slack.foundry +POM_URL=https://github.com/slackhq/foundry/ +POM_SCM_URL=https://github.com/slackhq/foundry/ +POM_SCM_CONNECTION=scm:git:git://github.com/slackhq/foundry.git +POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/slackhq/foundry.git POM_LICENCE_NAME=Apache-2.0 POM_LICENCE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt POM_LICENCE_DIST=repo diff --git a/mkdocs.yml b/mkdocs.yml index 5324ada04..b185954ec 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,9 +2,9 @@ # mkdocs serve # mkdocs gh-deploy -site_name: slack-gradle-plugin -repo_name: slack-gradle-plugin -repo_url: https://github.com/slackhq/slack-gradle-plugin +site_name: foundry +repo_name: foundry +repo_url: https://github.com/slackhq/foundry site_description: "Gradle and IntelliJ build tooling used in Slack's Android repo" site_author: Slack remote_branch: gh-pages @@ -72,7 +72,7 @@ nav: # - 'Mod Score': mod-score.md # - 'Formatters & Analysis': formatters-and-analysis.md # - 'Thermals Logging': thermals-logging.md - - 'Discussions ⏏': https://github.com/slackhq/slack-gradle-plugin/discussions + - 'Discussions ⏏': https://github.com/slackhq/foundry/discussions - 'Change Log': changelog.md - 'API': api/0.x/ - 'Contributing': contributing.md diff --git a/agp-handlers/agp-handler-api/build.gradle.kts b/platforms/gradle/agp-handlers/agp-handler-api/build.gradle.kts similarity index 96% rename from agp-handlers/agp-handler-api/build.gradle.kts rename to platforms/gradle/agp-handlers/agp-handler-api/build.gradle.kts index 93732b094..94115af83 100644 --- a/agp-handlers/agp-handler-api/build.gradle.kts +++ b/platforms/gradle/agp-handlers/agp-handler-api/build.gradle.kts @@ -14,7 +14,7 @@ * limitations under the License. */ plugins { - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.mavenPublish) alias(libs.plugins.lint) } diff --git a/platforms/gradle/agp-handlers/agp-handler-api/gradle.properties b/platforms/gradle/agp-handlers/agp-handler-api/gradle.properties new file mode 100644 index 000000000..94b84df98 --- /dev/null +++ b/platforms/gradle/agp-handlers/agp-handler-api/gradle.properties @@ -0,0 +1,3 @@ +POM_ARTIFACT_ID=agp-handler-api +POM_NAME=AGP Handler API +POM_DESCRIPTION=AGP Handler API diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandler.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandler.kt similarity index 99% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandler.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandler.kt index ea4fe2eb4..16c899f28 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandler.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandler.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import com.android.build.api.AndroidPluginVersion diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandlers.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandlers.kt similarity index 98% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandlers.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandlers.kt index 1706a52ca..aa27bd80f 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/AgpHandlers.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/AgpHandlers.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import com.android.build.api.AndroidPluginVersion import java.util.ServiceLoader diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/PermissionAllowlistConfigurer.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/PermissionAllowlistConfigurer.kt similarity index 97% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/PermissionAllowlistConfigurer.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/PermissionAllowlistConfigurer.kt index f6c6fe2fc..b4fd6df03 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/PermissionAllowlistConfigurer.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/PermissionAllowlistConfigurer.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import org.gradle.api.file.RegularFileProperty diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VariantConfiguration.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VariantConfiguration.kt similarity index 97% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VariantConfiguration.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VariantConfiguration.kt index 865a83761..83ae9de9b 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VariantConfiguration.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VariantConfiguration.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp /** * Base interface for interfaces that configure on a per-variant basis and need to expose variant diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VersionNumber.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VersionNumber.kt similarity index 99% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VersionNumber.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VersionNumber.kt index 0963d717e..8d7deed28 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/VersionNumber.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/VersionNumber.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import com.google.common.collect.Ordering import java.util.Locale diff --git a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/internal/NoOpIssueReporter.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/internal/NoOpIssueReporter.kt similarity index 96% rename from agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/internal/NoOpIssueReporter.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/internal/NoOpIssueReporter.kt index 2b84f8038..770b316e8 100644 --- a/agp-handlers/agp-handler-api/src/main/kotlin/slack/gradle/agp/internal/NoOpIssueReporter.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/main/kotlin/foundry/gradle/agp/internal/NoOpIssueReporter.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp.internal +package foundry.gradle.agp.internal import com.android.builder.errors.EvalIssueException import com.android.builder.errors.IssueReporter diff --git a/agp-handlers/agp-handler-api/src/test/kotlin/slack/gradle/agp/AgpHandlersTest.kt b/platforms/gradle/agp-handlers/agp-handler-api/src/test/kotlin/foundry/gradle/agp/AgpHandlersTest.kt similarity index 97% rename from agp-handlers/agp-handler-api/src/test/kotlin/slack/gradle/agp/AgpHandlersTest.kt rename to platforms/gradle/agp-handlers/agp-handler-api/src/test/kotlin/foundry/gradle/agp/AgpHandlersTest.kt index 9547799ad..790332ddb 100644 --- a/agp-handlers/agp-handler-api/src/test/kotlin/slack/gradle/agp/AgpHandlersTest.kt +++ b/platforms/gradle/agp-handlers/agp-handler-api/src/test/kotlin/foundry/gradle/agp/AgpHandlersTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import com.google.common.truth.Truth.assertThat import org.junit.Test diff --git a/platforms/gradle/foundry-gradle-plugin/best-practices-baseline.json b/platforms/gradle/foundry-gradle-plugin/best-practices-baseline.json new file mode 100644 index 000000000..a428539e3 --- /dev/null +++ b/platforms/gradle/foundry-gradle-plugin/best-practices-baseline.json @@ -0,0 +1 @@ +{"issues":[{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"foundry/gradle/FoundryRootPlugin","name":"apply","descriptor":"(Ljava/lang/Object;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/FoundryRootPlugin","name":"apply","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/FoundryRootPlugin","name":"configureRootProject","descriptor":"(Lorg/gradle/api/Project;Lfoundry/gradle/FoundryProperties;Lorg/gradle/api/provider/Provider;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/tasks/AndroidTestApksTask$Companion","name":"register$foundry_gradle_plugin","descriptor":"(Lorg/gradle/api/Project;)Lorg/gradle/api/tasks/TaskProvider;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lfoundry/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lfoundry/gradle/artifacts/SgpArtifact;ZILjava/lang/Object;)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lfoundry/gradle/artifacts/SgpArtifact;Z)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"foundry/gradle/stats/ModuleStatsTasks$configureRoot$1$1","name":"call","descriptor":"()Ljava/lang/Object;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/stats/ModuleStatsTasks$configureRoot$1$1","name":"call","descriptor":"()Ljava/util/Map;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"foundry/gradle/FoundryRootPlugin$configureRootProject$12","name":"execute","descriptor":"(Ljava/lang/Object;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/FoundryRootPlugin$configureRootProject$12","name":"execute","descriptor":"(Lorg/gradle/api/plugins/AppliedPlugin;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/dependencyrake/MissingIdentifiersAggregatorTask$Companion","name":"register","descriptor":"(Lorg/gradle/api/Project;)Lorg/gradle/api/tasks/TaskProvider;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lfoundry/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lfoundry/gradle/artifacts/SgpArtifact;ZILjava/lang/Object;)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lfoundry/gradle/artifacts/SgpArtifact;Z)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lfoundry/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lfoundry/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"foundry/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}}]} \ No newline at end of file diff --git a/slack-plugin/build.gradle.kts b/platforms/gradle/foundry-gradle-plugin/build.gradle.kts similarity index 88% rename from slack-plugin/build.gradle.kts rename to platforms/gradle/foundry-gradle-plugin/build.gradle.kts index 33b981d86..190789151 100644 --- a/slack-plugin/build.gradle.kts +++ b/platforms/gradle/foundry-gradle-plugin/build.gradle.kts @@ -26,22 +26,22 @@ plugins { } gradlePlugin { - plugins.create("slack-root") { - id = "com.slack.gradle.root" - implementationClass = "slack.gradle.SlackRootPlugin" + plugins.create("foundry-root") { + id = "foundry.gradle.root" + implementationClass = "foundry.gradle.FoundryRootPlugin" } - plugins.create("slack-base") { - id = "com.slack.gradle.base" - implementationClass = "slack.gradle.SlackBasePlugin" + plugins.create("foundry-base") { + id = "foundry.gradle.base" + implementationClass = "foundry.gradle.FoundryBasePlugin" } plugins.create("apkVersioning") { - id = "com.slack.gradle.apk-versioning" - implementationClass = "slack.gradle.ApkVersioningPlugin" + id = "foundry.gradle.apk-versioning" + implementationClass = "foundry.gradle.ApkVersioningPlugin" } } buildConfig { - packageName("slack.gradle.dependencies") + packageName("foundry.gradle.dependencies") useKotlinOutput { internalVisibility = true } } @@ -73,7 +73,7 @@ dependencies { api(libs.okhttp) // Better I/O api(libs.okio) - api(projects.agpHandlers.agpHandlerApi) + api(projects.platforms.gradle.agpHandlers.agpHandlerApi) implementation(platform(libs.coroutines.bom)) implementation(libs.commonsText) { because("For access to its StringEscapeUtils") } @@ -89,8 +89,8 @@ dependencies { implementation(libs.moshi) implementation(libs.oshi) { because("To read hardware information") } implementation(libs.rxjava) - implementation(projects.sgpCommon) - implementation(projects.skippy) + implementation(projects.tools.foundryCommon) + implementation(projects.tools.skippy) compileOnly(platform(libs.kotlin.bom)) compileOnly(gradleApi()) diff --git a/platforms/gradle/foundry-gradle-plugin/gradle.properties b/platforms/gradle/foundry-gradle-plugin/gradle.properties new file mode 100644 index 000000000..dcc35679b --- /dev/null +++ b/platforms/gradle/foundry-gradle-plugin/gradle.properties @@ -0,0 +1,3 @@ +POM_ARTIFACT_ID=gradle-plugin +POM_NAME=Foundry Gradle Plugin +POM_DESCRIPTION=Foundry Gradle Plugin diff --git a/slack-plugin/lint-baseline.xml b/platforms/gradle/foundry-gradle-plugin/lint-baseline.xml similarity index 81% rename from slack-plugin/lint-baseline.xml rename to platforms/gradle/foundry-gradle-plugin/lint-baseline.xml index 388226c85..945305ffb 100644 --- a/slack-plugin/lint-baseline.xml +++ b/platforms/gradle/foundry-gradle-plugin/lint-baseline.xml @@ -1,5 +1,5 @@ - + @@ -18,7 +18,7 @@ errorLine1=" project.rootProject.file("config/detekt/detekt.yml")" errorLine2=" ~~~~~~~~~~~"> @@ -29,7 +29,7 @@ errorLine1=" config.from(project.rootProject.file(configFile))" errorLine2=" ~~~~~~~~~~~"> @@ -40,7 +40,7 @@ errorLine1=" if (project.rootProject.extensions.findByName("develocity") != null) {" errorLine2=" ~~~~~~~~~~~"> @@ -51,7 +51,7 @@ errorLine1=" return DevelocityConfigurationAdapter(project.rootProject.extensions.getByName("develocity"))" errorLine2=" ~~~~~~~~~~~"> @@ -62,7 +62,7 @@ errorLine1=" } else if (project.rootProject.extensions.findByName("gradleEnterprise") != null) {" errorLine2=" ~~~~~~~~~~~"> @@ -73,18 +73,51 @@ errorLine1=" project.rootProject.extensions.getByName("gradleEnterprise")" errorLine2=" ~~~~~~~~~~~"> + + + + + + + + + + + + @@ -95,8 +128,8 @@ errorLine1=" get() = rootProject === this" errorLine2=" ~~~~~~~~~~~"> @@ -106,8 +139,8 @@ errorLine1=" (findProperty(AndroidProject.PROPERTY_BUILD_MODEL_ONLY) == "true" ||" errorLine2=" ~~~~~~~~~~~~"> @@ -117,8 +150,8 @@ errorLine1=" findProperty(AndroidProject.PROPERTY_GENERATE_SOURCES_ONLY) == "true")" errorLine2=" ~~~~~~~~~~~~"> @@ -128,8 +161,8 @@ errorLine1=" get() = hasProperty("android.injected.invoked.from.ide")" errorLine2=" ~~~~~~~~~~~"> @@ -139,52 +172,19 @@ errorLine1=" lintConfig = rootProject.layout.projectDirectory.file("config/lint/lint.xml").asFile" errorLine2=" ~~~~~~~~~~~"> - - - - - - - - - - - - @@ -194,7 +194,7 @@ errorLine1="import com.android.build.gradle.internal.SdkLocationSourceSet" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -205,7 +205,7 @@ errorLine1="import com.android.build.gradle.internal.SdkLocator" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -216,7 +216,7 @@ errorLine1="import com.android.build.gradle.internal.dsl.BuildType" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -227,7 +227,7 @@ errorLine1="import com.android.build.gradle.internal.publishing.AndroidArtifacts" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -238,18 +238,29 @@ errorLine1="import com.android.build.gradle.internal.publishing.AndroidArtifacts.ArtifactType" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + + + + @@ -260,7 +271,7 @@ errorLine1="import com.android.build.gradle.internal.lint.LintModelWriterTask" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -271,18 +282,7 @@ errorLine1="import com.android.build.gradle.internal.lint.VariantInputs" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> - - - - @@ -293,7 +293,7 @@ errorLine1="import com.android.build.gradle.internal.dsl.BaseAppModuleExtension" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -304,7 +304,7 @@ errorLine1="import org.gradle.internal.component.external.model.ModuleComponentArtifactIdentifier" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -315,8 +315,19 @@ errorLine1="import org.gradle.internal.logging.progress.ProgressLoggerFactory" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + + + + @@ -326,7 +337,7 @@ errorLine1="import org.gradle.api.internal.project.ProjectInternal" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -337,8 +348,8 @@ errorLine1="import org.gradle.internal.service.ServiceRegistry" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -348,8 +359,8 @@ errorLine1="import org.gradle.api.internal.provider.MissingValueException" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -359,29 +370,18 @@ errorLine1="import org.gradle.internal.logging.progress.ProgressLogger" errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> - - - - @@ -392,7 +392,7 @@ errorLine1=" project.plugins.withType(AppPlugin::class.java) {" errorLine2=" ~~~~~~~~"> @@ -403,7 +403,7 @@ errorLine1=" tasks.withType(T::class.java) {" errorLine2=" ~~~~~~~~"> @@ -414,8 +414,8 @@ errorLine1=" add("api", def.coordinates) { version { require(version) } }" errorLine2=" ~~~~~~~"> @@ -425,7 +425,7 @@ errorLine1=" check(logs.isNotEmpty())" errorLine2=" ~~~~~"> diff --git a/slack-plugin/src/main/kotlin/Aliases.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/Aliases.kt similarity index 55% rename from slack-plugin/src/main/kotlin/Aliases.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/Aliases.kt index ab997f450..79ed184da 100644 --- a/slack-plugin/src/main/kotlin/Aliases.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/Aliases.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import foundry.gradle.AndroidHandler +import foundry.gradle.FoundryExtension +import foundry.gradle.SlackAndroidAppExtension +import foundry.gradle.SlackAndroidLibraryExtension +import foundry.gradle.findByType import org.gradle.api.Action import org.gradle.api.Project -import slack.gradle.AndroidHandler -import slack.gradle.SlackAndroidAppExtension -import slack.gradle.SlackAndroidLibraryExtension -import slack.gradle.SlackExtension -import slack.gradle.findByType /* * This file exists because of a strange behavior in Gradle. If you want to access buildSrc code from the root project's @@ -33,7 +33,7 @@ import slack.gradle.findByType * Common entry point for configuring slack-specific bits of projects. * * ``` - * slack { + * foundry { * android { * library { * // ... @@ -42,23 +42,37 @@ import slack.gradle.findByType * } * ``` */ -public fun Project.slack(body: SlackExtension.() -> Unit) { - extensions.findByType()?.let(body) ?: error("Slack extension not found.") +public fun Project.foundry(body: FoundryExtension.() -> Unit) { + extensions.findByType()?.let(body) ?: error("Foundry extension not found.") +} + +@Deprecated("Use foundry", ReplaceWith("foundry(body)"), level = DeprecationLevel.ERROR) +public fun Project.slack(body: FoundryExtension.() -> Unit) { + extensions.findByType()?.let(body) ?: error("Foundry extension not found.") } /** * Common entry point for configuring slack-android-specific bits of projects. * * ``` - * slackAndroid { + * foundryAndroid { * library { * // ... * } * } * ``` */ +public fun Project.foundryAndroid(action: Action) { + foundry { android(action) } +} + +@Deprecated( + "Use foundryAndroid", + ReplaceWith("foundryAndroid(body)"), + level = DeprecationLevel.ERROR, +) public fun Project.slackAndroid(action: Action) { - slack { android(action) } + foundryAndroid(action) } /** @@ -70,8 +84,17 @@ public fun Project.slackAndroid(action: Action) { * } * ``` */ +public fun Project.foundryAndroidLibrary(action: Action) { + foundry { android { library(action) } } +} + +@Deprecated( + "Use foundryAndroidLibrary", + ReplaceWith("foundryAndroidLibrary(body)"), + level = DeprecationLevel.ERROR, +) public fun Project.slackAndroidLibrary(action: Action) { - slack { android { library(action) } } + foundryAndroidLibrary(action) } /** @@ -83,6 +106,15 @@ public fun Project.slackAndroidLibrary(action: Action) { + foundry { android { app(action) } } +} + +@Deprecated( + "Use foundryAndroidApp", + ReplaceWith("foundryAndroidApp(body)"), + level = DeprecationLevel.ERROR, +) public fun Project.slackAndroidApp(action: Action) { - slack { android { app(action) } } + foundryAndroidApp(action) } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/AndroidSourcesConfigurer.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AndroidSourcesConfigurer.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/AndroidSourcesConfigurer.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AndroidSourcesConfigurer.kt index 2c5611e45..22845562f 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/AndroidSourcesConfigurer.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AndroidSourcesConfigurer.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.android.build.gradle.internal.SdkLocationSourceSet import com.android.build.gradle.internal.SdkLocator +import foundry.gradle.agp.internal.NoOpIssueReporter import java.io.File import kotlin.system.measureTimeMillis import org.gradle.api.Project import org.gradle.api.logging.Logger -import slack.gradle.agp.internal.NoOpIssueReporter /** * For Android SDK 30, the real sources are not published until its release. This is annoying when diff --git a/slack-plugin/src/main/kotlin/slack/gradle/AnnotationProcessing.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/AnnotationProcessing.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt index 236c9d3ed..5e53126e9 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/AnnotationProcessing.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.android.build.gradle.AppExtension import com.android.build.gradle.LibraryExtension import com.android.build.gradle.internal.dsl.BuildType +import foundry.gradle.AptOptionsConfig.AptOptionsConfigurer import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.tasks.compile.JavaCompile import org.jetbrains.kotlin.gradle.plugin.KaptExtension -import slack.gradle.AptOptionsConfig.AptOptionsConfigurer /** Common configuration for annotation processing, including kapt and javac options. */ internal object AnnotationProcessing { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/ApkVersioningPlugin.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ApkVersioningPlugin.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/ApkVersioningPlugin.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ApkVersioningPlugin.kt index 8ea0bf277..26e745850 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/ApkVersioningPlugin.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ApkVersioningPlugin.kt @@ -15,10 +15,12 @@ */ @file:Suppress("UnstableApiUsage") -package slack.gradle +package foundry.gradle import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.gradle.AppPlugin +import foundry.gradle.util.localGradleProperty +import foundry.gradle.util.setDisallowChanges import java.util.Properties import org.gradle.api.DefaultTask import org.gradle.api.Plugin @@ -30,8 +32,6 @@ import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.Input import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction -import slack.gradle.util.localGradleProperty -import slack.gradle.util.setDisallowChanges /** * Uses AGP 4.0's new APIs for manipulating variant properties in a more cache-friendly way. @@ -52,14 +52,14 @@ internal class ApkVersioningPlugin : Plugin { val versionMinor = project.localGradleProperty("versionMinor") val versionPatch = project.localGradleProperty("versionPatch") - val slackProperties = SlackProperties(project) + val foundryProperties = FoundryProperties(project) val debugVersionNameProvider = versionNameProvider( versionMajor, versionMinor, versionPatch, - user = project.provider { slackProperties.debugUserString }, + user = project.provider { foundryProperties.debugUserString }, ) val defaultVersionNameProvider = @@ -76,7 +76,7 @@ internal class ApkVersioningPlugin : Plugin { ) val debugVersionCodeProvider: Provider = - project.provider { SlackProperties(project).debugVersionCode } + project.provider { FoundryProperties(project).debugVersionCode } val ciVersionFileProvider = project.rootProject.layout.projectDirectory.file("ci/release.version") diff --git a/slack-plugin/src/main/kotlin/slack/gradle/Configurations.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Configurations.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/Configurations.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Configurations.kt index 72abeb1ed..6ada4aa36 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/Configurations.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Configurations.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle internal object Configurations { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/DelicateSlackPluginApi.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/DelicateFoundryGradlePluginApi.kt similarity index 62% rename from slack-plugin/src/main/kotlin/slack/gradle/DelicateSlackPluginApi.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/DelicateFoundryGradlePluginApi.kt index 52937e645..a14e20ba9 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/DelicateSlackPluginApi.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/DelicateFoundryGradlePluginApi.kt @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle /** - * Marks declarations in the SlackPlugin API that are **delicate** — they have limited - * use-case and shall be used with care in general code. Any use of a delicate declaration has to be - * carefully reviewed to make sure it is properly used and does not create problems like lossy Java - * -> Kotlin type parsing. Carefully read documentation and [message] of any declaration marked as - * `DelicateSlackPluginApi`. + * Marks declarations in the Foundry Gradle Plugin API that are **delicate** — they have + * limited use-case and shall be used with care in general code. Any use of a delicate declaration + * has to be carefully reviewed to make sure it is properly used and does not create problems like + * lossy Java -> Kotlin type parsing. Carefully read documentation and [message] of any declaration + * marked as `DelicateFoundryGradlePluginApi`. */ @MustBeDocumented @Retention(value = AnnotationRetention.BINARY) @@ -30,4 +30,4 @@ package slack.gradle "This is a delicate API and its use requires care." + " Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.", ) -public annotation class DelicateSlackPluginApi(val message: String = "See kdoc.") +public annotation class DelicateFoundryGradlePluginApi(val message: String = "See kdoc.") diff --git a/slack-plugin/src/main/kotlin/slack/gradle/ErrorProneChecks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ErrorProneChecks.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/ErrorProneChecks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ErrorProneChecks.kt index 7d9210666..e684c6dba 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/ErrorProneChecks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/ErrorProneChecks.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle /** * This is generated from https://errorprone.info/bugpatterns. There's no automatic way to update diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackBasePlugin.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryBasePlugin.kt similarity index 82% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackBasePlugin.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryBasePlugin.kt index 25a438d70..bf542d3d7 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackBasePlugin.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryBasePlugin.kt @@ -13,11 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.diffplug.gradle.spotless.SpotlessExtension import com.diffplug.gradle.spotless.SpotlessExtensionPredeclare import com.diffplug.spotless.LineEnding +import foundry.gradle.develocity.NoOpBuildScanAdapter +import foundry.gradle.develocity.findAdapter +import foundry.gradle.stats.ModuleStatsTasks import java.util.Locale import java.util.Optional import javax.inject.Inject @@ -27,22 +30,19 @@ import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.MinimalExternalModuleDependency import org.gradle.api.configuration.BuildFeatures import org.gradle.api.provider.Provider -import slack.gradle.develocity.NoOpBuildScanAdapter -import slack.gradle.develocity.findAdapter -import slack.stats.ModuleStatsTasks /** * Simple base plugin over [StandardProjectConfigurations]. Eventually functionality from this will * be split into more granular plugins. * - * The goal of separating this from [SlackRootPlugin] is project isolation. + * The goal of separating this from [FoundryRootPlugin] is project isolation. */ -internal class SlackBasePlugin @Inject constructor(private val buildFeatures: BuildFeatures) : +internal class FoundryBasePlugin @Inject constructor(private val buildFeatures: BuildFeatures) : Plugin { override fun apply(target: Project) { - val slackProperties = SlackProperties(target) + val foundryProperties = FoundryProperties(target) - if (slackProperties.relocateBuildDir && !target.isSyncing) { + if (foundryProperties.relocateBuildDir && !target.isSyncing) { // /../-out/ val rootDir = target.rootDir val rootDirName = rootDir.name @@ -54,41 +54,42 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu if (!target.isRootProject) { val versionCatalog = target.getVersionsCatalogOrNull() ?: error("SGP requires use of version catalogs!") - val slackTools = target.slackTools() - StandardProjectConfigurations(slackProperties, versionCatalog, slackTools).applyTo(target) + val slackTools = target.foundryTools() + StandardProjectConfigurations(foundryProperties, versionCatalog, slackTools).applyTo(target) // Configure Gradle's test-retry plugin for insights on build scans on CI only // Thinking here is that we don't want them to retry when iterating since failure // there is somewhat expected. if ( - slackProperties.autoApplyTestRetry && + foundryProperties.autoApplyTestRetry && target.isCi && - slackProperties.testRetryPluginType == SlackProperties.TestRetryPluginType.RETRY_PLUGIN + foundryProperties.testRetryPluginType == + FoundryProperties.TestRetryPluginType.RETRY_PLUGIN ) { target.pluginManager.apply("org.gradle.test-retry") } - if (slackProperties.autoApplyCacheFix) { + if (foundryProperties.autoApplyCacheFix) { target.pluginManager.withPlugin("com.android.base") { target.pluginManager.apply("org.gradle.android.cache-fix") } } - if (slackProperties.autoApplyNullaway) { + if (foundryProperties.autoApplyNullaway) { // Always apply the NullAway plugin with errorprone target.pluginManager.withPlugin("net.ltgt.errorprone") { target.pluginManager.apply("net.ltgt.nullaway") } } - ModuleStatsTasks.configureSubproject(target, slackProperties) + ModuleStatsTasks.configureSubproject(target, foundryProperties) } // Everything in here applies to all projects - target.configureClasspath(slackProperties) + target.configureClasspath(foundryProperties) if (!this.buildFeatures.isolatedProjects.requested.getOrElse(false)) { // TODO https://github.com/diffplug/spotless/issues/1979 - target.configureSpotless(slackProperties) + target.configureSpotless(foundryProperties) // TODO not clear how to access the build scan API from a non-root project val scanApi = findAdapter(target) if (scanApi !is NoOpBuildScanAdapter) { @@ -98,9 +99,9 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu } /** Configures Spotless for formatting. Note we do this per-project for improved performance. */ - private fun Project.configureSpotless(slackProperties: SlackProperties) { + private fun Project.configureSpotless(foundryProperties: FoundryProperties) { val isRootProject = this.isRootProject - if (slackProperties.autoApplySpotless) { + if (foundryProperties.autoApplySpotless) { pluginManager.apply("com.diffplug.spotless") } else { return @@ -113,14 +114,14 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu endWithNewline() } - val ktlintVersion = slackProperties.versions.ktlint + val ktlintVersion = foundryProperties.versions.ktlint if (ktlintVersion != null) { val ktlintUserData = mapOf("indent_size" to "2", "continuation_indent_size" to "2") kotlin { ktlint(ktlintVersion).editorConfigOverride(ktlintUserData) } kotlinGradle { ktlint(ktlintVersion).editorConfigOverride(ktlintUserData) } } - val ktfmtVersion = slackProperties.versions.ktfmt + val ktfmtVersion = foundryProperties.versions.ktfmt if (ktfmtVersion != null) { kotlin { ktfmt(ktfmtVersion).googleStyle() } kotlinGradle { ktfmt(ktfmtVersion).googleStyle() } @@ -142,7 +143,7 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu } } - slackProperties.versions.gjf?.let { gjfVersion -> + foundryProperties.versions.gjf?.let { gjfVersion -> java { target("src/**/*.java") googleJavaFormat(gjfVersion).reflowLongStrings() @@ -150,7 +151,7 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu endWithNewline() } } - slackProperties.versions.gson?.let { gsonVersion -> + foundryProperties.versions.gson?.let { gsonVersion -> json { target("src/**/*.json", "*.json") target("*.json") @@ -177,16 +178,16 @@ internal class SlackBasePlugin @Inject constructor(private val buildFeatures: Bu } @Suppress("LongMethod", "ComplexMethod") - private fun Project.configureClasspath(slackProperties: SlackProperties) { - val hamcrestDep = slackProperties.versions.catalog.findLibrary("testing-hamcrest") - val checkerDep = slackProperties.versions.catalog.findLibrary("checkerFrameworkQual") + private fun Project.configureClasspath(foundryProperties: FoundryProperties) { + val hamcrestDep = foundryProperties.versions.catalog.findLibrary("testing-hamcrest") + val checkerDep = foundryProperties.versions.catalog.findLibrary("checkerFrameworkQual") val isTestProject = "test" in name || "test" in path configurations.configureEach { configureConfigurationResolutionStrategies(this, isTestProject, hamcrestDep, checkerDep) } - val enableMavenLocal = slackProperties.enableMavenLocal - val enableSnapshots = slackProperties.enableSnapshots + val enableMavenLocal = foundryProperties.enableMavenLocal + val enableSnapshots = foundryProperties.enableSnapshots // Check if we're running a `dependencyUpdates` task is running by looking for its `-Drevision=` // property, which this // breaks otherwise. diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackExtension.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryExtension.kt similarity index 87% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackExtension.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryExtension.kt index ddfb30ecc..e336fc583 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackExtension.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryExtension.kt @@ -15,7 +15,7 @@ */ @file:Suppress("UnnecessaryAbstractClass") -package slack.gradle +package foundry.gradle import app.cash.sqldelight.gradle.SqlDelightExtension import app.cash.sqldelight.gradle.SqlDelightTask @@ -26,6 +26,13 @@ import com.android.build.gradle.internal.tasks.databinding.DataBindingGenBaseCla import com.google.devtools.ksp.gradle.KspExtension import com.squareup.anvil.plugin.AnvilExtension import dev.zacsweers.moshix.ir.gradle.MoshiPluginExtension +import foundry.gradle.agp.PermissionAllowlistConfigurer +import foundry.gradle.anvil.AnvilMode +import foundry.gradle.compose.COMPOSE_COMPILER_OPTION_PREFIX +import foundry.gradle.dependencies.FoundryDependencies +import foundry.gradle.util.addKspSource +import foundry.gradle.util.configureKotlinCompilationTask +import foundry.gradle.util.setDisallowChanges import java.io.File import javax.inject.Inject import org.gradle.api.Action @@ -39,31 +46,24 @@ import org.gradle.api.provider.SetProperty import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension import org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag import org.jetbrains.kotlin.gradle.utils.named -import slack.gradle.agp.PermissionAllowlistConfigurer -import slack.gradle.anvil.AnvilMode -import slack.gradle.compose.COMPOSE_COMPILER_OPTION_PREFIX -import slack.gradle.dependencies.SlackDependencies -import slack.gradle.util.addKspSource -import slack.gradle.util.configureKotlinCompilationTask -import slack.gradle.util.setDisallowChanges - -@DslMarker public annotation class SlackExtensionMarker - -@SlackExtensionMarker -public abstract class SlackExtension + +@DslMarker public annotation class FoundryExtensionMarker + +@FoundryExtensionMarker +public abstract class FoundryExtension @Inject constructor( objects: ObjectFactory, - globalSlackProperties: SlackProperties, - private val slackProperties: SlackProperties, + globalFoundryProperties: FoundryProperties, + private val foundryProperties: FoundryProperties, project: Project, versionCatalog: VersionCatalog, ) { - internal val androidHandler = objects.newInstance(slackProperties) + internal val androidHandler = objects.newInstance(foundryProperties) internal val featuresHandler = objects.newInstance( - globalSlackProperties, - slackProperties, + globalFoundryProperties, + foundryProperties, project, versionCatalog, ) @@ -96,7 +96,7 @@ constructor( } internal fun applyTo(project: Project) { - val logVerbose = slackProperties.slackExtensionVerbose + val logVerbose = foundryProperties.slackExtensionVerbose // Dirty but necessary since the extension isn't configured yet when we call this project.afterEvaluate { featuresHandler.applyTo(project) @@ -104,9 +104,9 @@ constructor( var kaptRequired = false val moshiCodegenEnabled = featuresHandler.moshiHandler.moshiCodegen.getOrElse(false) val moshiSealedCodegenEnabled = featuresHandler.moshiHandler.sealedCodegen.getOrElse(false) - val allowKsp = slackProperties.allowKsp - val allowMoshiIr = slackProperties.allowMoshiIr - val anvilMode = slackProperties.anvilMode + val allowKsp = foundryProperties.allowKsp + val allowMoshiIr = foundryProperties.allowMoshiIr + val anvilMode = foundryProperties.anvilMode val allowDaggerKsp = anvilMode.useKspContributionMerging && anvilMode.useDaggerKsp /** Marks this project as needing kapt code gen. */ @@ -163,7 +163,7 @@ constructor( if (enableSealed) { configure { this.enableSealed.setDisallowChanges(true) } } - if (slackProperties.moshixGenerateProguardRules) { + if (foundryProperties.moshixGenerateProguardRules) { markKspNeeded("Moshi IR code gen") } } @@ -188,11 +188,11 @@ constructor( ) val useAnyKspAnvilMode = anvilMode.useKspFactoryGen || anvilMode.useKspContributionMerging if (daggerConfig != null) { - dependencies.add("implementation", SlackDependencies.Dagger.dagger) - dependencies.add("implementation", SlackDependencies.javaxInject) + dependencies.add("implementation", FoundryDependencies.Dagger.dagger) + dependencies.add("implementation", FoundryDependencies.javaxInject) val anvilPackage = - if (slackProperties.anvilUseKspFork) { + if (foundryProperties.anvilUseKspFork) { "dev.zacsweers.anvil" } else { "com.squareup.anvil" @@ -217,9 +217,9 @@ constructor( } if (daggerConfig.enableAnvil) { - if (!slackProperties.disableAnvilForK2Testing) { + if (!foundryProperties.disableAnvilForK2Testing) { val anvilId = - if (slackProperties.anvilUseKspFork) { + if (foundryProperties.anvilUseKspFork) { "dev.zacsweers.anvil" } else { "com.squareup.anvil" @@ -250,10 +250,12 @@ constructor( // https://github.com/google/ksp/pull/1739, but that doesn't seem to actually work // let's make this optional // afterEvaluate is necessary in order to wait for tasks to exist - if (slackProperties.kspConnectSqlDelight || slackProperties.kspConnectViewBinding) { + if ( + foundryProperties.kspConnectSqlDelight || foundryProperties.kspConnectViewBinding + ) { afterEvaluate { if ( - slackProperties.kspConnectSqlDelight && + foundryProperties.kspConnectSqlDelight && pluginManager.hasPlugin("app.cash.sqldelight") ) { val dbNames = extensions.getByType().databases.names @@ -283,9 +285,9 @@ constructor( // If using viewbinding, need to wire those up too if ( - slackProperties.kspConnectViewBinding && + foundryProperties.kspConnectViewBinding && isAndroidLibrary && - !slackProperties.libraryWithVariants && + !foundryProperties.libraryWithVariants && androidHandler.isViewBindingEnabled ) { val databindingTask = @@ -305,7 +307,7 @@ constructor( val generatorProjects = buildSet { addAll( - slackProperties.anvilGeneratorProjects + foundryProperties.anvilGeneratorProjects ?.splitToSequence(";") ?.map(::project) .orEmpty() @@ -319,7 +321,7 @@ constructor( } val runtimeProjects = - slackProperties.anvilRuntimeProjects?.splitToSequence(";")?.toSet().orEmpty() + foundryProperties.anvilRuntimeProjects?.splitToSequence(";")?.toSet().orEmpty() for (runtimeProject in runtimeProjects) { dependencies.add("implementation", project(runtimeProject)) @@ -332,12 +334,12 @@ constructor( if (!daggerConfig.runtimeOnly && daggerConfig.useDaggerCompiler) { if (allowDaggerKsp && (!daggerConfig.enableAnvil || anvilMode.useDaggerKsp)) { markKspNeeded("Dagger compiler") - dependencies.add(kspConfiguration(""), SlackDependencies.Dagger.compiler) + dependencies.add(kspConfiguration(""), FoundryDependencies.Dagger.compiler) // Currently we don't support dagger-compiler or components in test fixtures, but if we // did it would go here } else { markKaptNeeded("Dagger compiler") - dependencies.add(aptConfiguration(), SlackDependencies.Dagger.compiler) + dependencies.add(aptConfiguration(), FoundryDependencies.Dagger.compiler) } } } @@ -351,12 +353,12 @@ constructor( if (featuresHandler.autoService.getOrElse(false)) { if (allowKsp) { markKspNeeded("AutoService") - dependencies.add("implementation", SlackDependencies.Auto.Service.annotations) - dependencies.add("ksp", SlackDependencies.Auto.Service.ksp) + dependencies.add("implementation", FoundryDependencies.Auto.Service.annotations) + dependencies.add("ksp", FoundryDependencies.Auto.Service.ksp) } else { markKaptNeeded("AutoService") - dependencies.add("compileOnly", SlackDependencies.Auto.Service.annotations) - dependencies.add(aptConfiguration(), SlackDependencies.Auto.Service.autoservice) + dependencies.add("compileOnly", FoundryDependencies.Auto.Service.annotations) + dependencies.add(aptConfiguration(), FoundryDependencies.Auto.Service.autoservice) } } @@ -365,53 +367,53 @@ constructor( } if (featuresHandler.moshiHandler.moshi.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.moshi) + dependencies.add("implementation", FoundryDependencies.Moshi.moshi) if (moshiCodegenEnabled) { if (allowMoshiIr) { markMoshiGradleNeeded("Moshi code gen", false) } else if (allowKsp) { markKspNeeded("Moshi code gen") - dependencies.add("ksp", SlackDependencies.Moshi.codeGen) + dependencies.add("ksp", FoundryDependencies.Moshi.codeGen) } else { markKaptNeeded("Moshi code gen") - dependencies.add(aptConfiguration(), SlackDependencies.Moshi.codeGen) + dependencies.add(aptConfiguration(), FoundryDependencies.Moshi.codeGen) } } if (featuresHandler.moshiHandler.moshiAdapters.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.adapters) + dependencies.add("implementation", FoundryDependencies.Moshi.adapters) } if (featuresHandler.moshiHandler.moshiKotlinReflect.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.kotlinReflect) + dependencies.add("implementation", FoundryDependencies.Moshi.kotlinReflect) } if (featuresHandler.moshiHandler.moshixAdapters.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.MoshiX.adapters) + dependencies.add("implementation", FoundryDependencies.Moshi.MoshiX.adapters) } if (featuresHandler.moshiHandler.moshixMetadataReflect.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.MoshiX.metadataReflect) + dependencies.add("implementation", FoundryDependencies.Moshi.MoshiX.metadataReflect) } if (featuresHandler.moshiHandler.lazyAdapters.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.lazyAdapters) + dependencies.add("implementation", FoundryDependencies.Moshi.lazyAdapters) } if (featuresHandler.moshiHandler.sealed.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.MoshiX.Sealed.runtime) + dependencies.add("implementation", FoundryDependencies.Moshi.MoshiX.Sealed.runtime) if (moshiSealedCodegenEnabled) { if (allowMoshiIr) { markMoshiGradleNeeded("Moshi sealed codegen", enableSealed = true) } else if (allowKsp) { markKspNeeded("Moshi sealed codegen") - dependencies.add("ksp", SlackDependencies.Moshi.MoshiX.Sealed.codegen) + dependencies.add("ksp", FoundryDependencies.Moshi.MoshiX.Sealed.codegen) } else { markKaptNeeded("Moshi sealed codegen") - dependencies.add(aptConfiguration(), SlackDependencies.Moshi.MoshiX.Sealed.codegen) + dependencies.add(aptConfiguration(), FoundryDependencies.Moshi.MoshiX.Sealed.codegen) } } if (featuresHandler.moshiHandler.sealedReflect.getOrElse(false)) { - dependencies.add("implementation", SlackDependencies.Moshi.MoshiX.Sealed.reflect) + dependencies.add("implementation", FoundryDependencies.Moshi.MoshiX.Sealed.reflect) } if (featuresHandler.moshiHandler.sealedMetadataReflect.getOrElse(false)) { dependencies.add( "implementation", - SlackDependencies.Moshi.MoshiX.Sealed.metadataReflect, + FoundryDependencies.Moshi.MoshiX.Sealed.metadataReflect, ) } } @@ -433,13 +435,13 @@ constructor( } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class FeaturesHandler @Inject constructor( objects: ObjectFactory, - globalSlackProperties: SlackProperties, - private val slackProperties: SlackProperties, + globalFoundryProperties: FoundryProperties, + private val foundryProperties: FoundryProperties, private val project: Project, versionCatalog: VersionCatalog, ) { @@ -464,9 +466,9 @@ constructor( // Compose features internal val composeHandler = - objects.newInstance(globalSlackProperties, slackProperties, versionCatalog) + objects.newInstance(globalFoundryProperties, foundryProperties, versionCatalog) - /** @see [SlackExtension.androidExtension] */ + /** @see [FoundryExtension.androidExtension] */ private var androidExtension: CommonExtension<*, *, *, *, *, *>? = null set(value) { field = value @@ -523,7 +525,7 @@ constructor( * (slower!) because Anvil only processes Kotlin files. * @param action optional block for extra configuration, such as anvil generators or android. */ - @DelicateSlackPluginApi + @DelicateFoundryGradlePluginApi public fun dagger( enableComponents: Boolean = false, projectHasJavaInjections: Boolean = false, @@ -606,7 +608,7 @@ constructor( /** * Enables Compose for this project and applies any version catalog bundle dependencies defined by - * [SlackProperties.defaultComposeAndroidBundleAlias]. + * [FoundryProperties.defaultComposeAndroidBundleAlias]. */ public fun compose(multiplatform: Boolean = false, action: Action = Action {}) { composeHandler.enable(project = project, multiplatform = multiplatform) @@ -615,7 +617,7 @@ constructor( internal fun applyTo(project: Project) { composeHandler.applyTo(project) - circuitHandler.applyTo(project, slackProperties) + circuitHandler.applyTo(project, foundryProperties) // Validate we've enabled dagger if we requested test fixtures with dagger code if (testFixturesUseDagger.getOrElse(false) && !daggerHandler.enabled.getOrElse(false)) { error( @@ -626,7 +628,7 @@ constructor( } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class MoshiHandler { internal abstract val moshi: Property internal abstract val moshiAdapters: Property @@ -681,7 +683,7 @@ public abstract class MoshiHandler { } /** DSL for configuring Circuit. */ -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class CircuitHandler @Inject constructor(objects: ObjectFactory) { /** Sets up circuit code gen, includes annotations and KSP setup. */ public val codegen: Property = objects.property().convention(false) @@ -704,7 +706,7 @@ public abstract class CircuitHandler @Inject constructor(objects: ObjectFactory) action.execute(circuitx) } - internal fun applyTo(project: Project, slackProperties: SlackProperties) { + internal fun applyTo(project: Project, foundryProperties: FoundryProperties) { if (runtime.getOrElse(false)) { project.dependencies.add("implementation", "com.slack.circuit:circuit-runtime") project.dependencies.add("implementation", "com.slack.circuit:circuit-runtime-presenter") @@ -715,7 +717,7 @@ public abstract class CircuitHandler @Inject constructor(objects: ObjectFactory) project.dependencies.add("implementation", "com.slack.circuit:circuit-foundation") } if (commonBundle.getOrElse(false)) { - slackProperties.versions.bundles.commonCircuit.ifPresent { + foundryProperties.versions.bundles.commonCircuit.ifPresent { project.dependencies.add("implementation", it) } } @@ -723,7 +725,7 @@ public abstract class CircuitHandler @Inject constructor(objects: ObjectFactory) circuitx.applyTo(project) } - @SlackExtensionMarker + @FoundryExtensionMarker public abstract class CircuitXHandler @Inject constructor(objects: ObjectFactory) { /** Corresponds to the circuitx-android artifact. */ public val android: Property = objects.property().convention(false) @@ -748,7 +750,7 @@ public abstract class CircuitHandler @Inject constructor(objects: ObjectFactory) } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class DaggerHandler @Inject constructor(objects: ObjectFactory) { internal val enabled: Property = objects.property().convention(false) internal val useDaggerCompiler: Property = objects.property().convention(false) @@ -781,7 +783,7 @@ public abstract class DaggerHandler @Inject constructor(objects: ObjectFactory) * incurs a cost of disabling incremental kapt stubs. If we need it though (aka this is running in * app-di or another project that actually has components), this can be always enabled as needed. */ - @DelicateSlackPluginApi + @DelicateFoundryGradlePluginApi public fun alwaysEnableAnvilComponentMerging() { alwaysEnableAnvilComponentMerging.setDisallowChanges(true) } @@ -790,7 +792,7 @@ public abstract class DaggerHandler @Inject constructor(objects: ObjectFactory) * Disables anvil. Should only be used for cases where anvil is explicitly not wanted, such as * using Dagger KSP while Anvil doesn't support it. */ - @DelicateSlackPluginApi + @DelicateFoundryGradlePluginApi public fun disableAnvil() { disableAnvil.setDisallowChanges(true) } @@ -834,25 +836,25 @@ public abstract class DaggerHandler @Inject constructor(objects: ObjectFactory) ) } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class ComposeHandler @Inject constructor( objects: ObjectFactory, - globalSlackProperties: SlackProperties, - private val slackProperties: SlackProperties, + globalFoundryProperties: FoundryProperties, + private val foundryProperties: FoundryProperties, versionCatalog: VersionCatalog, ) { private val composeBundleAlias = - globalSlackProperties.defaultComposeAndroidBundleAlias?.let { alias -> + globalFoundryProperties.defaultComposeAndroidBundleAlias?.let { alias -> versionCatalog.findBundle(alias).orElse(null) } internal val enabled = objects.property().convention(false) internal val multiplatform = objects.property().convention(false) private val compilerOptions: ListProperty = - objects.listProperty().convention(slackProperties.composeCommonCompilerOptions) + objects.listProperty().convention(foundryProperties.composeCommonCompilerOptions) /** * Configures the compiler options for Compose. This is a list of strings that will be passed into @@ -886,7 +888,7 @@ constructor( * Enables compose compiler metrics for this project. Note this should not be enabled by default * and is just for debugging! */ - @DelicateSlackPluginApi + @DelicateFoundryGradlePluginApi public fun enableCompilerMetricsForDebugging( reportsDestination: File, metricsDestination: File = reportsDestination, @@ -911,9 +913,9 @@ constructor( composeOptions { // Disable live literals by default @Suppress("DEPRECATION") - useLiveLiterals = slackProperties.composeEnableLiveLiterals + useLiveLiterals = foundryProperties.composeEnableLiveLiterals } - } else if (slackProperties.composeEnableLiveLiterals) { + } else if (foundryProperties.composeEnableLiveLiterals) { project.logger.error( "Live literals are disabled and deprecated in AGP 8.7+. " + "Please remove the `slack.compose.android.enableLiveLiterals` property." @@ -933,9 +935,9 @@ constructor( composeBundleAlias?.let { project.dependencies.add("implementation", it) } } - if (slackProperties.composeStabilityConfigurationPath.isPresent) { + if (foundryProperties.composeStabilityConfigurationPath.isPresent) { extension.stabilityConfigurationFile.setDisallowChanges( - slackProperties.composeStabilityConfigurationPath + foundryProperties.composeStabilityConfigurationPath ) } @@ -943,7 +945,7 @@ constructor( // about those options and _avoid_ setting them a second time val freeOptions = mutableListOf() var includeSourceInformation = - slackProperties.composeIncludeSourceInformationEverywhereByDefault + foundryProperties.composeIncludeSourceInformationEverywhereByDefault for ((k, v) in compilerOptions.get().map { it.split('=') }) { project.logger.debug("Processing compose option $k = $v") when (k) { @@ -1004,7 +1006,7 @@ constructor( if (includeSourceInformation) { if (androidExtension == null) { extension.includeSourceInformation.set(true) - } else if (slackProperties.composeUseIncludeInformationWorkaround) { + } else if (foundryProperties.composeUseIncludeInformationWorkaround) { freeOptions += "$OPTION_SOURCE_INFORMATION=true" } } @@ -1026,17 +1028,17 @@ constructor( } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class AndroidHandler @Inject -constructor(objects: ObjectFactory, private val slackProperties: SlackProperties) { +constructor(objects: ObjectFactory, private val foundryProperties: FoundryProperties) { internal val libraryHandler = objects.newInstance() internal val appHandler = objects.newInstance() @Suppress("MemberVisibilityCanBePrivate") internal val featuresHandler = objects.newInstance() - /** @see [SlackExtension.androidExtension] */ + /** @see [FoundryExtension.androidExtension] */ private var androidExtension: CommonExtension<*, *, *, *, *, *>? = null set(value) { field = value @@ -1066,23 +1068,23 @@ constructor(objects: ObjectFactory, private val slackProperties: SlackProperties // Dirty but necessary since the extension isn't configured yet when we call this project.afterEvaluate { if (featuresHandler.robolectric.getOrElse(false)) { - checkNotNull(slackProperties.versions.robolectric) { + checkNotNull(foundryProperties.versions.robolectric) { "Robolectric support requested in ${project.path} but no version was specified in the version catalog." } project.dependencies.apply { // For projects using robolectric, we want to make sure they include robolectric-core to // ensure robolectric uses our custom dependency resolver and config (which just need // to be on the classpath). - add("testImplementation", SlackDependencies.Testing.Robolectric.annotations) - add("testImplementation", SlackDependencies.Testing.Robolectric.robolectric) - slackProperties.robolectricCoreProject?.let { add("testImplementation", project(it)) } + add("testImplementation", FoundryDependencies.Testing.Robolectric.annotations) + add("testImplementation", FoundryDependencies.Testing.Robolectric.robolectric) + foundryProperties.robolectricCoreProject?.let { add("testImplementation", project(it)) } } } } } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class AndroidFeaturesHandler @Inject constructor() { internal abstract val androidTest: Property internal abstract val androidTestExcludeFromFladle: Property @@ -1134,12 +1136,12 @@ public abstract class AndroidFeaturesHandler @Inject constructor() { } } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class SlackAndroidLibraryExtension { // Left as a toe-hold for the future } -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class SlackAndroidAppExtension { internal var allowlistAction: Action? = null diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackGradleUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryGradleUtil.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackGradleUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryGradleUtil.kt index f9ab8a7f7..8fe9a3800 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackGradleUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryGradleUtil.kt @@ -13,13 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.android.build.api.variant.AndroidComponentsExtension import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.api.variant.LibraryAndroidComponentsExtension import com.android.build.api.variant.TestAndroidComponentsExtension import com.google.common.base.CaseFormat +import foundry.gradle.agp.VersionNumber +import foundry.gradle.dependencies.DependencyDef +import foundry.gradle.dependencies.DependencyGroup +import foundry.gradle.util.gitExecProvider +import foundry.gradle.util.mapToBoolean import java.io.File import java.util.Locale import java.util.Optional @@ -34,11 +39,6 @@ import org.gradle.api.provider.ProviderFactory import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskProvider import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import slack.gradle.agp.VersionNumber -import slack.gradle.dependencies.DependencyDef -import slack.gradle.dependencies.DependencyGroup -import slack.gradle.util.gitExecProvider -import slack.gradle.util.mapToBoolean /** If true, this is currently running on GitHub Actions CI. */ public val Project.isActionsCi: Boolean @@ -103,12 +103,12 @@ internal fun robolectricJars(gradleUserHomeDir: File, createDirsIfMissing: Boole } public fun Project.supportedLanguages(supportedLanguages: SupportedLanguagesEnum): List { - val slackProperties = SlackProperties(project) - val gaLanguages = slackProperties.supportedLanguages.split(",") + val foundryProperties = FoundryProperties(project) + val gaLanguages = foundryProperties.supportedLanguages.split(",") - val internalLanguages = slackProperties.supportedLanguagesInternal.split(",") + val internalLanguages = foundryProperties.supportedLanguagesInternal.split(",") - val betaLanguages = slackProperties.supportedLanguagesBeta.split(",") + val betaLanguages = foundryProperties.supportedLanguagesBeta.split(",") return when (supportedLanguages) { SupportedLanguagesEnum.GA -> gaLanguages.toList().filter { it.isNotBlank() } @@ -154,7 +154,7 @@ public val Project.jenkinsHome: Provider public val Project.usePrototypeAppId: Boolean get() { - return SlackProperties(this).usePrototypeAppId + return FoundryProperties(this).usePrototypeAppId } public fun String.decapitalizeUS(): String { @@ -168,7 +168,7 @@ public fun String.capitalizeUS(): String { /** Returns the variant used for `ciUnitTest` tasks on this (presumably) Android project. */ internal fun Project.ciUnitTestAndroidVariant(): String { - val ciUnitTestVariant = SlackProperties(this).ciUnitTestVariant + val ciUnitTestVariant = FoundryProperties(this).ciUnitTestVariant return ciUnitTestVariant.capitalizeUS() } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackProperties.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackProperties.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt index 5849a39cd..147b038d5 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackProperties.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt @@ -13,26 +13,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle +import foundry.gradle.anvil.AnvilMode +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.util.PropertyResolver +import foundry.gradle.util.getOrCreateExtra +import foundry.gradle.util.sneakyNull import java.io.File import java.util.Locale import org.gradle.api.Project import org.gradle.api.file.RegularFile import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.dsl.KotlinVersion -import slack.gradle.anvil.AnvilMode -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.util.PropertyResolver -import slack.gradle.util.getOrCreateExtra -import slack.gradle.util.sneakyNull /** - * (Mostly Gradle) properties for configuration of SlackPlugin. + * (Mostly Gradle) properties for configuration of Foundry Gradle Plugin. * * Order attempted as described by [PropertyResolver.providerFor]. */ -public class SlackProperties +public class FoundryProperties internal constructor( private val project: Project, startParameterProperty: (String) -> Provider, @@ -66,7 +66,7 @@ internal constructor( blankIsNull && it.isBlank() } - internal val versions: SlackVersions by lazy { SlackVersions(project.getVersionsCatalog()) } + internal val versions: FoundryVersions by lazy { FoundryVersions(project.getVersionsCatalog()) } /** Indicates that this android library project has variants. Flag-only, value is ignored. */ public val libraryWithVariants: Boolean @@ -771,17 +771,17 @@ internal constructor( public operator fun invoke( project: Project, - slackTools: Provider? = project.slackToolsProvider(), - ): SlackProperties { + foundryTools: Provider? = project.foundryToolsProvider(), + ): FoundryProperties { return project.getOrCreateExtra(CACHED_PROVIDER_EXT_NAME) { p -> - SlackProperties( + FoundryProperties( project = p, startParameterProperty = { key -> - slackTools?.flatMap { tools -> tools.globalStartParameterProperty(key) } + foundryTools?.flatMap { tools -> tools.globalStartParameterProperty(key) } ?: p.provider { null } }, globalLocalProperty = { key -> - slackTools?.flatMap { tools -> tools.globalLocalProperty(key) } ?: p.provider { null } + foundryTools?.flatMap { tools -> tools.globalLocalProperty(key) } ?: p.provider { null } }, ) } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackRootPlugin.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryRootPlugin.kt similarity index 82% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackRootPlugin.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryRootPlugin.kt index 87464633a..eb152e51a 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackRootPlugin.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryRootPlugin.kt @@ -13,12 +13,39 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.autonomousapps.DependencyAnalysisExtension import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask import com.osacky.doctor.DoctorExtension import com.squareup.moshi.adapter +import foundry.gradle.agp.VersionNumber +import foundry.gradle.avoidance.ComputeAffectedProjectsTask +import foundry.gradle.avoidance.GenerateAndroidTestProjectPathsTask +import foundry.gradle.avoidance.GenerateDependencyGraphTask +import foundry.gradle.dependencyrake.MissingIdentifiersAggregatorTask +import foundry.gradle.develocity.NoOpBuildScanAdapter +import foundry.gradle.develocity.findAdapter +import foundry.gradle.lint.DetektTasks +import foundry.gradle.lint.LintTasks +import foundry.gradle.stats.ModuleStatsTasks +import foundry.gradle.tasks.AndroidTestApksTask +import foundry.gradle.tasks.CoreBootstrapTask +import foundry.gradle.tasks.GjfDownloadTask +import foundry.gradle.tasks.InstallCommitHooksTask +import foundry.gradle.tasks.KtLintDownloadTask +import foundry.gradle.tasks.KtfmtDownloadTask +import foundry.gradle.tasks.SortDependenciesDownloadTask +import foundry.gradle.tasks.robolectric.UpdateRobolectricJarsTask +import foundry.gradle.unittest.UnitTests +import foundry.gradle.util.StartParameterProperties +import foundry.gradle.util.Thermals +import foundry.gradle.util.ThermalsData +import foundry.gradle.util.createPropertiesProvider +import foundry.gradle.util.gitExecProvider +import foundry.gradle.util.gitVersionProvider +import foundry.gradle.util.setDisallowChanges +import foundry.gradle.util.sneakyNull import java.util.Locale import javax.inject.Inject import org.gradle.api.Plugin @@ -30,40 +57,12 @@ import org.gradle.api.provider.Provider import org.gradle.api.tasks.Delete import org.gradle.jvm.toolchain.JvmVendorSpec import slack.cli.AppleSiliconCompat -import slack.dependencyrake.MissingIdentifiersAggregatorTask -import slack.gradle.agp.VersionNumber -import slack.gradle.avoidance.ComputeAffectedProjectsTask -import slack.gradle.avoidance.GenerateAndroidTestProjectPathsTask -import slack.gradle.avoidance.GenerateDependencyGraphTask -import slack.gradle.develocity.NoOpBuildScanAdapter -import slack.gradle.develocity.findAdapter -import slack.gradle.lint.DetektTasks -import slack.gradle.lint.LintTasks -import slack.gradle.tasks.AndroidTestApksTask -import slack.gradle.tasks.CoreBootstrapTask -import slack.gradle.tasks.GjfDownloadTask -import slack.gradle.tasks.InstallCommitHooksTask -import slack.gradle.tasks.KtLintDownloadTask -import slack.gradle.tasks.KtfmtDownloadTask -import slack.gradle.tasks.SortDependenciesDownloadTask -import slack.gradle.tasks.robolectric.UpdateRobolectricJarsTask -import slack.gradle.util.JsonTools -import slack.gradle.util.StartParameterProperties -import slack.gradle.util.Thermals -import slack.gradle.util.ThermalsData -import slack.gradle.util.createPropertiesProvider -import slack.gradle.util.gitExecProvider -import slack.gradle.util.gitVersionProvider -import slack.gradle.util.setDisallowChanges -import slack.gradle.util.sneakyNull -import slack.stats.ModuleStatsTasks -import slack.unittest.UnitTests /** - * A common entry point for Slack project configuration. This should only be applied once and on the - * root project, with a full view of the entire project tree. + * A common entry point for Foundry project configuration. This should only be applied once and on + * the root project, with a full view of the entire project tree. */ -internal class SlackRootPlugin @Inject constructor(private val buildFeatures: BuildFeatures) : +internal class FoundryRootPlugin @Inject constructor(private val buildFeatures: BuildFeatures) : Plugin { override fun apply(project: Project) { @@ -99,54 +98,54 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu val globalLocalProperty: (String) -> Provider = { key -> localProperties.map { sneakyNull(it[key]) } } - val slackProperties = - SlackProperties( + val foundryProperties = + FoundryProperties( project, startParameterProperty = startParameterProperty, globalLocalProperty = globalLocalProperty, ) val thermalsLogJsonFile = project.layout.buildDirectory.file("outputs/logs/last-build-thermals.json") - val logThermals = slackProperties.logThermals - val enableSkippy = slackProperties.affectedProjects?.exists() == true + val logThermals = foundryProperties.logThermals + val enableSkippy = foundryProperties.affectedProjects?.exists() == true if (enableSkippy) { project.logger.lifecycle( - "Enabling Skippy using projects in ${slackProperties.affectedProjects}" + "Enabling Skippy using projects in ${foundryProperties.affectedProjects}" ) - } else if (slackProperties.affectedProjects != null) { + } else if (foundryProperties.affectedProjects != null) { project.logger.lifecycle( - "Skippy is disabled because file '${slackProperties.affectedProjects}' does not exist." + "Skippy is disabled because file '${foundryProperties.affectedProjects}' does not exist." ) } else { project.logger.debug("Skippy is disabled") } - SlackTools.register( + FoundryTools.register( project = project, logThermals = logThermals, enableSkippyDiagnostics = enableSkippy, - logVerbosely = slackProperties.verboseLogging, + logVerbosely = foundryProperties.verboseLogging, thermalsLogJsonFileProvider = thermalsLogJsonFile, isConfigurationCacheRequested = buildFeatures.configurationCache.requested, startParameterProperties = startParameterProperties, globalLocalProperties = localProperties, ) - configureRootProject(project, slackProperties, thermalsLogJsonFile) + configureRootProject(project, foundryProperties, thermalsLogJsonFile) } // These checks is a false positive because we have inner lambdas @Suppress("ReturnCount", "LongMethod", "ComplexMethod") private fun configureRootProject( project: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, thermalsLogJsonFileProvider: Provider, ) { // Check enforced JDK version - if (slackProperties.strictJdk) { + if (foundryProperties.strictJdk) { val runtimeVersion = project.providers.systemProperty("java.specification.version").get().toInt() - val jdk = slackProperties.versions.jdk.get() + val jdk = foundryProperties.versions.jdk.get() check(jdk == runtimeVersion) { """ Current Java version ($runtimeVersion) does not match the enforced version ($jdk). @@ -161,32 +160,33 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu } if (!project.isCi) { - slackProperties.compileSdkVersion?.substringAfter("-")?.toInt()?.let { compileSdk -> - val latestCompileSdkWithSources = slackProperties.latestCompileSdkWithSources(compileSdk) + foundryProperties.compileSdkVersion?.substringAfter("-")?.toInt()?.let { compileSdk -> + val latestCompileSdkWithSources = foundryProperties.latestCompileSdkWithSources(compileSdk) AndroidSourcesConfigurer.patchSdkSources(compileSdk, project, latestCompileSdkWithSources) } - project.configureGit(slackProperties) + project.configureGit(foundryProperties) } project.configureSlackRootBuildscript( - slackProperties.versions.jdk.asProvider(project.providers), - slackProperties.jvmVendor.map(JvmVendorSpec::matching).orNull, + foundryProperties.versions.jdk.asProvider(project.providers), + foundryProperties.jvmVendor.map(JvmVendorSpec::matching).orNull, ) LintTasks.configureRootProject(project) - DetektTasks.configureRootProject(project, slackProperties) - project.configureMisc(slackProperties) + DetektTasks.configureRootProject(project, foundryProperties) + project.configureMisc(foundryProperties) UnitTests.configureRootProject(project) - ModuleStatsTasks.configureRoot(project, slackProperties) - val generateDependencyGraphTask = GenerateDependencyGraphTask.register(project, slackProperties) + ModuleStatsTasks.configureRoot(project, foundryProperties) + val generateDependencyGraphTask = + GenerateDependencyGraphTask.register(project, foundryProperties) val generateAndroidTestProjectsTask = GenerateAndroidTestProjectPathsTask.register(project) ComputeAffectedProjectsTask.register( rootProject = project, - slackProperties = slackProperties, + foundryProperties = foundryProperties, dependencyGraphProvider = generateDependencyGraphTask.flatMap { it.outputFile }, androidTestProjectPathsProvider = generateAndroidTestProjectsTask.flatMap { it.outputFile }, ) // Register robolectric jar downloads if requested - slackProperties.versions.robolectric?.let { - UpdateRobolectricJarsTask.register(project, slackProperties) + foundryProperties.versions.robolectric?.let { + UpdateRobolectricJarsTask.register(project, foundryProperties) } val scanApi = findAdapter(project) @@ -206,7 +206,8 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu if (text.isNotEmpty()) { try { thermals = - JsonTools.MOSHI.adapter().fromJson(thermalsLogJsonFile.readText()) + foundry.gradle.util.JsonTools.MOSHI.adapter() + .fromJson(thermalsLogJsonFile.readText()) } catch (e: Exception) { Logging.getLogger("SGP").error("Failed to parse thermals log", e) } @@ -230,7 +231,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu } // Add ktlint download task - slackProperties.versions.ktlint?.let { ktlintVersion -> + foundryProperties.versions.ktlint?.let { ktlintVersion -> project.tasks.register("updateKtLint") { version.setDisallowChanges(ktlintVersion) outputFile.setDisallowChanges(project.layout.projectDirectory.file("config/bin/ktlint")) @@ -238,7 +239,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu } // Add GJF download task - slackProperties.versions.gjf?.let { gjfVersion -> + foundryProperties.versions.gjf?.let { gjfVersion -> project.tasks.register("updateGjf") { version.setDisallowChanges(gjfVersion) outputFile.setDisallowChanges(project.layout.projectDirectory.file("config/bin/gjf")) @@ -246,7 +247,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu } // Add ktfmt download task - slackProperties.versions.ktfmt?.let { ktfmtVersion -> + foundryProperties.versions.ktfmt?.let { ktfmtVersion -> project.tasks.register("updateKtfmt") { version.setDisallowChanges(ktfmtVersion) outputFile.setDisallowChanges(project.layout.projectDirectory.file("config/bin/ktfmt")) @@ -254,7 +255,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu } // Add sortDependencies download task - slackProperties.versions.sortDependencies?.let { sortDependenciesVersion -> + foundryProperties.versions.sortDependencies?.let { sortDependenciesVersion -> project.tasks.register("updateSortDependencies") { version.setDisallowChanges(sortDependenciesVersion) outputFile.setDisallowChanges( @@ -267,7 +268,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu // Usage: ./gradlew clean buildHealth project.pluginManager.withPlugin("com.autonomousapps.dependency-analysis") { // Register the missing identifiers aggregator - if (slackProperties.enableAnalysisPlugin) { + if (foundryProperties.enableAnalysisPlugin) { MissingIdentifiersAggregatorTask.register(project) } project.configure { @@ -365,7 +366,7 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu // Chime uses unconventional version names, which aren't reliable for semver checks return@rejectVersionIf true } - !slackProperties.versionsPluginAllowUnstable -> { + !foundryProperties.versionsPluginAllowUnstable -> { val currentIsStable = isStable(currentVersion) val candidateIsStable = isStable(candidate.version) if (!currentIsStable) { @@ -417,15 +418,15 @@ internal class SlackRootPlugin @Inject constructor(private val buildFeatures: Bu return stableKeyword || STABLE_REGEX.matches(version) } - private fun Project.configureGit(slackProperties: SlackProperties) { + private fun Project.configureGit(foundryProperties: FoundryProperties) { // Only run locally if (!isCi) { - slackProperties.gitHooksFile?.let { hooksPath -> + foundryProperties.gitHooksFile?.let { hooksPath -> // Configure hooks providers.gitExecProvider("git", "config", "core.hooksPath", hooksPath.canonicalPath).get() } - val revsFile = slackProperties.gitIgnoreRevsFile ?: return + val revsFile = foundryProperties.gitIgnoreRevsFile ?: return // "git version 2.24.1" val gitVersion = providers.gitVersionProvider().get() val versionNumber = parseGitVersion(gitVersion) @@ -479,7 +480,7 @@ private fun Project.configureSlackRootBuildscript( InstallCommitHooksTask.register(this) } -private fun Project.configureMisc(slackProperties: SlackProperties) { +private fun Project.configureMisc(foundryProperties: FoundryProperties) { tasks .withType(Delete::class.java) .named { it == "clean" } @@ -539,7 +540,7 @@ private fun Project.configureMisc(slackProperties: SlackProperties) { ensureJavaHomeIsSet.setDisallowChanges(true) /** For now, we just give a heavy-handed warning with a link to our wiki! */ - failOnError.setDisallowChanges(provider { slackProperties.strictJdk }) + failOnError.setDisallowChanges(provider { foundryProperties.strictJdk }) /** Link our wiki page in its messages to get developers up and running. */ extraMessage.setDisallowChanges( diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackTools.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryTools.kt similarity index 86% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackTools.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryTools.kt index 8696cefe8..1869ca3f3 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackTools.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryTools.kt @@ -13,12 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.google.common.collect.Sets import com.squareup.moshi.JsonWriter import com.squareup.moshi.Moshi import com.squareup.moshi.adapter +import foundry.gradle.FoundryTools.Companion.SERVICE_NAME +import foundry.gradle.FoundryTools.Parameters +import foundry.gradle.agp.AgpHandler +import foundry.gradle.agp.AgpHandlers +import foundry.gradle.util.JsonTools +import foundry.gradle.util.LocalProperties +import foundry.gradle.util.Thermals +import foundry.gradle.util.ThermalsWatcher +import foundry.gradle.util.setDisallowChanges +import foundry.gradle.util.shutdown +import foundry.gradle.util.sneakyNull import java.io.File import java.util.ServiceLoader import java.util.concurrent.ExecutorService @@ -40,20 +51,9 @@ import org.gradle.api.services.BuildServiceParameters import org.gradle.api.services.BuildServiceRegistration import org.gradle.internal.os.OperatingSystem import slack.cli.AppleSiliconCompat -import slack.gradle.SlackTools.Companion.SERVICE_NAME -import slack.gradle.SlackTools.Parameters -import slack.gradle.agp.AgpHandler -import slack.gradle.agp.AgpHandlers -import slack.gradle.util.JsonTools -import slack.gradle.util.LocalProperties -import slack.gradle.util.Thermals -import slack.gradle.util.ThermalsWatcher -import slack.gradle.util.setDisallowChanges -import slack.gradle.util.shutdown -import slack.gradle.util.sneakyNull - -/** Misc tools for Slack Gradle projects, usable in tasks as a [BuildService] too. */ -public abstract class SlackTools : BuildService, AutoCloseable { + +/** Misc tools for Foundry Gradle projects, usable in tasks as a [BuildService] too. */ +public abstract class FoundryTools : BuildService, AutoCloseable { public val agpHandler: AgpHandler by lazy { AgpHandlers.createHandler() } public val moshi: Moshi @@ -64,8 +64,8 @@ public abstract class SlackTools : BuildService, AutoCloseable { // work for BuildService parameters public lateinit var globalConfig: GlobalConfig - private val logger = Logging.getLogger("SlackTools") - private val extensions: Map, SlackToolsExtension> + private val logger = Logging.getLogger("FoundryTools") + private val extensions: Map, FoundryToolsExtension> private val okHttpClient = lazy { OkHttpClient.Builder().build() } @@ -118,8 +118,8 @@ public abstract class SlackTools : BuildService, AutoCloseable { extensions = buildMap { ServiceLoader.load( - SlackToolsExtension::class.java, - SlackToolsExtension::class.java.classLoader, + FoundryToolsExtension::class.java, + FoundryToolsExtension::class.java.classLoader, ) .stream() .asSequence() @@ -142,16 +142,16 @@ public abstract class SlackTools : BuildService, AutoCloseable { if (extensions.isNotEmpty()) { val dependencies = - object : SlackToolsDependencies { + object : FoundryToolsDependencies { override val okHttpClient: Lazy - get() = this@SlackTools.okHttpClient + get() = this@FoundryTools.okHttpClient } val context = - object : SlackToolsExtension.Context { + object : FoundryToolsExtension.Context { override val isOffline: Boolean - get() = this@SlackTools.parameters.offline.get() + get() = this@FoundryTools.parameters.offline.get() - override val sharedDependencies: SlackToolsDependencies + override val sharedDependencies: FoundryToolsDependencies get() = dependencies } for (extension in extensions.values) { @@ -188,7 +188,7 @@ public abstract class SlackTools : BuildService, AutoCloseable { } /** Retrieves a loaded instance of [T], if any. */ - public fun findExtension(type: Class): T? { + public fun findExtension(type: Class): T? { @Suppress("UNCHECKED_CAST") return extensions[type] as T? } @@ -241,7 +241,7 @@ public abstract class SlackTools : BuildService, AutoCloseable { } runCatchingWithLog("Failed to close extension") { - extensions.values.forEach(SlackToolsExtension::close) + extensions.values.forEach(FoundryToolsExtension::close) } thermalsExecutor?.shutdown() @@ -271,7 +271,7 @@ public abstract class SlackTools : BuildService, AutoCloseable { } public companion object { - public const val SERVICE_NAME: String = "SlackTools" + public const val SERVICE_NAME: String = "FoundryTools" internal fun register( project: Project, @@ -282,9 +282,9 @@ public abstract class SlackTools : BuildService, AutoCloseable { isConfigurationCacheRequested: Provider, startParameterProperties: Provider>, globalLocalProperties: Provider>, - ): Provider { + ): Provider { return project.gradle.sharedServices - .registerIfAbsent(SERVICE_NAME, SlackTools::class.java) { + .registerIfAbsent(SERVICE_NAME, FoundryTools::class.java) { parameters.thermalsOutputFile.setDisallowChanges( project.layout.buildDirectory.file("outputs/logs/last-build-thermals.log") ) @@ -333,27 +333,27 @@ public interface ThermalsReporter { public fun reportThermals(thermals: Thermals) } -public interface SlackToolsDependencies { +public interface FoundryToolsDependencies { public val okHttpClient: Lazy } /** An extension for SlackTools. */ -public interface SlackToolsExtension : AutoCloseable { +public interface FoundryToolsExtension : AutoCloseable { public fun bind(context: Context) public interface Context { public val isOffline: Boolean - public val sharedDependencies: SlackToolsDependencies + public val sharedDependencies: FoundryToolsDependencies } } -public fun Project.slackTools(): SlackTools { - return slackToolsProvider().get() +public fun Project.foundryTools(): FoundryTools { + return foundryToolsProvider().get() } @Suppress("UNCHECKED_CAST") -public fun Project.slackToolsProvider(): Provider { +public fun Project.foundryToolsProvider(): Provider { return (project.gradle.sharedServices.registrations.getByName(SERVICE_NAME) - as BuildServiceRegistration) + as BuildServiceRegistration) .service } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/SlackVersions.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryVersions.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/SlackVersions.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryVersions.kt index 1a01c0b45..fab8f873a 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/SlackVersions.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryVersions.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import java.util.Optional import org.gradle.api.artifacts.ExternalModuleDependencyBundle @@ -27,7 +27,7 @@ import org.gradle.api.provider.Provider * as they appear in the toml file. */ // TODO generate something to map these in the future? Or with reflection? -internal class SlackVersions(val catalog: VersionCatalog) { +internal class FoundryVersions(val catalog: VersionCatalog) { val agp: String? get() = getOptionalValue("agp").orElse(null) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/GlobalConfig.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt similarity index 83% rename from slack-plugin/src/main/kotlin/slack/gradle/GlobalConfig.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt index 0fbee3125..1f3394997 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/GlobalConfig.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import org.gradle.api.Project import org.gradle.jvm.toolchain.JvmVendorSpec @@ -30,13 +30,13 @@ private constructor( internal companion object { operator fun invoke(project: Project): GlobalConfig { check(project == project.rootProject) { "Project is not root project!" } - val globalSlackProperties = SlackProperties(project) + val globalFoundryProperties = FoundryProperties(project) return GlobalConfig( - kotlinDaemonArgs = globalSlackProperties.kotlinDaemonArgs.split(" "), + kotlinDaemonArgs = globalFoundryProperties.kotlinDaemonArgs.split(" "), errorProneCheckNamesAsErrors = - globalSlackProperties.errorProneCheckNamesAsErrors?.split(":").orEmpty(), + globalFoundryProperties.errorProneCheckNamesAsErrors?.split(":").orEmpty(), affectedProjects = - globalSlackProperties.affectedProjects?.let { file -> + globalFoundryProperties.affectedProjects?.let { file -> project.logger.lifecycle("[Skippy] Affected projects found in '$file'") // Check file existence. This way we can allow specifying the property even if it // doesn't exist, which can be more convenient in CI pipelines. @@ -50,7 +50,7 @@ private constructor( } }, jvmVendor = - globalSlackProperties.jvmVendor.map(JvmVendorSpec::matching).orNull.also { + globalFoundryProperties.jvmVendor.map(JvmVendorSpec::matching).orNull.also { project.logger.debug("[SGP] JVM vendor: $it") }, ) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/GradleExt.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GradleExt.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/GradleExt.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GradleExt.kt index 12903ee07..c95b5489f 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/GradleExt.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GradleExt.kt @@ -15,7 +15,7 @@ */ @file:Suppress("TooManyFunctions") -package slack.gradle +package foundry.gradle import com.android.builder.model.AndroidProject import java.util.concurrent.atomic.AtomicBoolean diff --git a/slack-plugin/src/main/kotlin/slack/gradle/Platforms.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Platforms.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/Platforms.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Platforms.kt index 456060606..e7a3ee21d 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/Platforms.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/Platforms.kt @@ -13,10 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.squareup.moshi.JsonClass import com.squareup.moshi.adapter +import foundry.gradle.dependencies.DependencyCollection +import foundry.gradle.dependencies.DependencyDef +import foundry.gradle.dependencies.boms +import foundry.gradle.dependencies.flattenedPlatformCoordinates +import foundry.gradle.dependencies.identifierMap +import foundry.gradle.util.JsonTools +import foundry.gradle.util.sneakyNull import java.io.File import okio.buffer import okio.source @@ -27,13 +34,6 @@ import org.gradle.api.internal.provider.MissingValueException import org.gradle.api.logging.Logger import org.gradle.api.provider.Provider import org.gradle.api.provider.ProviderFactory -import slack.gradle.dependencies.DependencyCollection -import slack.gradle.dependencies.DependencyDef -import slack.gradle.dependencies.boms -import slack.gradle.dependencies.flattenedPlatformCoordinates -import slack.gradle.dependencies.identifierMap -import slack.gradle.util.JsonTools -import slack.gradle.util.sneakyNull public object Platforms { @@ -67,10 +67,6 @@ public object Platforms { // Some google libraries' snapshots seems to actually be old. "com.google.auto:auto-common", "com.google.testing.compile:compile-testing", - // Calls is rarely updated and usually contains breaking changes. - "com.slack.android:calls", - // These aren't reliable for semver checks and only updated ad-hoc - "com.slack.data:client-thrifty", ) /** Generates a `libs.versions.toml` representation of this [dependencyCollection]. */ @@ -245,8 +241,8 @@ public object Platforms { } val logger = project.logger - val slackProperties = SlackProperties(project) - val snapshotsEnabled = slackProperties.enableSnapshots + val foundryProperties = FoundryProperties(project) + val snapshotsEnabled = foundryProperties.enableSnapshots // Overrides provider, used when testing newer dependency versions on shadow builds // TODO We should just make the shadow build replace the versions in gradle.properties and @@ -254,7 +250,7 @@ public object Platforms { // logic val overridesProvider = project.providers.provider { - val path = slackProperties.versionsJson ?: return@provider sneakyNull() + val path = foundryProperties.versionsJson ?: return@provider sneakyNull() println("Parsing versions json at $path") path.source().buffer().use { JsonTools.MOSHI.adapter().fromJson(it)!! } } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/StandardProjectConfigurations.kt similarity index 84% rename from slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/StandardProjectConfigurations.kt index 6d1c28727..1bd6d0382 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/StandardProjectConfigurations.kt @@ -15,7 +15,7 @@ */ @file:Suppress("UnstableApiUsage") -package slack.gradle +package foundry.gradle import com.android.build.api.artifact.SingleArtifact import com.android.build.api.variant.AndroidComponentsExtension @@ -32,6 +32,21 @@ import com.android.build.gradle.internal.dsl.BaseAppModuleExtension import com.android.build.gradle.tasks.JavaPreCompileTask import com.autonomousapps.DependencyAnalysisSubExtension import com.bugsnag.android.gradle.BugsnagPluginExtension +import foundry.gradle.Configurations.isPlatformConfigurationName +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.dependencies.FoundryDependencies +import foundry.gradle.dependencyrake.RakeDependencies +import foundry.gradle.kgp.KgpTasks +import foundry.gradle.lint.LintTasks +import foundry.gradle.permissionchecks.PermissionChecks +import foundry.gradle.tasks.AndroidTestApksTask +import foundry.gradle.tasks.CheckManifestPermissionsTask +import foundry.gradle.tasks.SimpleFileProducerTask +import foundry.gradle.tasks.publishWith +import foundry.gradle.tasks.robolectric.UpdateRobolectricJarsTask +import foundry.gradle.unittest.UnitTests +import foundry.gradle.util.setDisallowChanges import net.ltgt.gradle.errorprone.CheckSeverity import net.ltgt.gradle.errorprone.errorprone import net.ltgt.gradle.nullaway.nullaway @@ -52,21 +67,6 @@ import org.gradle.jvm.toolchain.JavaCompiler import org.gradle.jvm.toolchain.JavaLanguageVersion import org.gradle.jvm.toolchain.JavaToolchainService import org.gradle.language.base.plugins.LifecycleBasePlugin -import slack.dependencyrake.RakeDependencies -import slack.gradle.Configurations.isPlatformConfigurationName -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.dependencies.SlackDependencies -import slack.gradle.kgp.KgpTasks -import slack.gradle.lint.LintTasks -import slack.gradle.permissionchecks.PermissionChecks -import slack.gradle.tasks.AndroidTestApksTask -import slack.gradle.tasks.CheckManifestPermissionsTask -import slack.gradle.tasks.SimpleFileProducerTask -import slack.gradle.tasks.publishWith -import slack.gradle.tasks.robolectric.UpdateRobolectricJarsTask -import slack.gradle.util.setDisallowChanges -import slack.unittest.UnitTests private const val LOG = "SlackPlugin:" private const val FIVE_MINUTES_MS = 300_000L @@ -89,27 +89,27 @@ private fun Logger.logWithTag(message: String) { */ @Suppress("TooManyFunctions") internal class StandardProjectConfigurations( - private val globalProperties: SlackProperties, + private val globalProperties: FoundryProperties, private val versionCatalog: VersionCatalog, - private val slackTools: SlackTools, + private val foundryTools: FoundryTools, ) { fun applyTo(project: Project) { - val slackProperties = SlackProperties(project) - val slackExtension = + val foundryProperties = FoundryProperties(project) + val foundryExtension = project.extensions.create( "slack", - SlackExtension::class.java, + FoundryExtension::class.java, globalProperties, - slackProperties, + foundryProperties, project, versionCatalog, ) - if (slackProperties.eagerlyConfigureArtifactPublishing) { + if (foundryProperties.eagerlyConfigureArtifactPublishing) { setUpSubprojectArtifactPublishing(project) } - project.applyCommonConfigurations(slackProperties) - project.applyJvmConfigurations(slackProperties, slackExtension) - KgpTasks.configure(project, slackTools, slackProperties) + project.applyCommonConfigurations(foundryProperties) + project.applyJvmConfigurations(foundryProperties, foundryExtension) + KgpTasks.configure(project, foundryTools, foundryProperties) } /** @@ -135,7 +135,7 @@ internal class StandardProjectConfigurations( } } - private fun Project.applyCommonConfigurations(slackProperties: SlackProperties) { + private fun Project.applyCommonConfigurations(foundryProperties: FoundryProperties) { if (globalProperties.autoApplySortDependencies) { if (project.buildFile.exists()) { val sortDependenciesIgnoreSet = @@ -147,9 +147,9 @@ internal class StandardProjectConfigurations( } LintTasks.configureSubProject( project, - slackProperties, - slackTools.globalConfig.affectedProjects, - slackTools::logAvoidedTask, + foundryProperties, + foundryTools.globalConfig.affectedProjects, + foundryTools::logAvoidedTask, ) } @@ -157,53 +157,53 @@ internal class StandardProjectConfigurations( private fun Project.javaCompilerFor(version: Int): Provider { return extensions.getByType().compilerFor { languageVersion.setDisallowChanges(JavaLanguageVersion.of(version)) - slackTools.globalConfig.jvmVendor?.let(vendor::set) + foundryTools.globalConfig.jvmVendor?.let(vendor::set) } } private fun Project.applyJvmConfigurations( - slackProperties: SlackProperties, - slackExtension: SlackExtension, + foundryProperties: FoundryProperties, + foundryExtension: FoundryExtension, ) { - val platformProjectPath = slackProperties.platformProjectPath + val platformProjectPath = foundryProperties.platformProjectPath if (platformProjectPath == null) { - if (slackProperties.strictMode) { + if (foundryProperties.strictMode) { logger.warn( "slack.location.slack-platform is not set. Consider creating one to ensure consistent dependency versions across projects!" ) } - } else if (!slackProperties.noPlatform && path != platformProjectPath) { - applyPlatforms(slackProperties.versions.boms, platformProjectPath) + } else if (!foundryProperties.noPlatform && path != platformProjectPath) { + applyPlatforms(foundryProperties.versions.boms, platformProjectPath) } - checkAndroidXDependencies(slackProperties) + checkAndroidXDependencies(foundryProperties) AnnotationProcessing.configureFor(project) pluginManager.onFirst(JVM_PLUGINS) { pluginId -> - slackProperties.versions.bundles.commonAnnotations.ifPresent { + foundryProperties.versions.bundles.commonAnnotations.ifPresent { dependencies.add("implementation", it) } UnitTests.configureSubproject( project, pluginId, - slackProperties, - slackTools.globalConfig.affectedProjects, - slackTools::logAvoidedTask, + foundryProperties, + foundryTools.globalConfig.affectedProjects, + foundryTools::logAvoidedTask, ) if (pluginId != "com.android.test") { // Configure dependencyAnalysis // TODO move up once DAGP supports com.android.test projects // https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/issues/797 - if (slackProperties.enableAnalysisPlugin && project.path != platformProjectPath) { + if (foundryProperties.enableAnalysisPlugin && project.path != platformProjectPath) { val buildFile = project.buildFile // This can run on some intermediate middle directories, like `carbonite` in // `carbonite:carbonite` if (buildFile.exists()) { // Configure rake plugins.withId("com.autonomousapps.dependency-analysis") { - val isNoApi = slackProperties.rakeNoApi + val isNoApi = foundryProperties.rakeNoApi val catalogNames = extensions.findByType()?.catalogNames ?: return@withId @@ -243,9 +243,9 @@ internal class StandardProjectConfigurations( } // TODO always configure compileOptions here - configureAndroidProjects(slackExtension, slackProperties) - configureJavaProject(slackProperties) - slackExtension.applyTo(this) + configureAndroidProjects(foundryExtension, foundryProperties) + configureJavaProject(foundryProperties) + foundryExtension.applyTo(this) } /** @@ -280,8 +280,8 @@ internal class StandardProjectConfigurations( * we apply this on all projects (not just android projects) because some android dependencies are * plain jars that can be used in standard JVM projects. */ - private fun Project.checkAndroidXDependencies(slackProperties: SlackProperties) { - if (!slackProperties.skipAndroidxCheck) { + private fun Project.checkAndroidXDependencies(foundryProperties: FoundryProperties) { + if (!foundryProperties.skipAndroidxCheck) { configurations.configureEach { resolutionStrategy { eachDependency { @@ -299,15 +299,15 @@ internal class StandardProjectConfigurations( } /** Adds common configuration for Java projects. */ - private fun Project.configureJavaProject(slackProperties: SlackProperties) { + private fun Project.configureJavaProject(foundryProperties: FoundryProperties) { val releaseVersion = - slackProperties.versions.jvmTarget.map(JavaVersion::toVersion).asProvider(providers) + foundryProperties.versions.jvmTarget.map(JavaVersion::toVersion).asProvider(providers) plugins.withType(JavaBasePlugin::class.java).configureEach { project.configure { sourceCompatibility = releaseVersion.get() targetCompatibility = releaseVersion.get() } - slackProperties.versions.jdk.ifPresent { + foundryProperties.versions.jdk.ifPresent { if (it >= 9) { tasks.configureEach { if (!isAndroid) { @@ -334,7 +334,7 @@ internal class StandardProjectConfigurations( val target = if (isAndroid) releaseVersion else - slackProperties.versions.jdk.map(JavaVersion::toVersion).asProvider(project.providers) + foundryProperties.versions.jdk.map(JavaVersion::toVersion).asProvider(project.providers) logger.logWithTag("Configuring toolchain for $path") // Can't use disallowChanges here because Gradle sets it again later for some reason javaCompiler.set( @@ -342,13 +342,13 @@ internal class StandardProjectConfigurations( languageVersion.setDisallowChanges( target.map { JavaLanguageVersion.of(it.majorVersion) } ) - slackTools.globalConfig.jvmVendor?.let(vendor::set) + foundryTools.globalConfig.jvmVendor?.let(vendor::set) } ) } } - configureErrorProne(slackProperties) + configureErrorProne(foundryProperties) } /** @@ -356,13 +356,13 @@ internal class StandardProjectConfigurations( * application of the error prone plugin as an opt-in marker for now, and is not applied to every * project. */ - private fun Project.configureErrorProne(slackProperties: SlackProperties) { - val autoPatchEnabled = slackProperties.errorProneAutoPatch + private fun Project.configureErrorProne(foundryProperties: FoundryProperties) { + val autoPatchEnabled = foundryProperties.errorProneAutoPatch pluginManager.withPlugin("net.ltgt.nullaway") { - val nullawayBaseline = slackProperties.nullawayBaseline + val nullawayBaseline = foundryProperties.nullawayBaseline val nullawayDep = - slackProperties.versions.catalog.findLibrary("errorProne-nullaway").orElseThrow { + foundryProperties.versions.catalog.findLibrary("errorProne-nullaway").orElseThrow { IllegalStateException("Could not find errorProne-nullaway in the catalog") } dependencies.apply { add("errorprone", nullawayDep) } @@ -389,7 +389,7 @@ internal class StandardProjectConfigurations( } } pluginManager.withPlugin("net.ltgt.errorprone") { - dependencies.add("errorprone", SlackDependencies.ErrorProne.core) + dependencies.add("errorprone", FoundryDependencies.ErrorProne.core) val isAndroidProject = isAndroid @@ -400,7 +400,7 @@ internal class StandardProjectConfigurations( // https://github.com/google/error-prone/issues/2092 excludedPaths.setDisallowChanges(".*/build/generated/.*") disable("HidingField") - error(*slackTools().globalConfig.errorProneCheckNamesAsErrors.toTypedArray()) + error(*foundryTools().globalConfig.errorProneCheckNamesAsErrors.toTypedArray()) if (isAndroidProject) { options.compilerArgs.add("-XDandroidCompatible=true") @@ -426,22 +426,23 @@ internal class StandardProjectConfigurations( @Suppress("LongMethod") private fun Project.configureAndroidProjects( - slackExtension: SlackExtension, - slackProperties: SlackProperties, + foundryExtension: FoundryExtension, + foundryProperties: FoundryProperties, ) { - val javaVersion = slackProperties.versions.jvmTarget.map(JavaVersion::toVersion) + val javaVersion = foundryProperties.versions.jvmTarget.map(JavaVersion::toVersion) // Contribute these libraries to Fladle if they opt into it val androidTestApksPublisher = Publisher.interProjectPublisher(project, SgpArtifact.ANDROID_TEST_APK_DIRS) val projectPath = project.path - val isAffectedProject = slackTools.globalConfig.affectedProjects?.contains(projectPath) ?: true + val isAffectedProject = + foundryTools.globalConfig.affectedProjects?.contains(projectPath) ?: true val skippyAndroidTestProjectPublisher = Publisher.interProjectPublisher(project, SgpArtifact.SKIPPY_ANDROID_TEST_PROJECT) val commonComponentsExtension = Action> { val variantsToDisable = - slackProperties.disabledVariants?.splitToSequence(",")?.associate { + foundryProperties.disabledVariants?.splitToSequence(",")?.associate { val (flavorName, buildType) = it.split("+") flavorName to buildType } ?: emptyMap() @@ -477,9 +478,8 @@ internal class StandardProjectConfigurations( val isLibraryVariant = variant is LibraryVariant val excluded = isLibraryVariant && - slackExtension.androidHandler.featuresHandler.androidTestExcludeFromFladle.getOrElse( - false - ) + foundryExtension.androidHandler.featuresHandler.androidTestExcludeFromFladle + .getOrElse(false) val isAndroidTestEnabled = variant is HasAndroidTest && variant.androidTest != null if (isAndroidTestEnabled) { if (!excluded && isAffectedProject) { @@ -505,8 +505,8 @@ internal class StandardProjectConfigurations( val reason = if (excluded) "excluded" else "not affected" val taskPath = "${projectPath}:androidTest" val log = "$LOG Skipping $taskPath because it is $reason." - slackTools.logAvoidedTask(AndroidTestApksTask.NAME, taskPath) - if (slackProperties.debug) { + foundryTools.logAvoidedTask(AndroidTestApksTask.NAME, taskPath) + if (foundryProperties.debug) { project.logger.lifecycle(log) } else { project.logger.debug(log) @@ -516,8 +516,8 @@ internal class StandardProjectConfigurations( } } - val sdkVersions = lazy { slackProperties.requireAndroidSdkProperties() } - val shouldApplyCacheFixPlugin = slackProperties.enableAndroidCacheFix + val sdkVersions = lazy { foundryProperties.requireAndroidSdkProperties() } + val shouldApplyCacheFixPlugin = foundryProperties.enableAndroidCacheFix val commonBaseExtensionConfig: BaseExtension.(applyTestOptions: Boolean) -> Unit = { applyTestOptions -> if (shouldApplyCacheFixPlugin) { @@ -525,8 +525,8 @@ internal class StandardProjectConfigurations( } compileSdkVersion(sdkVersions.value.compileSdk) - slackProperties.ndkVersion?.let { ndkVersion = it } - slackProperties.buildToolsVersionOverride?.let { buildToolsVersion = it } + foundryProperties.ndkVersion?.let { ndkVersion = it } + foundryProperties.buildToolsVersionOverride?.let { buildToolsVersion = it } defaultConfig { // TODO this won't work with SDK previews but will fix in a followup minSdk = sdkVersions.value.minSdk @@ -550,7 +550,7 @@ internal class StandardProjectConfigurations( testOptions { animationsDisabled = true - if (slackProperties.useOrchestrator) { + if (foundryProperties.useOrchestrator) { logger.info( "[android.testOptions]: Configured to run tests with Android Test Orchestrator" ) @@ -566,7 +566,7 @@ internal class StandardProjectConfigurations( // See https://developer.android.com/training/testing/unit-testing/local-unit-tests // #error-not-mocked for more details unitTests.isReturnDefaultValues = true - if (slackProperties.alwaysEnableResourcesInTests) { + if (foundryProperties.alwaysEnableResourcesInTests) { unitTests.isIncludeAndroidResources = true } @@ -578,7 +578,7 @@ internal class StandardProjectConfigurations( // based on dependencies unfortunately, as the task graph is already wired by the // time dependencies start getting resolved. // - slackProperties.versions.robolectric?.let { + foundryProperties.versions.robolectric?.let { logger.debug("Configuring $name test task to depend on Robolectric jar downloads") // Depending on the root project task by name alone is ok for Project Isolation test.dependsOn(":${UpdateRobolectricJarsTask.NAME}") @@ -593,7 +593,7 @@ internal class StandardProjectConfigurations( } } - val objenesis2Version = slackProperties.versions.objenesis + val objenesis2Version = foundryProperties.versions.objenesis val prepareAndroidTestConfigurations = { configurations.configureEach { if (name.contains("androidTest", ignoreCase = true)) { @@ -623,7 +623,7 @@ internal class StandardProjectConfigurations( pluginManager.withPlugin("com.android.test") { configure { - slackExtension.setAndroidExtension(this) + foundryExtension.setAndroidExtension(this) commonBaseExtensionConfig(false) defaultConfig { targetSdk = sdkVersions.value.targetSdk } } @@ -646,10 +646,10 @@ internal class StandardProjectConfigurations( // Must be in the beforeVariants block to defer read until after evaluation val androidTestEnabled = - slackExtension.androidHandler.featuresHandler.androidTest.getOrElse(false) + foundryExtension.androidHandler.featuresHandler.androidTest.getOrElse(false) val variantEnabled = androidTestEnabled && - slackExtension.androidHandler.featuresHandler.androidTestAllowedVariants.orNull + foundryExtension.androidHandler.featuresHandler.androidTestAllowedVariants.orNull ?.contains(builder.name) ?: true logger.debug("$LOG AndroidTest for ${builder.name} enabled? $variantEnabled") builder.androidTest.enable = variantEnabled @@ -661,7 +661,7 @@ internal class StandardProjectConfigurations( } } configure { - slackExtension.setAndroidExtension(this) + foundryExtension.setAndroidExtension(this) commonBaseExtensionConfig(true) defaultConfig { // TODO this won't work with SDK previews but will fix in a followup @@ -708,7 +708,7 @@ internal class StandardProjectConfigurations( PermissionChecks.configure( project = project, - allowListActionGetter = { slackExtension.androidHandler.appHandler.allowlistAction }, + allowListActionGetter = { foundryExtension.androidHandler.appHandler.allowlistAction }, ) { taskName, file, allowListProvider -> tasks.register(taskName) { group = LifecycleBasePlugin.VERIFICATION_GROUP @@ -721,7 +721,7 @@ internal class StandardProjectConfigurations( pluginManager.withPlugin("com.bugsnag.android.gradle") { val branchMatchesPatternProvider = - slackProperties.bugsnagEnabledBranchPattern.zip(gitBranch()) { pattern, branch -> + foundryProperties.bugsnagEnabledBranchPattern.zip(gitBranch()) { pattern, branch -> if (pattern == null || branch == null) { return@zip false } @@ -729,7 +729,7 @@ internal class StandardProjectConfigurations( } val enabledProvider = - slackProperties.bugsnagEnabled.orElse(branchMatchesPatternProvider).orElse(false).zip( + foundryProperties.bugsnagEnabled.orElse(branchMatchesPatternProvider).orElse(false).zip( provider { isCi } ) { enabled, isRunningOnCi -> // Only enable if we're also on CI @@ -762,12 +762,12 @@ internal class StandardProjectConfigurations( } } - slackExtension.androidHandler.applyTo(project) + foundryExtension.androidHandler.applyTo(project) } pluginManager.withPlugin("com.android.library") { prepareAndroidTestConfigurations() - val isLibraryWithVariants = slackProperties.libraryWithVariants + val isLibraryWithVariants = foundryProperties.libraryWithVariants configure { commonComponentsExtension.execute(this) @@ -786,15 +786,17 @@ internal class StandardProjectConfigurations( // Disable androidTest tasks in libraries unless they opt-in beforeVariants { builder -> val androidTestEnabled = - slackExtension.androidHandler.featuresHandler.androidTest.getOrElse(false) + foundryExtension.androidHandler.featuresHandler.androidTest.getOrElse(false) val variantEnabled = androidTestEnabled && - slackExtension.androidHandler.featuresHandler.androidTestAllowedVariants.orNull + foundryExtension.androidHandler.featuresHandler.androidTestAllowedVariants.orNull ?.contains(builder.name) ?: true builder.androidTest.enable = variantEnabled if (variantEnabled) { // Ensure there's a manifest file present and has its debuggable flag set correctly - if (slackProperties.strictMode && slackProperties.strictValidateAndroidTestManifest) { + if ( + foundryProperties.strictMode && foundryProperties.strictValidateAndroidTestManifest + ) { val manifest = project.file("src/androidTest/AndroidManifest.xml") check(manifest.exists()) { "AndroidManifest.xml is missing from src/androidTest. Ensure it exists and also is set to debuggable!" @@ -830,7 +832,7 @@ internal class StandardProjectConfigurations( } } configure { - slackExtension.setAndroidExtension(this) + foundryExtension.setAndroidExtension(this) commonBaseExtensionConfig(true) if (isLibraryWithVariants) { buildTypes { @@ -855,7 +857,7 @@ internal class StandardProjectConfigurations( // We don't set targetSdkVersion in libraries since this is controlled by the app. } - slackExtension.androidHandler.applyTo(project) + foundryExtension.androidHandler.applyTo(project) } } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/anvil/AnvilMode.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/anvil/AnvilMode.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/anvil/AnvilMode.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/anvil/AnvilMode.kt index c651dfaad..7c92a31a7 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/anvil/AnvilMode.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/anvil/AnvilMode.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.anvil +package foundry.gradle.anvil public enum class AnvilMode( public val useKspFactoryGen: Boolean, diff --git a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/ArtifactUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ArtifactUtil.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/artifacts/ArtifactUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ArtifactUtil.kt index bca8da244..73a6d6218 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/ArtifactUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ArtifactUtil.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.artifacts +package foundry.gradle.artifacts import org.gradle.api.Project import org.gradle.api.attributes.AttributeContainer diff --git a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/Publisher.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Publisher.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/artifacts/Publisher.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Publisher.kt index 694fac97d..630be934e 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/Publisher.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Publisher.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.artifacts +package foundry.gradle.artifacts import java.io.Serializable import org.gradle.api.NamedDomainObjectProvider diff --git a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/Resolver.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Resolver.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/artifacts/Resolver.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Resolver.kt index 47bb93b8f..fb3ff108b 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/Resolver.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/Resolver.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.artifacts +package foundry.gradle.artifacts import java.io.File import java.io.Serializable diff --git a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/SgpArtifact.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/SgpArtifact.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/artifacts/SgpArtifact.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/SgpArtifact.kt index fd99c2d2f..5dd7e934b 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/SgpArtifact.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/SgpArtifact.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.artifacts +package foundry.gradle.artifacts import org.gradle.api.attributes.Attribute diff --git a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/ShareableArtifact.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ShareableArtifact.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/artifacts/ShareableArtifact.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ShareableArtifact.kt index 828da7235..167ba4443 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/artifacts/ShareableArtifact.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/artifacts/ShareableArtifact.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.artifacts +package foundry.gradle.artifacts import java.io.Serializable import org.gradle.api.attributes.Attribute diff --git a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/ComputeAffectedProjectsTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/ComputeAffectedProjectsTask.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/avoidance/ComputeAffectedProjectsTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/ComputeAffectedProjectsTask.kt index 23458d60c..65384c866 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/ComputeAffectedProjectsTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/ComputeAffectedProjectsTask.kt @@ -13,12 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.avoidance +package foundry.gradle.avoidance import com.jraska.module.graph.DependencyGraph -import com.slack.sgp.common.SgpLogger -import com.slack.skippy.AffectedProjectsComputer -import com.slack.skippy.SkippyRunner +import foundry.common.FoundryLogger +import foundry.gradle.FoundryProperties +import foundry.gradle.property +import foundry.gradle.util.JsonTools +import foundry.gradle.util.gradle +import foundry.gradle.util.setDisallowChanges +import foundry.skippy.AffectedProjectsComputer +import foundry.skippy.SkippyRunner import java.io.ObjectInputStream import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.DelicateCoroutinesApi @@ -45,11 +50,6 @@ import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.UntrackedTask import org.gradle.api.tasks.options.Option -import slack.gradle.SlackProperties -import slack.gradle.property -import slack.gradle.util.JsonTools -import slack.gradle.util.gradle -import slack.gradle.util.setDisallowChanges /** * ### Usage @@ -129,7 +129,7 @@ public abstract class ComputeAffectedProjectsTask : DefaultTask() { val body: suspend (context: CoroutineContext) -> Unit = { context -> SkippyRunner( debug = debug.get(), - logger = SgpLogger.gradle(logger), + logger = FoundryLogger.gradle(logger), mergeOutputs = mergeOutputs.get(), outputsDir = outputsDir.get().asFile.toOkioPath(), androidTestProjects = androidTestProjects, @@ -162,12 +162,12 @@ public abstract class ComputeAffectedProjectsTask : DefaultTask() { fun register( rootProject: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, dependencyGraphProvider: Provider, androidTestProjectPathsProvider: Provider, ): TaskProvider { val extension = - rootProject.extensions.create("skippy", SkippyExtension::class.java, slackProperties) + rootProject.extensions.create("skippy", SkippyExtension::class.java, foundryProperties) return rootProject.tasks.register(NAME, ComputeAffectedProjectsTask::class.java) { debug.setDisallowChanges(extension.debug) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt similarity index 92% rename from slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt index 4c8b406e9..d292d73bf 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateAndroidTestProjectPathsTask.kt @@ -13,8 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.avoidance +package foundry.gradle.avoidance +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.register +import foundry.gradle.util.setDisallowChanges import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.file.ConfigurableFileCollection @@ -26,10 +30,6 @@ import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.register -import slack.gradle.util.setDisallowChanges /** * A simple task that writes a newline-delimited list of project paths that produce androidTest diff --git a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateDependencyGraphTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateDependencyGraphTask.kt similarity index 89% rename from slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateDependencyGraphTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateDependencyGraphTask.kt index fa097bd64..57ede52c5 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/GenerateDependencyGraphTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/GenerateDependencyGraphTask.kt @@ -13,10 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.avoidance +package foundry.gradle.avoidance import com.jraska.module.graph.DependencyGraph import com.jraska.module.graph.assertion.GradleDependencyGraphFactory +import foundry.gradle.FoundryProperties +import foundry.gradle.register +import foundry.gradle.util.setDisallowChanges import java.io.ObjectOutputStream import org.gradle.api.DefaultTask import org.gradle.api.Project @@ -27,9 +30,6 @@ import org.gradle.api.tasks.Input import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider -import slack.gradle.SlackProperties -import slack.gradle.register -import slack.gradle.util.setDisallowChanges /** A simple task that writes a serialized [dependencyGraph] to an [outputFile]. */ @CacheableTask @@ -67,12 +67,12 @@ internal abstract class GenerateDependencyGraphTask : DefaultTask() { fun register( rootProject: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, ): TaskProvider { val configurationsToLook by lazy { - val providedConfigs = slackProperties.affectedProjectConfigurations + val providedConfigs = foundryProperties.affectedProjectConfigurations providedConfigs?.splitToSequence(',')?.toSet()?.let { providedConfigSet -> - if (slackProperties.buildUponDefaultAffectedProjectConfigurations) { + if (foundryProperties.buildUponDefaultAffectedProjectConfigurations) { DEFAULT_CONFIGURATIONS + providedConfigSet } else { providedConfigSet diff --git a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyArtifacts.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyArtifacts.kt similarity index 81% rename from slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyArtifacts.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyArtifacts.kt index 3945b17f9..6faea3d7b 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyArtifacts.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyArtifacts.kt @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.avoidance +package foundry.gradle.avoidance +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.capitalizeUS +import foundry.gradle.tasks.SimpleFileProducerTask +import foundry.gradle.tasks.publishWith import org.gradle.api.Project -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.capitalizeUS -import slack.gradle.tasks.SimpleFileProducerTask -import slack.gradle.tasks.publishWith internal object SkippyArtifacts { fun publishSkippedTask(project: Project, name: String) { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyExtension.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyExtension.kt similarity index 82% rename from slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyExtension.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyExtension.kt index 62f669078..3c6804481 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/avoidance/SkippyExtension.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/avoidance/SkippyExtension.kt @@ -13,12 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.avoidance +package foundry.gradle.avoidance -import com.slack.skippy.AffectedProjectsDefaults.DEFAULT_INCLUDE_PATTERNS -import com.slack.skippy.AffectedProjectsDefaults.DEFAULT_NEVER_SKIP_PATTERNS -import com.slack.skippy.SkippyConfig -import com.slack.skippy.SkippyConfig.Companion.GLOBAL_TOOL +import foundry.gradle.FoundryExtensionMarker +import foundry.gradle.FoundryProperties +import foundry.gradle.property +import foundry.gradle.setProperty +import foundry.skippy.AffectedProjectsDefaults.DEFAULT_INCLUDE_PATTERNS +import foundry.skippy.AffectedProjectsDefaults.DEFAULT_NEVER_SKIP_PATTERNS +import foundry.skippy.SkippyConfig +import foundry.skippy.SkippyConfig.Companion.GLOBAL_TOOL import javax.inject.Inject import org.gradle.api.Action import org.gradle.api.Named @@ -27,18 +31,14 @@ import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Property import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.Input -import slack.gradle.SlackExtensionMarker -import slack.gradle.SlackProperties -import slack.gradle.property -import slack.gradle.setProperty -@SlackExtensionMarker +@FoundryExtensionMarker public abstract class SkippyExtension @Inject -constructor(slackProperties: SlackProperties, objects: ObjectFactory) { +constructor(foundryProperties: FoundryProperties, objects: ObjectFactory) { public val debug: Property = - objects.property().convention(slackProperties.debug) + objects.property().convention(foundryProperties.debug) public val mergeOutputs: Property = objects.property().convention(true) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/compose/ComposeUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/compose/ComposeUtil.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/compose/ComposeUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/compose/ComposeUtil.kt index 5450044f0..d8310ca75 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/compose/ComposeUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/compose/ComposeUtil.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.compose +package foundry.gradle.compose internal const val COMPOSE_COMPILER_OPTION_PREFIX = "plugin:androidx.compose.compiler.plugins.kotlin" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/configureBuildTags.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/configureBuildTags.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/configureBuildTags.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/configureBuildTags.kt index 3600931f2..77e901908 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/configureBuildTags.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/configureBuildTags.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.gradle.develocity.agent.gradle.adapters.BuildScanAdapter import org.gradle.api.Project diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyCollection.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyCollection.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyCollection.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyCollection.kt index e03bb890d..094336411 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyCollection.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyCollection.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies import kotlin.reflect.KProperty1 import kotlin.reflect.full.memberProperties diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDef.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDef.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDef.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDef.kt index 7ed51ee30..660bd171c 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDef.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDef.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies public typealias Notation = Map diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDelegate.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDelegate.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDelegate.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDelegate.kt index d8d0b98b1..1d54e55bf 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyDelegate.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyDelegate.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies import kotlin.properties.ReadOnlyProperty import kotlin.reflect.KProperty diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyGroup.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyGroup.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyGroup.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyGroup.kt index 4d805b8a9..71e7a96c2 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencyGroup.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencyGroup.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies import java.util.Locale diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencySet.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencySet.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencySet.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencySet.kt index 4890b4f53..62cd4e81f 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/DependencySet.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/DependencySet.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies public abstract class DependencySet : DependencyCollection { internal fun artifact( diff --git a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/SlackDependencies.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/FoundryDependencies.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/dependencies/SlackDependencies.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/FoundryDependencies.kt index 59ddcb165..6a6be0610 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/dependencies/SlackDependencies.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencies/FoundryDependencies.kt @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies -import slack.gradle.dependencies.SlackDependencies.artifact +import foundry.gradle.dependencies.FoundryDependencies.artifact /** - * Slack dependencies! Please keep these in order: + * Foundry dependencies! Please keep these in order: * - Properties before types * - Alphabetical order * @@ -75,7 +75,7 @@ import slack.gradle.dependencies.SlackDependencies.artifact * ``` */ @Suppress("MemberNameEqualsClassName") // Detekt is being silly here -internal object SlackDependencies : DependencySet() { +internal object FoundryDependencies : DependencySet() { internal val javaxInject: Any by artifact("javax.inject", "javax.inject") diff --git a/slack-plugin/src/main/kotlin/slack/dependencyrake/DependencyRake.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencyrake/DependencyRake.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/dependencyrake/DependencyRake.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencyrake/DependencyRake.kt index f639219bf..6801cd078 100644 --- a/slack-plugin/src/main/kotlin/slack/dependencyrake/DependencyRake.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/dependencyrake/DependencyRake.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.dependencyrake +package foundry.gradle.dependencyrake import com.autonomousapps.AbstractPostProcessingTask import com.autonomousapps.advice.PluginAdvice @@ -23,6 +23,11 @@ import com.autonomousapps.model.FlatCoordinates import com.autonomousapps.model.IncludedBuildCoordinates import com.autonomousapps.model.ModuleCoordinates import com.autonomousapps.model.ProjectCoordinates +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.convertProjectPathToAccessor +import foundry.gradle.property +import foundry.gradle.util.mapToBoolean import java.io.File import javax.inject.Inject import org.gradle.api.DefaultTask @@ -43,11 +48,6 @@ import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.UntrackedTask -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.convertProjectPathToAccessor -import slack.gradle.property -import slack.gradle.util.mapToBoolean private const val IGNORE_COMMENT = "// dependency-rake=ignore" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/develocity/DevelocityFinderApi.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/develocity/DevelocityFinderApi.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/develocity/DevelocityFinderApi.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/develocity/DevelocityFinderApi.kt index df6efe480..4c55d5d47 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/develocity/DevelocityFinderApi.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/develocity/DevelocityFinderApi.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.develocity +package foundry.gradle.develocity import com.gradle.develocity.agent.gradle.adapters.BuildResultAdapter import com.gradle.develocity.agent.gradle.adapters.BuildScanAdapter diff --git a/slack-plugin/src/main/kotlin/slack/gradle/kgp/KgpTasks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt similarity index 77% rename from slack-plugin/src/main/kotlin/slack/gradle/kgp/KgpTasks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt index b37ba98ee..ddd2e31ef 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/kgp/KgpTasks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt @@ -13,10 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.kgp +package foundry.gradle.kgp import com.android.build.api.AndroidPluginVersion import com.android.build.gradle.BaseExtension +import foundry.gradle.Configurations +import foundry.gradle.Configurations.isKnownConfiguration +import foundry.gradle.FoundryProperties +import foundry.gradle.FoundryTools +import foundry.gradle.asProvider +import foundry.gradle.configure +import foundry.gradle.lint.DetektTasks +import foundry.gradle.not +import foundry.gradle.onFirst +import foundry.gradle.util.configureKotlinCompilationTask +import foundry.gradle.util.setDisallowChanges import java.io.File import java.util.concurrent.atomic.AtomicBoolean import org.gradle.api.GradleException @@ -30,17 +41,6 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask import org.jetbrains.kotlin.gradle.plugin.KaptExtension -import slack.gradle.Configurations -import slack.gradle.Configurations.isKnownConfiguration -import slack.gradle.SlackProperties -import slack.gradle.SlackTools -import slack.gradle.asProvider -import slack.gradle.configure -import slack.gradle.lint.DetektTasks -import slack.gradle.not -import slack.gradle.onFirst -import slack.gradle.util.configureKotlinCompilationTask -import slack.gradle.util.setDisallowChanges /** Common configuration for Kotlin projects. */ internal object KgpTasks { @@ -60,15 +60,19 @@ internal object KgpTasks { private val FIXED_KOTLIN_OPTIONS_AGP_VERSION = AndroidPluginVersion(8, 8) @Suppress("LongMethod") - fun configure(project: Project, slackTools: SlackTools, slackProperties: SlackProperties) { + fun configure( + project: Project, + foundryTools: FoundryTools, + foundryProperties: FoundryProperties, + ) { project.pluginManager.onFirst(KGP_PLUGINS) { val kotlinExtension = project.kotlinExtension kotlinExtension.apply { - kotlinDaemonJvmArgs = slackTools.globalConfig.kotlinDaemonArgs - slackProperties.versions.jdk.ifPresent { jdkVersion -> + kotlinDaemonJvmArgs = foundryTools.globalConfig.kotlinDaemonArgs + foundryProperties.versions.jdk.ifPresent { jdkVersion -> jvmToolchain { languageVersion.set(JavaLanguageVersion.of(jdkVersion)) - slackTools.globalConfig.jvmVendor?.let(vendor::set) + foundryTools.globalConfig.jvmVendor?.let(vendor::set) } } } @@ -76,27 +80,29 @@ internal object KgpTasks { val isKotlinAndroid = kotlinExtension is KotlinAndroidProjectExtension val jvmTargetProvider = - slackProperties.versions.jvmTarget + foundryProperties.versions.jvmTarget .map { JvmTarget.fromTarget(it.toString()) } .asProvider(project.providers) - if (isKotlinAndroid && slackTools.agpHandler.agpVersion < FIXED_KOTLIN_OPTIONS_AGP_VERSION) { + if ( + isKotlinAndroid && foundryTools.agpHandler.agpVersion < FIXED_KOTLIN_OPTIONS_AGP_VERSION + ) { project.afterEvaluate { - configureKotlinCompileTasks(project, slackProperties, jvmTargetProvider, true) + configureKotlinCompileTasks(project, foundryProperties, jvmTargetProvider, true) } } else { - configureKotlinCompileTasks(project, slackProperties, jvmTargetProvider, isKotlinAndroid) + configureKotlinCompileTasks(project, foundryProperties, jvmTargetProvider, isKotlinAndroid) } - if (slackProperties.autoApplyDetekt) { + if (foundryProperties.autoApplyDetekt) { project.project.pluginManager.apply("io.gitlab.arturbosch.detekt") } } DetektTasks.configureSubProject( project.project, - slackProperties, - slackTools.globalConfig.affectedProjects, + foundryProperties, + foundryTools.globalConfig.affectedProjects, ) project.pluginManager.withPlugin("org.jetbrains.kotlin.android") { @@ -136,7 +142,7 @@ internal object KgpTasks { } // See doc on the property for details - if (!slackProperties.enableKaptInTests) { + if (!foundryProperties.enableKaptInTests) { project.tasks.configureEach { if (name.startsWith("kapt") && name.endsWith("TestKotlin", ignoreCase = true)) { enabled = false @@ -147,7 +153,7 @@ internal object KgpTasks { project.tasks.withType(KaptGenerateStubsTask::class.java).configureEach { compilerOptions { val zipped = - slackProperties.kotlinProgressive.zip(slackProperties.kaptLanguageVersion) { + foundryProperties.kotlinProgressive.zip(foundryProperties.kaptLanguageVersion) { progressive, kaptLanguageVersion -> if (kaptLanguageVersion != KotlinVersion.DEFAULT) { @@ -158,8 +164,8 @@ internal object KgpTasks { } progressiveMode.set(zipped) - if (slackProperties.kaptLanguageVersion.isPresent) { - languageVersion.set(slackProperties.kaptLanguageVersion) + if (foundryProperties.kaptLanguageVersion.isPresent) { + languageVersion.set(foundryProperties.kaptLanguageVersion) } } } @@ -168,25 +174,25 @@ internal object KgpTasks { private fun configureKotlinCompileTasks( project: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, jvmTargetProvider: Provider, isKotlinAndroid: Boolean, ) { project.tasks.configureKotlinCompilationTask { compilerOptions { - progressiveMode.set(slackProperties.kotlinProgressive) - optIn.addAll(slackProperties.kotlinOptIn) - if (slackProperties.kotlinLanguageVersionOverride.isPresent) { + progressiveMode.set(foundryProperties.kotlinProgressive) + optIn.addAll(foundryProperties.kotlinOptIn) + if (foundryProperties.kotlinLanguageVersionOverride.isPresent) { languageVersion.set( - slackProperties.kotlinLanguageVersionOverride.map(KotlinVersion::fromVersion) + foundryProperties.kotlinLanguageVersionOverride.map(KotlinVersion::fromVersion) ) } if (this@configureKotlinCompilationTask.name.contains("test", ignoreCase = true)) { - allWarningsAsErrors.setDisallowChanges(slackProperties.allowWarningsInTests.not()) + allWarningsAsErrors.setDisallowChanges(foundryProperties.allowWarningsInTests.not()) } else { - allWarningsAsErrors.setDisallowChanges(slackProperties.allowWarnings.not()) + allWarningsAsErrors.setDisallowChanges(foundryProperties.allowWarnings.not()) } - freeCompilerArgs.addAll(slackProperties.kotlinFreeArgs) + freeCompilerArgs.addAll(foundryProperties.kotlinFreeArgs) if (this is KotlinJvmCompilerOptions) { jvmTarget.set(jvmTargetProvider) @@ -194,7 +200,7 @@ internal object KgpTasks { // Potentially useful for static analysis or annotation processors javaParameters.set(true) - freeCompilerArgs.addAll(slackProperties.kotlinJvmFreeArgs) + freeCompilerArgs.addAll(foundryProperties.kotlinJvmFreeArgs) // Set the module name to a dashified version of the project path to ensure uniqueness // in created .kotlin_module files diff --git a/slack-plugin/src/main/kotlin/slack/gradle/lint/DetektTasks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/DetektTasks.kt similarity index 78% rename from slack-plugin/src/main/kotlin/slack/gradle/lint/DetektTasks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/DetektTasks.kt index 76da1aca8..d7c906aab 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/lint/DetektTasks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/DetektTasks.kt @@ -13,8 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.lint +package foundry.gradle.lint +import foundry.gradle.FoundryProperties +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.avoidance.SkippyArtifacts +import foundry.gradle.configure +import foundry.gradle.configureEach +import foundry.gradle.isRootProject +import foundry.gradle.register +import foundry.gradle.tasks.DetektDownloadTask +import foundry.gradle.tasks.SimpleFileProducerTask +import foundry.gradle.tasks.SimpleFilesConsumerTask +import foundry.gradle.tasks.publish +import foundry.gradle.util.setDisallowChanges +import foundry.gradle.util.sneakyNull import io.gitlab.arturbosch.detekt.Detekt import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask import io.gitlab.arturbosch.detekt.DetektPlugin @@ -23,30 +38,15 @@ import org.gradle.api.Project import org.gradle.api.file.Directory import org.gradle.api.specs.Spec import org.gradle.language.base.plugins.LifecycleBasePlugin -import slack.gradle.SlackProperties -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.avoidance.SkippyArtifacts -import slack.gradle.configure -import slack.gradle.configureEach -import slack.gradle.isRootProject -import slack.gradle.register -import slack.gradle.tasks.DetektDownloadTask -import slack.gradle.tasks.SimpleFileProducerTask -import slack.gradle.tasks.SimpleFilesConsumerTask -import slack.gradle.tasks.publish -import slack.gradle.util.setDisallowChanges -import slack.gradle.util.sneakyNull internal object DetektTasks { private const val GLOBAL_CI_DETEKT_TASK_NAME = "globalCiDetekt" private const val CI_DETEKT_TASK_NAME = "ciDetekt" private const val LOG = "SlackDetekt:" - fun configureRootProject(project: Project, slackProperties: SlackProperties) { + fun configureRootProject(project: Project, foundryProperties: FoundryProperties) { // Add detekt download task - slackProperties.versions.detekt?.let { detektVersion -> + foundryProperties.versions.detekt?.let { detektVersion -> project.tasks.register("updateDetekt") { version.setDisallowChanges(detektVersion) outputFile.setDisallowChanges(project.layout.projectDirectory.file("config/bin/detekt")) @@ -64,13 +64,13 @@ internal object DetektTasks { fun configureSubProject( project: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, ) { check(!project.isRootProject) { "This method should only be called for subprojects, not the root project." } - if (slackProperties.versions.detekt == null) return + if (foundryProperties.versions.detekt == null) return project.pluginManager.withPlugin("io.gitlab.arturbosch.detekt") { project.logger.debug("$LOG Configuring Detekt tasks for project ${project.path}...") @@ -79,9 +79,9 @@ internal object DetektTasks { project.configure { buildUponDefaultConfig = true toolVersion = - slackProperties.versions.detekt ?: error("missing 'detekt' version in version catalog") + foundryProperties.versions.detekt ?: error("missing 'detekt' version in version catalog") project.rootProject.file("config/detekt/detekt.yml") - slackProperties.detektConfigs?.let { configs -> + foundryProperties.detektConfigs?.let { configs -> for (configFile in configs) { config.from(project.rootProject.file(configFile)) } @@ -91,7 +91,7 @@ internal object DetektTasks { // default to using the project's "detekt-baseline.xml" file if available, which we don't // want. baseline = - slackProperties.detektBaselineFileName?.let { baselineFile -> + foundryProperties.detektBaselineFileName?.let { baselineFile -> project.layout.projectDirectory.file(baselineFile).asFile } } @@ -101,7 +101,7 @@ internal object DetektTasks { Publisher.interProjectPublisher(project, SgpArtifact.SKIPPY_DETEKT) } else { val log = "$LOG Skipping ${project.path}:detekt because it is not affected." - if (slackProperties.debug) { + if (foundryProperties.debug) { project.logger.lifecycle(log) } else { project.logger.debug(log) @@ -112,13 +112,13 @@ internal object DetektTasks { // Duplicate configs due to https://github.com/detekt/detekt/issues/5940 project.tasks.configureEach { - this.jvmTarget = slackProperties.versions.jvmTarget.get().toString() + this.jvmTarget = foundryProperties.versions.jvmTarget.get().toString() exclude("**/build/**") // Cannot use setDisallowChanges because this property is set without a convention in Detekt jdkHome.set(sneakyNull()) } project.tasks.configureEach { - this.jvmTarget = slackProperties.versions.jvmTarget.get().toString() + this.jvmTarget = foundryProperties.versions.jvmTarget.get().toString() exclude("**/build/**") // Cannot use setDisallowChanges because this property is set without a convention in Detekt jdkHome.set(sneakyNull()) @@ -127,7 +127,7 @@ internal object DetektTasks { // Wire up to the global task // We use a filter on Detekt tasks because not every project actually makes one! val taskSpec = - if (slackProperties.enableFullDetekt) { + if (foundryProperties.enableFullDetekt) { // Depend on all Detekt tasks with type resolution // The "detekt" task is excluded because it is a plain, non-type-resolution version Spec { it != DetektPlugin.DETEKT_TASK_NAME } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/lint/LintTasks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/LintTasks.kt similarity index 90% rename from slack-plugin/src/main/kotlin/slack/gradle/lint/LintTasks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/LintTasks.kt index accc2b0f8..5dbb6b293 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/lint/LintTasks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/lint/LintTasks.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.lint +package foundry.gradle.lint import com.android.build.api.dsl.Lint import com.android.build.api.variant.ApplicationAndroidComponentsExtension @@ -23,6 +23,19 @@ import com.android.build.gradle.TestPlugin import com.android.build.gradle.internal.lint.AndroidLintAnalysisTask import com.android.build.gradle.internal.lint.LintModelWriterTask import com.android.build.gradle.internal.lint.VariantInputs +import foundry.gradle.FoundryProperties +import foundry.gradle.androidExtension +import foundry.gradle.androidExtensionNullable +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.avoidance.SkippyArtifacts +import foundry.gradle.capitalizeUS +import foundry.gradle.getByType +import foundry.gradle.multiplatformExtension +import foundry.gradle.tasks.SimpleFileProducerTask +import foundry.gradle.tasks.SimpleFilesConsumerTask +import foundry.gradle.tasks.publish import java.lang.reflect.Field import org.gradle.api.Action import org.gradle.api.GradleException @@ -36,19 +49,6 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.tooling.core.withClosure -import slack.gradle.SlackProperties -import slack.gradle.androidExtension -import slack.gradle.androidExtensionNullable -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.avoidance.SkippyArtifacts -import slack.gradle.capitalizeUS -import slack.gradle.getByType -import slack.gradle.multiplatformExtension -import slack.gradle.tasks.SimpleFileProducerTask -import slack.gradle.tasks.SimpleFilesConsumerTask -import slack.gradle.tasks.publish /** * Common configuration for Android lint in projects. @@ -77,13 +77,13 @@ internal object LintTasks { fun configureSubProject( project: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, onProjectSkipped: (String, String) -> Unit, ) { project.log("Configuring lint tasks for project ${project.path}") // Projects can opt out of creating the task with this property. - val enabled = slackProperties.ciLintEnabled + val enabled = foundryProperties.ciLintEnabled if (!enabled) { project.log("Skipping creation of \"$CI_LINT_TASK_NAME\" task") return @@ -94,14 +94,14 @@ internal object LintTasks { is AppPlugin, is LibraryPlugin -> project.configureAndroidProjectForLint( - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, ) is TestPlugin -> { - if (slackProperties.enableLintInAndroidTestProjects) { + if (foundryProperties.enableLintInAndroidTestProjects) { project.configureAndroidProjectForLint( - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, ) @@ -113,7 +113,7 @@ internal object LintTasks { is JavaPlugin -> if (project.multiplatformExtension == null) { project.configureNonAndroidProjectForLint( - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, ) @@ -128,7 +128,7 @@ internal object LintTasks { !project.plugins.hasPlugin(LibraryPlugin::class.java) ) { project.configureNonAndroidProjectForLint( - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, ) @@ -140,13 +140,13 @@ internal object LintTasks { /** Android Lint configuration entry point for Android projects. */ private fun Project.configureAndroidProjectForLint( - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, onProjectSkipped: (String, String) -> Unit, ) = androidExtension.finalizeDsl { extension -> - slackProperties.lintVersionOverride?.let { - val lintVersion = slackProperties.versions.lookupVersion(it) + foundryProperties.lintVersionOverride?.let { + val lintVersion = foundryProperties.versions.lookupVersion(it) extension.experimentalProperties["android.experimental.lint.version"] = lintVersion } @@ -159,7 +159,7 @@ internal object LintTasks { log("Creating ciLint task") val ciLintTask = createCiLintTask(project) - val ciLintVariants = slackProperties.ciLintVariants + val ciLintVariants = foundryProperties.ciLintVariants if (ciLintVariants != null) { ciLintTask.configure { // Even if the task isn't created yet, we can do this by name alone and it will resolve at @@ -185,16 +185,16 @@ internal object LintTasks { configureLint( extension.lint, ciLintTask, - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, - slackProperties.requireAndroidSdkProperties(), + foundryProperties.requireAndroidSdkProperties(), ) } /** Android Lint configuration entry point for non-Android projects. */ private fun Project.configureNonAndroidProjectForLint( - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, onProjectSkipped: (String, String) -> Unit, ) = afterEvaluate { @@ -228,7 +228,7 @@ internal object LintTasks { configureLint( extensions.getByType(), ciLint, - slackProperties, + foundryProperties, affectedProjects, onProjectSkipped, ) @@ -237,20 +237,20 @@ internal object LintTasks { private fun Project.configureLint( lint: Lint, ciLint: TaskProvider, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, onProjectSkipped: (String, String) -> Unit, - androidSdkVersions: SlackProperties.AndroidSdkProperties? = null, + androidSdkVersions: FoundryProperties.AndroidSdkProperties? = null, ) { val isMultiplatform = multiplatformExtension != null - slackProperties.versions.bundles.commonLint.ifPresent { dependencies.add("lintChecks", it) } + foundryProperties.versions.bundles.commonLint.ifPresent { dependencies.add("lintChecks", it) } if (affectedProjects != null && path !in affectedProjects) { val taskPath = "${path}:$CI_LINT_TASK_NAME" val log = "Skipping $taskPath because it is not affected." onProjectSkipped(GLOBAL_CI_LINT_TASK_NAME, taskPath) - if (slackProperties.debug) { + if (foundryProperties.debug) { log(log) } else { log(log) @@ -266,11 +266,11 @@ internal object LintTasks { // Lint is configured entirely in finalizeDsl so that individual projects cannot easily // disable individual checks in the DSL for any reason. lint.apply { - ignoreWarnings = slackProperties.lintErrorsOnly + ignoreWarnings = foundryProperties.lintErrorsOnly // Run lint on tests. Uses top-level lint.xml to specify checks. - ignoreTestSources = slackProperties.lintIgnoreTestSources - checkTestSources = slackProperties.lintCheckTestSources + ignoreTestSources = foundryProperties.lintIgnoreTestSources + checkTestSources = foundryProperties.lintCheckTestSources textReport = true xmlReport = false @@ -290,7 +290,7 @@ internal object LintTasks { // We run lint on each library, so we don't want transitive checking of each dependency checkDependencies = false - if (!slackProperties.isTestLibrary) { + if (!foundryProperties.isTestLibrary) { fatal += "VisibleForTests" } @@ -339,7 +339,7 @@ internal object LintTasks { lintConfig = rootProject.layout.projectDirectory.file("config/lint/lint.xml").asFile baseline = - slackProperties.lintBaselineFileName?.let { + foundryProperties.lintBaselineFileName?.let { project.layout.projectDirectory.file(it).asFile } } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/permissionchecks/PermissionChecks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/permissionchecks/PermissionChecks.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/permissionchecks/PermissionChecks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/permissionchecks/PermissionChecks.kt index 18a3f497d..e40a2e091 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/permissionchecks/PermissionChecks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/permissionchecks/PermissionChecks.kt @@ -13,11 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.permissionchecks +package foundry.gradle.permissionchecks import com.android.build.api.artifact.SingleArtifact import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.api.variant.ApplicationVariant +import foundry.gradle.agp.PermissionAllowlistConfigurer +import foundry.gradle.agp.VariantConfiguration +import foundry.gradle.configure +import foundry.gradle.newInstance +import foundry.gradle.tasks.CheckManifestPermissionsTask import java.util.LinkedHashSet import java.util.Locale import javax.inject.Inject @@ -28,11 +33,6 @@ import org.gradle.api.file.RegularFileProperty import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Provider import org.gradle.api.tasks.TaskProvider -import slack.gradle.agp.PermissionAllowlistConfigurer -import slack.gradle.agp.VariantConfiguration -import slack.gradle.configure -import slack.gradle.newInstance -import slack.gradle.tasks.CheckManifestPermissionsTask // TODO simplify this now that it's no longer in AgpHandler internal object PermissionChecks { diff --git a/slack-plugin/src/main/kotlin/slack/stats/LanguageStats.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LanguageStats.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/stats/LanguageStats.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LanguageStats.kt index 188cf8e42..d33e41709 100644 --- a/slack-plugin/src/main/kotlin/slack/stats/LanguageStats.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LanguageStats.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.stats +package foundry.gradle.stats import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/slack-plugin/src/main/kotlin/slack/stats/LocTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LocTask.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/stats/LocTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LocTask.kt index 10e93382b..4197ecbed 100644 --- a/slack-plugin/src/main/kotlin/slack/stats/LocTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/LocTask.kt @@ -13,10 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.stats +package foundry.gradle.stats import com.squareup.moshi.JsonClass import com.squareup.moshi.adapter +import foundry.gradle.stats.LocTask.LocData +import foundry.gradle.util.JsonTools import java.io.File import okio.buffer import okio.sink @@ -33,8 +35,6 @@ import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.SkipWhenEmpty import org.gradle.api.tasks.TaskAction -import slack.gradle.util.JsonTools -import slack.stats.LocTask.LocData /** * A simple task that counts Lines of Code (LoC) for Java, Kotlin, and XML files in a given set of @@ -94,7 +94,11 @@ internal abstract class LocTask : DefaultTask() { companion object { internal val EXTENSION_TO_PROCESSOR = - mapOf("kt" to ::processJvmFile, "java" to ::processJvmFile, "xml" to ::processXmlFile) + mapOf( + "kt" to Companion::processJvmFile, + "java" to Companion::processJvmFile, + "xml" to Companion::processXmlFile, + ) internal val EXTENSION_TO_LANGUAGE = mapOf("kt" to "Kotlin", "java" to "Java", "xml" to "XML") diff --git a/slack-plugin/src/main/kotlin/slack/stats/ModuleStats.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/ModuleStats.kt similarity index 94% rename from slack-plugin/src/main/kotlin/slack/stats/ModuleStats.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/ModuleStats.kt index ba142dfd2..b9a349157 100644 --- a/slack-plugin/src/main/kotlin/slack/stats/ModuleStats.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/stats/ModuleStats.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.stats +package foundry.gradle.stats import app.cash.sqldelight.gradle.GenerateSchemaTask import app.cash.sqldelight.gradle.SqlDelightTask @@ -22,6 +22,21 @@ import com.google.devtools.ksp.gradle.KspTask import com.squareup.moshi.JsonClass import com.squareup.moshi.adapter import com.squareup.wire.gradle.WireTask +import foundry.gradle.FoundryExtension +import foundry.gradle.FoundryProperties +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.capitalizeUS +import foundry.gradle.configure +import foundry.gradle.convertProjectPathToAccessor +import foundry.gradle.dependsOn +import foundry.gradle.getByType +import foundry.gradle.namedLazy +import foundry.gradle.register +import foundry.gradle.util.JsonTools +import foundry.gradle.util.mapToBoolean +import foundry.gradle.util.setDisallowChanges import java.io.File import java.util.concurrent.atomic.AtomicBoolean import javax.inject.Inject @@ -53,21 +68,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jgrapht.alg.scoring.BetweennessCentrality import org.jgrapht.graph.DefaultEdge import org.jgrapht.graph.DirectedAcyclicGraph -import slack.gradle.SlackExtension -import slack.gradle.SlackProperties -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.capitalizeUS -import slack.gradle.configure -import slack.gradle.convertProjectPathToAccessor -import slack.gradle.dependsOn -import slack.gradle.getByType -import slack.gradle.namedLazy -import slack.gradle.register -import slack.gradle.util.JsonTools -import slack.gradle.util.mapToBoolean -import slack.gradle.util.setDisallowChanges public object ModuleStatsTasks { public const val AGGREGATOR_NAME: String = "aggregateModuleStats" @@ -78,8 +78,8 @@ public object ModuleStatsTasks { private fun Project.includeGenerated() = providers.environmentVariable("MODULE_SCORE_INCLUDE_GENERATED").mapToBoolean().orElse(true) - internal fun configureRoot(rootProject: Project, slackProperties: SlackProperties) { - if (!slackProperties.modScoreGlobalEnabled) return + internal fun configureRoot(rootProject: Project, foundryProperties: FoundryProperties) { + if (!foundryProperties.modScoreGlobalEnabled) return val includeGenerated = rootProject.includeGenerated() val resolver = Resolver.interProjectResolver(rootProject, SgpArtifact.MOD_STATS_STATS_FILES) @@ -105,14 +105,14 @@ public object ModuleStatsTasks { return MAIN_SRC_DIRS.firstOrNull { File(this@findMainSourceDir, it).exists() } } - internal fun configureSubproject(project: Project, slackProperties: SlackProperties) { - if (!slackProperties.modScoreGlobalEnabled) return + internal fun configureSubproject(project: Project, foundryProperties: FoundryProperties) { + if (!foundryProperties.modScoreGlobalEnabled) return if (!project.buildFile.exists()) return - if (slackProperties.modScoreIgnore) return + if (foundryProperties.modScoreIgnore) return // Don't run on the platform project, it's a special case - if (project.path == slackProperties.platformProjectPath) return + if (project.path == foundryProperties.platformProjectPath) return val mainSrcDir = File(project.projectDir, "src").findMainSourceDir() @@ -225,7 +225,7 @@ public object ModuleStatsTasks { // } } withPlugin("com.android.library") { - val multiVariant = slackProperties.libraryWithVariants + val multiVariant = foundryProperties.libraryWithVariants addCollectorTag(ModuleStatsCollectorTask.TAG_ANDROID) if (multiVariant) { addCollectorTag(ModuleStatsCollectorTask.TAG_VARIANTS) @@ -266,7 +266,7 @@ public object ModuleStatsTasks { // TODO would be nice if we could drop autovalue into this project.afterEvaluate { - val extension = project.extensions.getByType() + val extension = project.extensions.getByType() val daggerConfig = extension.featuresHandler.daggerHandler.computeConfig( extension.featuresHandler.testFixturesUseDagger.getOrElse(false) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/AndroidTestApksTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/AndroidTestApksTask.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/AndroidTestApksTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/AndroidTestApksTask.kt index c1a9b0722..26c0615d8 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/AndroidTestApksTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/AndroidTestApksTask.kt @@ -13,8 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.register +import foundry.gradle.util.setDisallowChanges import kotlin.io.path.ExperimentalPathApi import kotlin.io.path.absolutePathString import kotlin.io.path.extension @@ -30,10 +34,6 @@ import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity.RELATIVE import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.register -import slack.gradle.util.setDisallowChanges /** * A task that aggregates all the androidTest apk paths and writes them (newline-delimited) to an diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDependencyCheckTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDependencyCheckTask.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDependencyCheckTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDependencyCheckTask.kt index b9a006c03..2a0bfa5c9 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDependencyCheckTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDependencyCheckTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import com.android.build.gradle.internal.publishing.AndroidArtifacts import com.android.build.gradle.internal.publishing.AndroidArtifacts.ArtifactType diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDownloadTask.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDownloadTask.kt index b282b0ed1..3255b25b6 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BaseDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BaseDownloadTask.kt @@ -13,8 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks +import foundry.gradle.agp.VersionNumber import java.io.IOException import javax.inject.Inject import okhttp3.OkHttpClient @@ -28,7 +29,6 @@ import org.gradle.api.tasks.Input import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction import org.gradle.internal.logging.progress.ProgressLoggerFactory -import slack.gradle.agp.VersionNumber /** * Downloads a binary from its GitHub releases. diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BootstrapTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BootstrapTask.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/BootstrapTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BootstrapTask.kt index 36212e517..cec24d6c8 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/BootstrapTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/BootstrapTask.kt @@ -13,8 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks - +package foundry.gradle.tasks + +import foundry.gradle.FoundryProperties +import foundry.gradle.isCi +import foundry.gradle.isRootProject +import foundry.gradle.listProperty +import foundry.gradle.property +import foundry.gradle.register +import foundry.gradle.serviceOf +import foundry.gradle.tasks.BootstrapPropertiesMode.APPEND +import foundry.gradle.tasks.BootstrapPropertiesMode.LOG +import foundry.gradle.tasks.BootstrapUtils.DaemonArgsProvider +import foundry.gradle.tasks.BootstrapUtils.computeDaemonArgs +import foundry.gradle.util.mapToInt +import foundry.gradle.util.setDisallowChanges import java.io.File import java.util.Locale import java.util.Properties @@ -51,19 +64,6 @@ import org.gradle.jvm.toolchain.JvmVendorSpec import oshi.SystemInfo import slack.cli.AppleSiliconCompat import slack.cli.AppleSiliconCompat.isMacOS -import slack.gradle.SlackProperties -import slack.gradle.isCi -import slack.gradle.isRootProject -import slack.gradle.listProperty -import slack.gradle.property -import slack.gradle.register -import slack.gradle.serviceOf -import slack.gradle.tasks.BootstrapPropertiesMode.APPEND -import slack.gradle.tasks.BootstrapPropertiesMode.LOG -import slack.gradle.tasks.BootstrapUtils.DaemonArgsProvider -import slack.gradle.tasks.BootstrapUtils.computeDaemonArgs -import slack.gradle.util.mapToInt -import slack.gradle.util.setDisallowChanges /** * Other bootstrap tasks can be finalized by this and/or depend on its outputs by implementing this @@ -249,7 +249,7 @@ constructor(objects: ObjectFactory, providers: ProviderFactory) : DefaultTask() mutableMapOf( "org.gradle.jvmargs" to "-Duser.country=US -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError ${gradleArgs.args.joinToString(" ")}", - SlackProperties.KOTLIN_DAEMON_ARGS_KEY to + FoundryProperties.KOTLIN_DAEMON_ARGS_KEY to "-Duser.country=US -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError ${kotlinArgs.args.joinToString(" ")}", ) @@ -424,9 +424,9 @@ internal object BootstrapUtils { customCoreMultiplier = providers.environmentVariable("BOOTSTRAP_CORE_MULTIPLIER"), gradleMemoryPercentage = providers.environmentVariable("GRADLE_MEMORY_PERCENT"), minGradleXmx = - providers.gradleProperty(SlackProperties.MIN_GRADLE_XMX).mapToInt().orElse(1), + providers.gradleProperty(FoundryProperties.MIN_GRADLE_XMX).mapToInt().orElse(1), minGradleXms = - providers.gradleProperty(SlackProperties.MIN_GRADLE_XMS).mapToInt().orElse(1), + providers.gradleProperty(FoundryProperties.MIN_GRADLE_XMS).mapToInt().orElse(1), extraJvmArgs = providers.provider { emptyList() }, garbageCollector = providers.environmentVariable("BOOTSTRAP_GC"), ) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckDependencyVersionsTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckDependencyVersionsTask.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckDependencyVersionsTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckDependencyVersionsTask.kt index e5e6ce602..3bfcf04e6 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckDependencyVersionsTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckDependencyVersionsTask.kt @@ -13,8 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks +import foundry.gradle.capitalizeUS +import foundry.gradle.getVersionsCatalog +import foundry.gradle.register +import foundry.gradle.util.setDisallowChanges import org.gradle.api.GradleException import org.gradle.api.Project import org.gradle.api.artifacts.Configuration @@ -24,10 +28,6 @@ import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.Input import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskProvider -import slack.gradle.capitalizeUS -import slack.gradle.getVersionsCatalog -import slack.gradle.register -import slack.gradle.util.setDisallowChanges /** * A task that checks expected versions (from [mappedIdentifiersToVersions]) against runtime diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckManifestPermissionsTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckManifestPermissionsTask.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckManifestPermissionsTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckManifestPermissionsTask.kt index 75005133f..da4b75d64 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/CheckManifestPermissionsTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/CheckManifestPermissionsTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import java.io.File import javax.xml.parsers.DocumentBuilderFactory diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/DetektDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/DetektDownloadTask.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/DetektDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/DetektDownloadTask.kt index f806545d6..01d901228 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/DetektDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/DetektDownloadTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import org.gradle.api.tasks.UntrackedTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/FileTasks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/FileTasks.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/FileTasks.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/FileTasks.kt index 6a9e7b2d8..6c1193d9f 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/FileTasks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/FileTasks.kt @@ -13,8 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks +import foundry.gradle.artifacts.Publisher +import foundry.gradle.registerOrConfigure import java.io.File import org.gradle.api.Action import org.gradle.api.DefaultTask @@ -31,8 +33,6 @@ import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider -import slack.gradle.artifacts.Publisher -import slack.gradle.registerOrConfigure @CacheableTask internal abstract class SimpleFileProducerTask : DefaultTask() { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/GjfDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/GjfDownloadTask.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/GjfDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/GjfDownloadTask.kt index fbd5560fd..ef4c6d498 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/GjfDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/GjfDownloadTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import org.gradle.api.tasks.UntrackedTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/InstallCommitHooksTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/InstallCommitHooksTask.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/InstallCommitHooksTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/InstallCommitHooksTask.kt index c55410104..17472cd67 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/InstallCommitHooksTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/InstallCommitHooksTask.kt @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import com.google.common.io.Resources +import foundry.gradle.setProperty import java.io.File import javax.inject.Inject import org.gradle.api.DefaultTask @@ -29,8 +30,6 @@ import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.UntrackedTask -import slack.gradle.register -import slack.gradle.setProperty @UntrackedTask(because = "This is run on-demand") public abstract class InstallCommitHooksTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/KtLintDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtLintDownloadTask.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/KtLintDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtLintDownloadTask.kt index de0238f14..9ce664045 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/KtLintDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtLintDownloadTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import org.gradle.api.tasks.UntrackedTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/KtfmtDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtfmtDownloadTask.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/KtfmtDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtfmtDownloadTask.kt index 4c0ab840f..553da4abf 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/KtfmtDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/KtfmtDownloadTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import org.gradle.api.tasks.UntrackedTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/PrintFossaDependencies.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/PrintFossaDependencies.kt similarity index 94% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/PrintFossaDependencies.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/PrintFossaDependencies.kt index 037ba10b6..e70dfd96e 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/PrintFossaDependencies.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/PrintFossaDependencies.kt @@ -13,17 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks +import foundry.gradle.capitalizeUS +import foundry.gradle.register +import foundry.gradle.util.setDisallowChanges import org.gradle.api.Project import org.gradle.api.artifacts.Configuration import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskProvider -import slack.gradle.capitalizeUS -import slack.gradle.register -import slack.gradle.util.setDisallowChanges /** * A task that writes runtime dependency info found in [identifiersToVersions]. diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/ProgressResponseBody.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/ProgressResponseBody.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/ProgressResponseBody.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/ProgressResponseBody.kt index 0aca0decc..24dcf7d03 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/ProgressResponseBody.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/ProgressResponseBody.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import java.util.Locale import okhttp3.Interceptor diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/SortDependenciesDownloadTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/SortDependenciesDownloadTask.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/SortDependenciesDownloadTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/SortDependenciesDownloadTask.kt index c73d95326..1db7b80f0 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/SortDependenciesDownloadTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/SortDependenciesDownloadTask.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import org.gradle.api.tasks.UntrackedTask diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/DependencyJar.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/DependencyJar.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/DependencyJar.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/DependencyJar.kt index 78f53ad2f..286bb55b6 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/DependencyJar.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/DependencyJar.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks.robolectric +package foundry.gradle.tasks.robolectric import java.io.Serializable diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/Sdk.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/Sdk.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/Sdk.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/Sdk.kt index b8a6664eb..9a58e278f 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/Sdk.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/Sdk.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks.robolectric +package foundry.gradle.tasks.robolectric /** * Represents a unique build of the Android SDK. diff --git a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt similarity index 93% rename from slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt index d99cf8a8e..45fbb8e47 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/tasks/robolectric/UpdateRobolectricJarsTask.kt @@ -13,8 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks.robolectric +package foundry.gradle.tasks.robolectric +import foundry.gradle.FoundryProperties +import foundry.gradle.register +import foundry.gradle.robolectricJars +import foundry.gradle.tasks.BootstrapTask +import foundry.gradle.util.setDisallowChanges import java.io.File import org.gradle.api.DefaultTask import org.gradle.api.Project @@ -24,11 +29,6 @@ import org.gradle.api.file.DirectoryProperty import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Provider import org.gradle.api.tasks.* -import slack.gradle.SlackProperties -import slack.gradle.register -import slack.gradle.robolectricJars -import slack.gradle.tasks.BootstrapTask -import slack.gradle.util.setDisallowChanges /** * Updates the Robolectric android-all jars. Is declared as a task dependency of all @@ -97,11 +97,11 @@ internal abstract class UpdateRobolectricJarsTask : DefaultTask(), BootstrapTask fun register( project: Project, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, ): TaskProvider { return project.tasks.register(NAME) { - val iVersion = slackProperties.robolectricIVersion - for (sdkInt in slackProperties.robolectricTestSdks) { + val iVersion = foundryProperties.robolectricIVersion + for (sdkInt in foundryProperties.robolectricTestSdks) { // Create a new configuration val sdk = sdkFor(sdkInt, iVersion) // Add relevant dep diff --git a/slack-plugin/src/main/kotlin/slack/unittest/UnitTests.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/unittest/UnitTests.kt similarity index 81% rename from slack-plugin/src/main/kotlin/slack/unittest/UnitTests.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/unittest/UnitTests.kt index 1d1cd8ce8..44857ea87 100644 --- a/slack-plugin/src/main/kotlin/slack/unittest/UnitTests.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/unittest/UnitTests.kt @@ -13,8 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.unittest +package foundry.gradle.unittest +import foundry.gradle.FoundryProperties +import foundry.gradle.artifacts.Publisher +import foundry.gradle.artifacts.Resolver +import foundry.gradle.artifacts.SgpArtifact +import foundry.gradle.avoidance.SkippyArtifacts +import foundry.gradle.ciUnitTestAndroidVariant +import foundry.gradle.configureEach +import foundry.gradle.isActionsCi +import foundry.gradle.isCi +import foundry.gradle.tasks.SimpleFileProducerTask +import foundry.gradle.tasks.SimpleFilesConsumerTask +import foundry.gradle.tasks.publish +import foundry.gradle.util.setDisallowChanges +import foundry.gradle.util.synchronousEnvProperty import kotlin.math.max import kotlin.math.roundToInt import org.gradle.api.Project @@ -23,20 +37,6 @@ import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.develocity import org.gradle.kotlin.dsl.retry import org.gradle.language.base.plugins.LifecycleBasePlugin -import slack.gradle.SlackProperties -import slack.gradle.artifacts.Publisher -import slack.gradle.artifacts.Resolver -import slack.gradle.artifacts.SgpArtifact -import slack.gradle.avoidance.SkippyArtifacts -import slack.gradle.ciUnitTestAndroidVariant -import slack.gradle.configureEach -import slack.gradle.isActionsCi -import slack.gradle.isCi -import slack.gradle.tasks.SimpleFileProducerTask -import slack.gradle.tasks.SimpleFilesConsumerTask -import slack.gradle.tasks.publish -import slack.gradle.util.setDisallowChanges -import slack.gradle.util.synchronousEnvProperty /** * This code creates a task named "ciUnitTest" in the project it is applied to, which depends on the @@ -62,8 +62,8 @@ internal object UnitTests { private const val COMPILE_CI_UNIT_TEST_NAME = "compileCiUnitTest" private const val LOG = "SlackUnitTests:" - private fun maxForks(slackProperties: SlackProperties): Int { - val multiplier = slackProperties.unitTestParallelismMultiplier + private fun maxForks(foundryProperties: FoundryProperties): Int { + val multiplier = foundryProperties.unitTestParallelismMultiplier return max((Runtime.getRuntime().availableProcessors() * multiplier).roundToInt(), 1) } @@ -81,24 +81,25 @@ internal object UnitTests { fun configureSubproject( project: Project, pluginId: String, - slackProperties: SlackProperties, + foundryProperties: FoundryProperties, affectedProjects: Set?, onProjectSkipped: (String, String) -> Unit, ) { // Projects can opt out of creating the task with this property. // android test projects don't support unit tests - val enabled = slackProperties.ciUnitTestEnabled && pluginId != "com.android.test" + val enabled = foundryProperties.ciUnitTestEnabled && pluginId != "com.android.test" if (!enabled) { project.logger.debug("$LOG Skipping creation of \"$CI_UNIT_TEST_TASK_NAME\" task") return } - slackProperties.versions.bundles.commonTest.ifPresent { + foundryProperties.versions.bundles.commonTest.ifPresent { project.dependencies.add("testImplementation", it) } if ( - slackProperties.ciUnitTestEnableKover && project.path != slackProperties.platformProjectPath + foundryProperties.ciUnitTestEnableKover && + project.path != foundryProperties.platformProjectPath ) { project.pluginManager.apply("org.jetbrains.kotlinx.kover") } @@ -110,7 +111,7 @@ internal object UnitTests { val taskPath = "${project.path}:$CI_UNIT_TEST_TASK_NAME" onProjectSkipped(GLOBAL_CI_UNIT_TEST_TASK_NAME, taskPath) val log = "$LOG Skipping $taskPath because it is not affected." - if (slackProperties.debug) { + if (foundryProperties.debug) { project.logger.lifecycle(log) } else { project.logger.debug(log) @@ -136,7 +137,7 @@ internal object UnitTests { } } - configureTestTasks(project, slackProperties) + configureTestTasks(project, foundryProperties) } private fun createAndroidCiUnitTestTask( @@ -157,7 +158,7 @@ internal object UnitTests { } } - private fun configureTestTasks(project: Project, slackProperties: SlackProperties) { + private fun configureTestTasks(project: Project, foundryProperties: FoundryProperties) { val isCi = project.isCi // Unit test task configuration @@ -165,7 +166,7 @@ internal object UnitTests { // Run unit tests in parallel if multiple CPUs are available. Use at most half the available // CPUs. maxParallelForks = - maxForks(slackProperties).also { logger.debug("$LOG Setting maxParallelForks to $it") } + maxForks(foundryProperties).also { logger.debug("$LOG Setting maxParallelForks to $it") } // Denote flaky failures as instead of in JUnit test XML files reports.junitXml.mergeReruns.setDisallowChanges(true) @@ -177,7 +178,7 @@ internal object UnitTests { // helps when tests leak memory // Suppression is because the property syntax uses a deprecated Gradle API - @Suppress("UsePropertyAccessSyntax") setForkEvery(slackProperties.unitTestForkEvery) + @Suppress("UsePropertyAccessSyntax") setForkEvery(foundryProperties.unitTestForkEvery) // Cap JVM args per test minHeapSize = "128m" @@ -207,7 +208,7 @@ internal object UnitTests { // https://github.com/robolectric/robolectric/releases/tag/robolectric-4.10-alpha-1 systemProperty("robolectric.graphicsMode", "NATIVE") - if (slackProperties.testVerboseLogging) { + if (foundryProperties.testVerboseLogging) { // Add additional logging on Jenkins to help debug hanging or OOM-ing unit tests. testLogging { showStandardStreams = true @@ -240,15 +241,17 @@ internal object UnitTests { } if (isCi) { - if (slackProperties.testRetryPluginType == SlackProperties.TestRetryPluginType.RETRY_PLUGIN) { + if ( + foundryProperties.testRetryPluginType == FoundryProperties.TestRetryPluginType.RETRY_PLUGIN + ) { project.pluginManager.withPlugin("org.gradle.test-retry") { project.tasks.withType(Test::class.java).configureEach { retry { failOnPassedAfterRetry.setDisallowChanges( - slackProperties.testRetryFailOnPassedAfterRetry + foundryProperties.testRetryFailOnPassedAfterRetry ) - maxFailures.setDisallowChanges(slackProperties.testRetryMaxFailures) - maxRetries.setDisallowChanges(slackProperties.testRetryMaxRetries) + maxFailures.setDisallowChanges(foundryProperties.testRetryMaxFailures) + maxRetries.setDisallowChanges(foundryProperties.testRetryMaxRetries) } } } @@ -257,10 +260,10 @@ internal object UnitTests { project.tasks.withType(Test::class.java).configureEach { develocity.testRetry { failOnPassedAfterRetry.setDisallowChanges( - slackProperties.testRetryFailOnPassedAfterRetry + foundryProperties.testRetryFailOnPassedAfterRetry ) - maxFailures.setDisallowChanges(slackProperties.testRetryMaxFailures) - maxRetries.setDisallowChanges(slackProperties.testRetryMaxRetries) + maxFailures.setDisallowChanges(foundryProperties.testRetryMaxFailures) + maxRetries.setDisallowChanges(foundryProperties.testRetryMaxRetries) } } } diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/GitExecValueSource.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GitExecValueSource.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/GitExecValueSource.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GitExecValueSource.kt index 8595d6c26..3cc18e1d3 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/GitExecValueSource.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GitExecValueSource.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import java.io.ByteArrayOutputStream import java.nio.charset.Charset diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/GradleSgpLogger.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GradleFoundryLogger.kt similarity index 80% rename from slack-plugin/src/main/kotlin/slack/gradle/util/GradleSgpLogger.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GradleFoundryLogger.kt index c2b70037b..b49dfa054 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/GradleSgpLogger.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/GradleFoundryLogger.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util -import com.slack.sgp.common.SgpLogger +import foundry.common.FoundryLogger import org.gradle.api.logging.Logger -/** A Gradle [Logger]-based [SgpLogger]. */ -private class GradleSgpLogger(private val delegate: Logger) : SgpLogger { +/** A Gradle [Logger]-based [FoundryLogger]. */ +private class GradleFoundryLogger(private val delegate: Logger) : FoundryLogger { override fun debug(message: String) { delegate.debug(message) } @@ -49,4 +49,5 @@ private class GradleSgpLogger(private val delegate: Logger) : SgpLogger { } } -internal fun SgpLogger.Companion.gradle(logger: Logger): SgpLogger = GradleSgpLogger(logger) +internal fun FoundryLogger.Companion.gradle(logger: Logger): FoundryLogger = + GradleFoundryLogger(logger) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/HasConfigurableValues.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/HasConfigurableValues.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/HasConfigurableValues.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/HasConfigurableValues.kt index 1813a0d2c..ceac3bc79 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/HasConfigurableValues.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/HasConfigurableValues.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.provider.ListProperty diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/JsonTools.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/JsonTools.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/JsonTools.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/JsonTools.kt index 59842c960..e67f0759b 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/JsonTools.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/JsonTools.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import com.squareup.moshi.JsonAdapter import com.squareup.moshi.JsonReader diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/KspUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/KspUtil.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/util/KspUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/KspUtil.kt index bccb9c245..98339925b 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/KspUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/KspUtil.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import com.google.devtools.ksp.gradle.KspAATask import com.google.devtools.ksp.gradle.KspTaskJvm diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/Maps.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/Maps.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/util/Maps.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/Maps.kt index a1676ce18..00c29ad97 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/Maps.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/Maps.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util /** * Merges two maps whose values are also maps. Unlike [Map.plus], the value maps will themselves be diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/OkHttpExt.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/OkHttpExt.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/util/OkHttpExt.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/OkHttpExt.kt index 35b6f52c5..6bd2996d5 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/OkHttpExt.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/OkHttpExt.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import okhttp3.OkHttpClient diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/PropertyResolver.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyResolver.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/util/PropertyResolver.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyResolver.kt index a9674cc9d..e58bdf0c2 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/PropertyResolver.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyResolver.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import org.gradle.api.Project import org.gradle.api.provider.Provider diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/PropertyUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyUtil.kt similarity index 99% rename from slack-plugin/src/main/kotlin/slack/gradle/util/PropertyUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyUtil.kt index abc29866c..76144e804 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/PropertyUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/PropertyUtil.kt @@ -15,7 +15,7 @@ */ @file:JvmName("PropertyUtil") -package slack.gradle.util +package foundry.gradle.util import java.util.Properties import kotlin.contracts.contract diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/ThermalsWatcher.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/ThermalsWatcher.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/util/ThermalsWatcher.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/ThermalsWatcher.kt index d6140cb08..097d22047 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/ThermalsWatcher.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/ThermalsWatcher.kt @@ -13,12 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import com.squareup.moshi.JsonClass import com.sun.jna.Library import com.sun.jna.Native import dev.zacsweers.moshix.sealed.annotations.TypeLabel +import foundry.gradle.util.AppleSiliconThermals.ThermalState.CRITICAL +import foundry.gradle.util.AppleSiliconThermals.ThermalState.FAIR +import foundry.gradle.util.AppleSiliconThermals.ThermalState.NOMINAL +import foundry.gradle.util.AppleSiliconThermals.ThermalState.SERIOUS +import foundry.gradle.util.charting.ChartCreator import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable import io.reactivex.rxjava3.observers.DisposableObserver @@ -37,11 +42,6 @@ import org.gradle.api.logging.Logger import slack.cli.AppleSiliconCompat.Arch import slack.cli.AppleSiliconCompat.Arch.ARM64 import slack.cli.AppleSiliconCompat.Arch.X86_64 -import slack.gradle.util.AppleSiliconThermals.ThermalState.CRITICAL -import slack.gradle.util.AppleSiliconThermals.ThermalState.FAIR -import slack.gradle.util.AppleSiliconThermals.ThermalState.NOMINAL -import slack.gradle.util.AppleSiliconThermals.ThermalState.SERIOUS -import slack.gradle.util.charting.ChartCreator /** * Simple interface for recording thermals data during the course of a build. The watcher should be diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisRange.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisRange.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisRange.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisRange.kt index dcb57ee79..6583f5ae9 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisRange.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisRange.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class AxisRange(val index: Int, val startValue: Int, val endValue: Int) : ChartProperty { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisStyle.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisStyle.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisStyle.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisStyle.kt index 26e76f529..0e562df13 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/AxisStyle.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/AxisStyle.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class AxisStyle(val index: Int, val color: Color) : ChartProperty { override val key: String = "chxs" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartCreator.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartCreator.kt similarity index 84% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartCreator.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartCreator.kt index bc91644de..f57c24f42 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartCreator.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartCreator.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting +import foundry.gradle.util.charting.ChartData.SimpleData +import foundry.gradle.util.charting.ChartFill.FillType.BACKGROUND +import foundry.gradle.util.charting.ChartType.LineChart +import foundry.gradle.util.charting.Color.Companion.BLACK +import foundry.gradle.util.charting.Color.Companion.WHITE +import foundry.gradle.util.charting.VisibleAxis.XAxis +import foundry.gradle.util.charting.VisibleAxis.YAxis import okhttp3.HttpUrl -import slack.gradle.util.charting.ChartData.SimpleData -import slack.gradle.util.charting.ChartFill.FillType.BACKGROUND -import slack.gradle.util.charting.ChartType.LineChart -import slack.gradle.util.charting.Color.Companion.BLACK -import slack.gradle.util.charting.Color.Companion.WHITE -import slack.gradle.util.charting.VisibleAxis.XAxis -import slack.gradle.util.charting.VisibleAxis.YAxis /** * Simple API for Google Charts. diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartData.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartData.kt similarity index 85% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartData.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartData.kt index 39b8a8915..e612efece 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartData.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartData.kt @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting -import slack.gradle.util.charting.ValuesEncoder.encodeExtendedSeries -import slack.gradle.util.charting.ValuesEncoder.encodePositionSeries +import foundry.gradle.util.charting.ValuesEncoder.encodeExtendedSeries +import foundry.gradle.util.charting.ValuesEncoder.encodePositionSeries internal sealed class ChartData : ChartProperty { override val key: String = "chd" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartFill.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartFill.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartFill.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartFill.kt index 830aa9395..819afc300 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartFill.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartFill.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class ChartFill(val type: FillType, val color: Color) : ChartProperty { override val key: String = "chf" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartProperty.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartProperty.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartProperty.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartProperty.kt index d446c6177..613f3d31d 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartProperty.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartProperty.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting /** * Represents a configurable property of the chart. All properties end up in a URL, using the [key] diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartSize.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartSize.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartSize.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartSize.kt index 37d2de9e4..3faf6c445 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartSize.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartSize.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class ChartSize(val width: Int, val height: Int) : ChartProperty { override val key: String = "chs" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartType.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartType.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartType.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartType.kt index 5d444a58d..959ab683d 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ChartType.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ChartType.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal sealed class ChartType : ChartProperty { override val key: String = "cht" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/Color.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/Color.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/Color.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/Color.kt index 895251524..29999b42e 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/Color.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/Color.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class Color(val hex: String) { constructor(value: Int) : this(String.format("%06X", 0xFFFFFF and value)) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ColorRange.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ColorRange.kt similarity index 95% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ColorRange.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ColorRange.kt index 761752ff3..aed8b31d5 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ColorRange.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ColorRange.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class ColorRange(val color: Color, val startIndex: Int, val endIndex: Int) : ChartProperty { diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/SeriesColors.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/SeriesColors.kt similarity index 96% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/SeriesColors.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/SeriesColors.kt index c672b7bdd..6aa6dfaf1 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/SeriesColors.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/SeriesColors.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal data class SeriesColors(val colors: List) : ChartProperty { override val key: String = "chco" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ValuesEncoder.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ValuesEncoder.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/ValuesEncoder.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ValuesEncoder.kt index b55668e70..6f7353d17 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/ValuesEncoder.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/ValuesEncoder.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting import kotlin.math.floor diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/VisibleAxis.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/VisibleAxis.kt similarity index 97% rename from slack-plugin/src/main/kotlin/slack/gradle/util/charting/VisibleAxis.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/VisibleAxis.kt index b4ec278e5..17a1d620d 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/charting/VisibleAxis.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/charting/VisibleAxis.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util.charting +package foundry.gradle.util.charting internal sealed class VisibleAxis : ChartProperty { override val key: String = "chxt" diff --git a/slack-plugin/src/main/kotlin/slack/gradle/util/kgpUtil.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/kgpUtil.kt similarity index 98% rename from slack-plugin/src/main/kotlin/slack/gradle/util/kgpUtil.kt rename to platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/kgpUtil.kt index bc5cb101c..44f12f019 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/util/kgpUtil.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/util/kgpUtil.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import com.google.devtools.ksp.gradle.KspTask import org.gradle.api.tasks.TaskContainer diff --git a/slack-plugin/src/main/resources/libthermal_state.dylib b/platforms/gradle/foundry-gradle-plugin/src/main/resources/libthermal_state.dylib similarity index 87% rename from slack-plugin/src/main/resources/libthermal_state.dylib rename to platforms/gradle/foundry-gradle-plugin/src/main/resources/libthermal_state.dylib index db80b0a44..998e23251 100755 Binary files a/slack-plugin/src/main/resources/libthermal_state.dylib and b/platforms/gradle/foundry-gradle-plugin/src/main/resources/libthermal_state.dylib differ diff --git a/slack-plugin/src/test/kotlin/slack/gradle/AndroidSourcesConfigurerTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/AndroidSourcesConfigurerTest.kt similarity index 98% rename from slack-plugin/src/test/kotlin/slack/gradle/AndroidSourcesConfigurerTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/AndroidSourcesConfigurerTest.kt index 7eb34f8e0..b21193cf4 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/AndroidSourcesConfigurerTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/AndroidSourcesConfigurerTest.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.google.common.truth.Truth.assertThat +import foundry.gradle.fakes.NoOpLogger import java.io.File import org.junit.Assert.fail import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder -import slack.fakes.NoOpLogger class AndroidSourcesConfigurerTest { diff --git a/slack-plugin/src/test/kotlin/slack/gradle/SlackGradleUtilTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/FoundryGradleUtilTest.kt similarity index 95% rename from slack-plugin/src/test/kotlin/slack/gradle/SlackGradleUtilTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/FoundryGradleUtilTest.kt index 16b3e9041..7e7b95630 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/SlackGradleUtilTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/FoundryGradleUtilTest.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle import com.google.common.truth.Truth.assertThat +import foundry.gradle.agp.VersionNumber import org.junit.Test -import slack.gradle.agp.VersionNumber -class SlackGradleUtilTest { +class FoundryGradleUtilTest { @Test fun standardGitParse() { diff --git a/slack-plugin/src/test/kotlin/slack/gradle/StandardProjectConfigurationsTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/StandardProjectConfigurationsTest.kt similarity index 95% rename from slack-plugin/src/test/kotlin/slack/gradle/StandardProjectConfigurationsTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/StandardProjectConfigurationsTest.kt index 6a0427cc4..7ee92f98c 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/StandardProjectConfigurationsTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/StandardProjectConfigurationsTest.kt @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle +package foundry.gradle +import foundry.gradle.Configurations.isPlatformConfigurationName import org.junit.Test -import slack.gradle.Configurations.isPlatformConfigurationName class StandardProjectConfigurationsTest { diff --git a/slack-plugin/src/test/kotlin/slack/gradle/agp/AgpHandlerTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/agp/AgpHandlerTest.kt similarity index 98% rename from slack-plugin/src/test/kotlin/slack/gradle/agp/AgpHandlerTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/agp/AgpHandlerTest.kt index 0b2c426e9..97d34cc33 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/agp/AgpHandlerTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/agp/AgpHandlerTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.agp +package foundry.gradle.agp import com.android.build.api.AndroidPluginVersion import com.google.common.truth.Truth.assertThat diff --git a/slack-plugin/src/test/kotlin/slack/gradle/dependencies/DependencyCollectionTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/dependencies/DependencyCollectionTest.kt similarity index 99% rename from slack-plugin/src/test/kotlin/slack/gradle/dependencies/DependencyCollectionTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/dependencies/DependencyCollectionTest.kt index 981a7318d..5ca21de9d 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/dependencies/DependencyCollectionTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/dependencies/DependencyCollectionTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.dependencies +package foundry.gradle.dependencies import com.google.common.truth.Truth.assertThat import org.junit.Test diff --git a/slack-plugin/src/test/kotlin/slack/fakes/GradleStub.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/GradleStub.kt similarity index 99% rename from slack-plugin/src/test/kotlin/slack/fakes/GradleStub.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/GradleStub.kt index c8212d3d0..87091c4a3 100644 --- a/slack-plugin/src/test/kotlin/slack/fakes/GradleStub.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/GradleStub.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.fakes +package foundry.gradle.fakes import groovy.lang.Closure import java.io.File diff --git a/slack-plugin/src/test/kotlin/slack/fakes/NoOpLogger.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/NoOpLogger.kt similarity index 98% rename from slack-plugin/src/test/kotlin/slack/fakes/NoOpLogger.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/NoOpLogger.kt index d4d6968de..14758ec30 100644 --- a/slack-plugin/src/test/kotlin/slack/fakes/NoOpLogger.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/fakes/NoOpLogger.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.fakes +package foundry.gradle.fakes import org.gradle.api.logging.LogLevel import org.gradle.api.logging.Logger diff --git a/slack-plugin/src/test/kotlin/slack/stats/LanguageStatsTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/LanguageStatsTest.kt similarity index 99% rename from slack-plugin/src/test/kotlin/slack/stats/LanguageStatsTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/LanguageStatsTest.kt index 671aceb68..8c0cf2618 100644 --- a/slack-plugin/src/test/kotlin/slack/stats/LanguageStatsTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/LanguageStatsTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.stats +package foundry.gradle.stats import com.google.common.truth.Truth.assertThat import org.junit.Rule diff --git a/slack-plugin/src/test/kotlin/slack/stats/ModuleStatsTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/ModuleStatsTest.kt similarity index 98% rename from slack-plugin/src/test/kotlin/slack/stats/ModuleStatsTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/ModuleStatsTest.kt index dc21fe593..1e050ca43 100644 --- a/slack-plugin/src/test/kotlin/slack/stats/ModuleStatsTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/stats/ModuleStatsTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.stats +package foundry.gradle.stats import com.google.common.truth.Truth.assertThat import org.junit.Test diff --git a/slack-plugin/src/test/kotlin/slack/gradle/tasks/ManifestParsingTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/tasks/ManifestParsingTest.kt similarity index 99% rename from slack-plugin/src/test/kotlin/slack/gradle/tasks/ManifestParsingTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/tasks/ManifestParsingTest.kt index b03adf43c..822537895 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/tasks/ManifestParsingTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/tasks/ManifestParsingTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.tasks +package foundry.gradle.tasks import com.google.common.truth.Truth.assertThat import org.junit.Rule diff --git a/slack-plugin/src/test/kotlin/slack/gradle/util/ThermlogParserTest.kt b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/util/ThermlogParserTest.kt similarity index 99% rename from slack-plugin/src/test/kotlin/slack/gradle/util/ThermlogParserTest.kt rename to platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/util/ThermlogParserTest.kt index 11c52b2b5..bc1831550 100644 --- a/slack-plugin/src/test/kotlin/slack/gradle/util/ThermlogParserTest.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/test/kotlin/foundry/gradle/util/ThermlogParserTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.gradle.util +package foundry.gradle.util import com.google.common.truth.Truth.assertThat import java.time.LocalDateTime diff --git a/slack-plugin/thermal_state.swift b/platforms/gradle/foundry-gradle-plugin/thermal_state.swift similarity index 100% rename from slack-plugin/thermal_state.swift rename to platforms/gradle/foundry-gradle-plugin/thermal_state.swift diff --git a/skate-plugin/artifactory-authenticator/README.md b/platforms/intellij/artifactory-authenticator/README.md similarity index 66% rename from skate-plugin/artifactory-authenticator/README.md rename to platforms/intellij/artifactory-authenticator/README.md index ebd96da95..b0dc812c1 100644 --- a/skate-plugin/artifactory-authenticator/README.md +++ b/platforms/intellij/artifactory-authenticator/README.md @@ -16,9 +16,9 @@ The check is a prefix check, so you should use a base url for your artifactory i To publish this plugin to a given artifactory repository, the following three Gradle properties must be set: ```properties -SgpIntellijArtifactoryBaseUrl=https://artifactory.example.com/artifactory -SgpIntellijArtifactoryUsername=jane.doe@example.com -SgpIntellijArtifactoryToken=1234567890abcdef1234567890abcdef12345678 +FoundryIntellijArtifactoryBaseUrl=https://artifactory.example.com/artifactory +FoundryIntellijArtifactoryUsername=jane.doe@example.com +FoundryIntellijArtifactoryToken=1234567890abcdef1234567890abcdef12345678 ``` -Then run `./gradlew :skate-plugin:artifactory-authenticator:uploadPluginToArtifactory` to publish the plugin to the configured repository. +Then run `./gradlew :platforms:intellij:artifactory-authenticator:uploadPluginToArtifactory` to publish the plugin to the configured repository. diff --git a/skate-plugin/artifactory-authenticator/build.gradle.kts b/platforms/intellij/artifactory-authenticator/build.gradle.kts similarity index 92% rename from skate-plugin/artifactory-authenticator/build.gradle.kts rename to platforms/intellij/artifactory-authenticator/build.gradle.kts index 5e3c3f956..7b901a820 100644 --- a/skate-plugin/artifactory-authenticator/build.gradle.kts +++ b/platforms/intellij/artifactory-authenticator/build.gradle.kts @@ -33,7 +33,7 @@ intellijPlatform { vendor { name = "Slack" url = - "https://github.com/slackhq/slack-gradle-plugin/tree/main/skate-plugin/artifactory-authenticator" + "https://github.com/slackhq/foundry/tree/main/platforms/intellij/artifactory-authenticator" email = "oss@slack-corp.com" } } diff --git a/skate-plugin/artifactory-authenticator/gradle.properties b/platforms/intellij/artifactory-authenticator/gradle.properties similarity index 100% rename from skate-plugin/artifactory-authenticator/gradle.properties rename to platforms/intellij/artifactory-authenticator/gradle.properties diff --git a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt similarity index 97% rename from skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt rename to platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt index a9f0fb987..780221603 100644 --- a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt +++ b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/ArtifactoryPluginRepositoryAuthProvider.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.intellij.artifactory +package foundry.intellij.artifactory import com.intellij.ide.plugins.auth.PluginRepositoryAuthProvider import com.intellij.openapi.application.ApplicationManager diff --git a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthBundle.kt b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthBundle.kt similarity index 96% rename from skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthBundle.kt rename to platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthBundle.kt index c3511ccc9..907a8757b 100644 --- a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthBundle.kt +++ b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthBundle.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.intellij.artifactory +package foundry.intellij.artifactory import com.intellij.DynamicBundle import org.jetbrains.annotations.Nls diff --git a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthConfig.kt b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthConfig.kt similarity index 98% rename from skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthConfig.kt rename to platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthConfig.kt index 6ce1610f9..0337f2a6a 100644 --- a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthConfig.kt +++ b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthConfig.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.intellij.artifactory +package foundry.intellij.artifactory import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.options.BoundSearchableConfigurable diff --git a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthPluginSettings.kt b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthPluginSettings.kt similarity index 98% rename from skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthPluginSettings.kt rename to platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthPluginSettings.kt index 4dfd50b23..27465fe5a 100644 --- a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/AuthPluginSettings.kt +++ b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/AuthPluginSettings.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.intellij.artifactory +package foundry.intellij.artifactory import com.intellij.ide.plugins.auth.PluginRepositoryAuthListener import com.intellij.openapi.components.BaseState diff --git a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/RepoAuthHotfix.kt b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/RepoAuthHotfix.kt similarity index 96% rename from skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/RepoAuthHotfix.kt rename to platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/RepoAuthHotfix.kt index 1fd6d8527..4f8932f20 100644 --- a/skate-plugin/artifactory-authenticator/src/main/kotlin/com/slack/intellij/artifactory/RepoAuthHotfix.kt +++ b/platforms/intellij/artifactory-authenticator/src/main/kotlin/foundry/intellij/artifactory/RepoAuthHotfix.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.intellij.artifactory +package foundry.intellij.artifactory import com.intellij.ide.AppLifecycleListener import com.intellij.ide.plugins.auth.PluginRepositoryAuthService diff --git a/skate-plugin/artifactory-authenticator/src/main/resources/META-INF/plugin.xml b/platforms/intellij/artifactory-authenticator/src/main/resources/META-INF/plugin.xml similarity index 65% rename from skate-plugin/artifactory-authenticator/src/main/resources/META-INF/plugin.xml rename to platforms/intellij/artifactory-authenticator/src/main/resources/META-INF/plugin.xml index f1503b365..85d590391 100644 --- a/skate-plugin/artifactory-authenticator/src/main/resources/META-INF/plugin.xml +++ b/platforms/intellij/artifactory-authenticator/src/main/resources/META-INF/plugin.xml @@ -3,15 +3,15 @@ + implementation="foundry.intellij.artifactory.ArtifactoryPluginRepositoryAuthProvider"/> + instance="foundry.intellij.artifactory.AuthConfig"/> - \ No newline at end of file diff --git a/skate-plugin/artifactory-authenticator/src/main/resources/META-INF/pluginIcon.svg b/platforms/intellij/artifactory-authenticator/src/main/resources/META-INF/pluginIcon.svg similarity index 100% rename from skate-plugin/artifactory-authenticator/src/main/resources/META-INF/pluginIcon.svg rename to platforms/intellij/artifactory-authenticator/src/main/resources/META-INF/pluginIcon.svg diff --git a/skate-plugin/artifactory-authenticator/src/main/resources/messages/artifactoryAuthenticator.properties b/platforms/intellij/artifactory-authenticator/src/main/resources/messages/artifactoryAuthenticator.properties similarity index 100% rename from skate-plugin/artifactory-authenticator/src/main/resources/messages/artifactoryAuthenticator.properties rename to platforms/intellij/artifactory-authenticator/src/main/resources/messages/artifactoryAuthenticator.properties diff --git a/skate-plugin/project-gen/build.gradle.kts b/platforms/intellij/compose/build.gradle.kts similarity index 100% rename from skate-plugin/project-gen/build.gradle.kts rename to platforms/intellij/compose/build.gradle.kts diff --git a/platforms/intellij/compose/gradle.properties b/platforms/intellij/compose/gradle.properties new file mode 100644 index 000000000..74b2de374 --- /dev/null +++ b/platforms/intellij/compose/gradle.properties @@ -0,0 +1,4 @@ +POM_ARTIFACT_ID=skate-compose +POM_NAME=Skate (Compose) +POM_DESCRIPTION=Skate (Compose) +INTELLIJ_PLUGIN=true diff --git a/skate-plugin/compose-playground/build.gradle.kts b/platforms/intellij/compose/playground/build.gradle.kts similarity index 96% rename from skate-plugin/compose-playground/build.gradle.kts rename to platforms/intellij/compose/playground/build.gradle.kts index 7fd1ad38d..456b212de 100644 --- a/skate-plugin/compose-playground/build.gradle.kts +++ b/platforms/intellij/compose/playground/build.gradle.kts @@ -44,7 +44,7 @@ kotlin { implementation(libs.jewel.standalone) implementation(libs.kotlin.poet) implementation(libs.markdown) - implementation(projects.skatePlugin.projectGen) + implementation(projects.platforms.intellij.compose) } } } diff --git a/skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/MarkdownPlayground.kt b/platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/MarkdownPlayground.kt similarity index 95% rename from skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/MarkdownPlayground.kt rename to platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/MarkdownPlayground.kt index 1da865b53..5d1af3f01 100644 --- a/skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/MarkdownPlayground.kt +++ b/platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/MarkdownPlayground.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.compose.playground +package foundry.intellij.compose.playground import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -25,11 +25,11 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.window.singleWindowApplication +import foundry.intellij.compose.markdown.ui.MarkdownContent import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.intui.standalone.theme.IntUiTheme import org.jetbrains.jewel.ui.component.DefaultButton import org.jetbrains.jewel.ui.component.Text -import slack.tooling.markdown.ui.MarkdownContent fun main() = singleWindowApplication { var isDark by remember { mutableStateOf(false) } diff --git a/skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/ProjectGenPlayground.kt b/platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/ProjectGenPlayground.kt similarity index 91% rename from skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/ProjectGenPlayground.kt rename to platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/ProjectGenPlayground.kt index 2ebc4ecc2..415ffde90 100644 --- a/skate-plugin/compose-playground/src/jvmMain/kotlin/slack/tooling/compose/playground/ProjectGenPlayground.kt +++ b/platforms/intellij/compose/playground/src/jvmMain/kotlin/foundry/intellij/compose/playground/ProjectGenPlayground.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.compose.playground +package foundry.intellij.compose.playground import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -25,12 +25,12 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.window.singleWindowApplication +import foundry.intellij.compose.projectgen.ProjectGenUi +import foundry.intellij.compose.projectgen.ProjectGenUi.ProjectGenApp import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.intui.standalone.theme.IntUiTheme import org.jetbrains.jewel.ui.component.DefaultButton import org.jetbrains.jewel.ui.component.Text -import slack.tooling.projectgen.ProjectGenUi -import slack.tooling.projectgen.ProjectGenUi.ProjectGenApp fun main() = singleWindowApplication { var isDark by remember { mutableStateOf(false) } diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatColors.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatColors.kt similarity index 95% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatColors.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatColors.kt index 1fb44bb82..4543b2200 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatColors.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatColors.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.ui.graphics.Color diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPanel.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPanel.kt similarity index 89% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPanel.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPanel.kt index 6b23abff3..ab6d8f06c 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPanel.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPanel.kt @@ -13,22 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.awt.ComposePanel import com.slack.circuit.foundation.Circuit import com.slack.circuit.foundation.CircuitContent +import foundry.intellij.compose.projectgen.FoundryDesktopTheme import java.awt.Dimension import javax.swing.JComponent -import slack.tooling.projectgen.SlackDesktopTheme object ChatPanel { fun createPanel(): JComponent { return ComposePanel().apply { preferredSize = Dimension(400, 600) - setContent { SlackDesktopTheme { ChatApp() } } + setContent { FoundryDesktopTheme { ChatApp() } } } } diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPresenter.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPresenter.kt similarity index 97% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPresenter.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPresenter.kt index 83eaf348b..1be13444d 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatPresenter.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatPresenter.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatScreen.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatScreen.kt similarity index 96% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatScreen.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatScreen.kt index 783ef8ea9..60b21a52a 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatScreen.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatScreen.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import com.slack.circuit.runtime.CircuitUiEvent import com.slack.circuit.runtime.CircuitUiState diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatWindowUi.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatWindowUi.kt similarity index 99% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatWindowUi.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatWindowUi.kt index 00415fd5d..f65eb3093 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/ChatWindowUi.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/ChatWindowUi.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/Message.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/Message.kt similarity index 94% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/Message.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/Message.kt index 2b2da9499..fbd8412f6 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/Message.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/Message.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.runtime.Immutable diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/PainterResource.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/PainterResource.kt similarity index 98% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/PainterResource.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/PainterResource.kt index aa5806656..ebe5c9ebb 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/aibot/PainterResource.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/aibot/PainterResource.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.aibot +package foundry.intellij.compose.aibot import androidx.compose.runtime.Composable import androidx.compose.runtime.remember diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/markdown/ui/MarkdownPanel.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/markdown/ui/MarkdownPanel.kt similarity index 97% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/markdown/ui/MarkdownPanel.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/markdown/ui/MarkdownPanel.kt index 1dc7fbf9e..b39424224 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/markdown/ui/MarkdownPanel.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/markdown/ui/MarkdownPanel.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.markdown.ui +package foundry.intellij.compose.markdown.ui import androidx.compose.foundation.VerticalScrollbar import androidx.compose.foundation.layout.Arrangement @@ -54,6 +54,7 @@ import com.mikepenz.markdown.model.DefaultMarkdownTypography import com.mikepenz.markdown.model.MarkdownColors import com.mikepenz.markdown.model.MarkdownTypography import com.mikepenz.markdown.model.markdownExtendedSpans +import foundry.intellij.compose.projectgen.FoundryDesktopTheme import java.awt.Dimension import javax.swing.JComponent import org.jetbrains.jewel.foundation.theme.JewelTheme @@ -63,7 +64,6 @@ import org.jetbrains.jewel.ui.component.Typography import org.jetbrains.jewel.ui.component.Typography.labelTextSize import org.jetbrains.jewel.ui.component.minus import org.jetbrains.jewel.ui.theme.colorPalette -import slack.tooling.projectgen.SlackDesktopTheme object MarkdownPanel { fun createPanel(computeMarkdown: suspend () -> String): JComponent { @@ -71,7 +71,7 @@ object MarkdownPanel { // Necessary to avoid an NPE in JPanel // This is just a minimum preferredSize = Dimension(400, 600) - setContent { SlackDesktopTheme { MarkdownContent(computeMarkdown = computeMarkdown) } } + setContent { FoundryDesktopTheme { MarkdownContent(computeMarkdown = computeMarkdown) } } } } } diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/SlackDesktopTheme.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/FoundryDesktopTheme.kt similarity index 89% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/SlackDesktopTheme.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/FoundryDesktopTheme.kt index 5b5637e93..6dffb54bf 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/SlackDesktopTheme.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/FoundryDesktopTheme.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.runtime.Composable import org.jetbrains.jewel.bridge.theme.SwingBridgeTheme @@ -21,6 +21,6 @@ import org.jetbrains.jewel.foundation.ExperimentalJewelApi @OptIn(ExperimentalJewelApi::class) @Composable -fun SlackDesktopTheme(content: @Composable () -> Unit) { +fun FoundryDesktopTheme(content: @Composable () -> Unit) { SwingBridgeTheme(content = content) } diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/PrefixTransformation.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/PrefixTransformation.kt similarity index 95% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/PrefixTransformation.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/PrefixTransformation.kt index 304f17ea8..ffeb9a4c9 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/PrefixTransformation.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/PrefixTransformation.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.foundation.text.input.OutputTransformation import androidx.compose.foundation.text.input.TextFieldBuffer diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenPresenter.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenPresenter.kt similarity index 99% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenPresenter.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenPresenter.kt index 0256976fb..0d28a92c5 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenPresenter.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenPresenter.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -23,7 +23,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import com.slack.circuit.runtime.presenter.Presenter import java.io.File -import slack.tooling.projectgen.* internal class ProjectGenPresenter( private val rootDir: String, diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenScreen.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenScreen.kt similarity index 96% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenScreen.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenScreen.kt index 9fbd507f9..2d3137844 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenScreen.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenScreen.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.runtime.snapshots.SnapshotStateList import com.slack.circuit.runtime.CircuitUiEvent diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenUi.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenUi.kt similarity index 98% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenUi.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenUi.kt index a777b2e23..a8eab5fc2 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/ProjectGenUi.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/ProjectGenUi.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.desktop.ui.tooling.preview.Preview import androidx.compose.foundation.ExperimentalFoundationApi @@ -70,7 +70,7 @@ object ProjectGenUi { fun createPanel(rootDir: String, width: Int, height: Int, events: Events): JComponent { return ComposePanel().apply { setBounds(0, 0, width, height) - setContent { SlackDesktopTheme { ProjectGenApp(rootDir, events) } } + setContent { FoundryDesktopTheme { ProjectGenApp(rootDir, events) } } } } diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/UiElement.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/UiElement.kt similarity index 98% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/UiElement.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/UiElement.kt index e3b556348..04ebcc7d8 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/UiElement.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/UiElement.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Immutable diff --git a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/models.kt b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/models.kt similarity index 99% rename from skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/models.kt rename to platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/models.kt index 779e84e3a..1c04caf1a 100644 --- a/skate-plugin/project-gen/src/jvmMain/kotlin/slack/tooling/projectgen/models.kt +++ b/platforms/intellij/compose/src/jvmMain/kotlin/foundry/intellij/compose/projectgen/models.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package slack.tooling.projectgen +package foundry.intellij.compose.projectgen import com.squareup.kotlinpoet.FileSpec import java.io.File diff --git a/skate-plugin/project-gen/src/jvmMain/resources/drawable/send.svg b/platforms/intellij/compose/src/jvmMain/resources/drawable/send.svg similarity index 100% rename from skate-plugin/project-gen/src/jvmMain/resources/drawable/send.svg rename to platforms/intellij/compose/src/jvmMain/resources/drawable/send.svg diff --git a/skate-plugin/README.md b/platforms/intellij/skate/README.md similarity index 88% rename from skate-plugin/README.md rename to platforms/intellij/skate/README.md index bd25ecd39..fe857b7de 100644 --- a/skate-plugin/README.md +++ b/platforms/intellij/skate/README.md @@ -30,6 +30,6 @@ We're sending analytics for almost all Skate features to track user usage. To se 3. Make call to `SkateTraceReporter` to send up the traces ## Releasing -1. Update `change-notes.html` file under `skate-plugin/` and merge it to `main` +1. Update `change-notes.html` file under `skate/` and merge it to `main` 2. Run `publish-skate` Github Action. -Behind the scene the action's running`./gradlew :skate-plugin:uploadPluginToArtifactory` +Behind the scene the action's running`./gradlew :platforms:intellij:skate:uploadPluginToArtifactory` diff --git a/skate-plugin/build.gradle.kts b/platforms/intellij/skate/build.gradle.kts similarity index 93% rename from skate-plugin/build.gradle.kts rename to platforms/intellij/skate/build.gradle.kts index 0794c441c..fd0381d91 100644 --- a/skate-plugin/build.gradle.kts +++ b/platforms/intellij/skate/build.gradle.kts @@ -35,7 +35,7 @@ intellijPlatform { pluginConfiguration { vendor { name = "Slack" - url = "https://github.com/slackhq/slack-gradle-plugin/tree/main/skate-plugin" + url = "https://github.com/slackhq/foundry/tree/main/platforms/intellij/skate" email = "oss@slack-corp.com" } } @@ -80,12 +80,12 @@ fun readGitRepoCommit(): String? { } buildConfig { - packageName("com.slack.sgp.intellij") + packageName("foundry.intellij.skate") buildConfigField("String", "VERSION", "\"${project.property("VERSION_NAME")}\"") buildConfigField( "String", "BUGSNAG_KEY", - "\"${project.findProperty("SgpIntellijBugsnagKey")?.toString().orEmpty()}\"", + "\"${project.findProperty("FoundryIntellijBugsnagKey")?.toString().orEmpty()}\"", ) buildConfigField("String", "GIT_SHA", provider { "\"${readGitRepoCommit().orEmpty()}\"" }) useKotlinOutput { @@ -119,8 +119,8 @@ dependencies { implementation(libs.kotlinx.serialization.core) implementation(libs.okhttp) implementation(libs.okhttp.loggingInterceptor) - implementation(projects.skatePlugin.projectGen) - implementation(projects.tracing) + implementation(projects.platforms.intellij.compose) + implementation(projects.tools.tracing) intellijPlatform { // https://plugins.jetbrains.com/docs/intellij/android-studio.html#open-source-plugins-for-android-studio diff --git a/skate-plugin/change-notes.html b/platforms/intellij/skate/change-notes.html similarity index 100% rename from skate-plugin/change-notes.html rename to platforms/intellij/skate/change-notes.html diff --git a/skate-plugin/gradle.properties b/platforms/intellij/skate/gradle.properties similarity index 100% rename from skate-plugin/gradle.properties rename to platforms/intellij/skate/gradle.properties diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogJournal.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogJournal.kt similarity index 96% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogJournal.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogJournal.kt index 10d97995e..9f8054438 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogJournal.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogJournal.kt @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate -import LocalDateConverter import com.intellij.openapi.components.PersistentStateComponent import com.intellij.openapi.components.Service import com.intellij.openapi.components.State diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogParser.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogParser.kt similarity index 98% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogParser.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogParser.kt index c4fac8b75..4b2c00464 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ChangelogParser.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ChangelogParser.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate -import com.slack.sgp.intellij.util.memoized +import foundry.intellij.skate.util.memoized import java.time.LocalDate import java.time.format.DateTimeFormatter import java.time.format.DateTimeParseException diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/LocalDateConverter.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/LocalDateConverter.kt similarity index 94% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/LocalDateConverter.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/LocalDateConverter.kt index ab315ad46..0972c6d7c 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/LocalDateConverter.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/LocalDateConverter.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Slack Technologies, LLC + * Copyright (C) 2024 Slack Technologies, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,6 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package foundry.intellij.skate + import com.intellij.util.xmlb.Converter import java.time.LocalDate import java.time.format.DateTimeFormatter diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/PostStartupActivityExtension.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/PostStartupActivityExtension.kt similarity index 92% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/PostStartupActivityExtension.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/PostStartupActivityExtension.kt index d15efc907..7775f7d14 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/PostStartupActivityExtension.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/PostStartupActivityExtension.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.android.tools.idea.gradle.project.sync.GradleSyncState import com.intellij.openapi.components.service import com.intellij.openapi.project.Project import com.intellij.openapi.startup.ProjectActivity -import com.slack.sgp.intellij.idemetrics.GradleSyncSubscriber +import foundry.intellij.skate.idemetrics.GradleSyncSubscriber internal class PostStartupActivityExtension : ProjectActivity { override suspend fun execute(project: Project) { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateBundle.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateBundle.kt similarity index 97% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateBundle.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateBundle.kt index 661ab4d5a..5178e859f 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateBundle.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateBundle.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.intellij.DynamicBundle import java.util.function.Supplier diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateConfig.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateConfig.kt similarity index 94% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateConfig.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateConfig.kt index 41c53b20a..1f9730c5c 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateConfig.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateConfig.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.intellij.openapi.components.service import com.intellij.openapi.options.BoundSearchableConfigurable import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogPanel -import com.slack.sgp.intellij.ui.SkateConfigUI +import foundry.intellij.skate.ui.SkateConfigUI class SkateConfig(private val project: Project) : BoundSearchableConfigurable( diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateErrorHandler.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateErrorHandler.kt similarity index 98% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateErrorHandler.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateErrorHandler.kt index 2ae53a54e..8b546857d 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateErrorHandler.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateErrorHandler.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.bugsnag.Bugsnag import com.bugsnag.Severity diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkatePluginSettings.kt similarity index 99% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkatePluginSettings.kt index 188acdc49..370449e32 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkatePluginSettings.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.intellij.openapi.components.BaseState import com.intellij.openapi.components.Service diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateService.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateService.kt similarity index 94% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateService.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateService.kt index 35563bf84..bc9ab1002 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkateService.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/SkateService.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.intellij.openapi.components.service import com.intellij.openapi.project.Project @@ -21,8 +21,8 @@ import com.intellij.openapi.project.guessProjectDir import com.intellij.openapi.vfs.VfsUtil import com.intellij.openapi.wm.ToolWindowAnchor import com.intellij.openapi.wm.ToolWindowManager -import com.slack.sgp.intellij.tracing.SkateTraceReporter -import com.slack.sgp.intellij.ui.WhatsNewPanelFactory +import foundry.intellij.skate.tracing.SkateTraceReporter +import foundry.intellij.skate.ui.WhatsNewPanelFactory import java.util.function.Supplier interface SkateProjectService { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListener.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/WhatsNewToolWindowListener.kt similarity index 87% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListener.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/WhatsNewToolWindowListener.kt index 5fbf685b5..c8ab7c8f1 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListener.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/WhatsNewToolWindowListener.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.intellij.openapi.project.Project import com.intellij.openapi.wm.ToolWindowManager import com.intellij.openapi.wm.ex.ToolWindowManagerListener -import com.slack.sgp.intellij.SkateProjectServiceImpl.Companion.WHATS_NEW_PANEL_ID -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isTracingEnabled +import foundry.intellij.skate.SkateProjectServiceImpl.Companion.WHATS_NEW_PANEL_ID +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isTracingEnabled import java.time.Instant /** Custom listener for WhatsNew Tool Window. */ diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/aibot/ChatBotToolWindow.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/aibot/ChatBotToolWindow.kt similarity index 93% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/aibot/ChatBotToolWindow.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/aibot/ChatBotToolWindow.kt index aaeca67bc..8052e46ff 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/aibot/ChatBotToolWindow.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/aibot/ChatBotToolWindow.kt @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.aibot +package foundry.intellij.skate.aibot import com.intellij.openapi.project.Project import com.intellij.openapi.wm.ToolWindow import com.intellij.openapi.wm.ToolWindowFactory import com.intellij.ui.content.ContentFactory +import foundry.intellij.compose.aibot.ChatPanel import javax.swing.JComponent -import slack.tooling.aibot.ChatPanel class ChatBotToolWindow : ToolWindowFactory { override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcher.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcher.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcher.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcher.kt index d22e6e067..b399515ff 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcher.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcher.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners +package foundry.intellij.skate.codeowners import com.intellij.openapi.components.service import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.LocalFileSystem -import com.slack.sgp.intellij.SkatePluginSettings +import foundry.intellij.skate.SkatePluginSettings import java.io.File import java.nio.file.Path diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerInfo.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerInfo.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerInfo.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerInfo.kt index d2b14a96e..d13814a9c 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerInfo.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerInfo.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners +package foundry.intellij.skate.codeowners /** Represents a single code owner file line's info. */ data class CodeOwnerInfo( diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepository.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepository.kt similarity index 96% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepository.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepository.kt index e6cc9949e..8e9949d77 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepository.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepository.kt @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners +package foundry.intellij.skate.codeowners import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.YamlConfiguration import com.intellij.openapi.diagnostic.logger -import com.slack.sgp.intellij.codeowners.model.CodeOwnersFile +import foundry.intellij.skate.codeowners.model.CodeOwnersFile import java.io.File import java.io.FileNotFoundException import kotlin.text.Charsets.UTF_8 diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwner.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwner.kt similarity index 94% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwner.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwner.kt index e25644066..cb831b40e 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwner.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwner.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners.model +package foundry.intellij.skate.codeowners.model import kotlinx.serialization.Serializable diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwnersFile.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwnersFile.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwnersFile.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwnersFile.kt index 268a5bffb..62fec263e 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/CodeOwnersFile.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/CodeOwnersFile.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners.model +package foundry.intellij.skate.codeowners.model import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/Path.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/Path.kt similarity index 93% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/Path.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/Path.kt index 2bfb6ee91..fbab3cb37 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/Path.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/Path.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners.model +package foundry.intellij.skate.codeowners.model import kotlinx.serialization.Serializable diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/PathObjectSerializer.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/PathObjectSerializer.kt similarity index 98% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/PathObjectSerializer.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/PathObjectSerializer.kt index 5de530683..c45483aa0 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/codeowners/model/PathObjectSerializer.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/codeowners/model/PathObjectSerializer.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners.model +package foundry.intellij.skate.codeowners.model import com.charleskorn.kaml.YamlInput import com.charleskorn.kaml.YamlMap diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotator.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotator.kt similarity index 89% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotator.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotator.kt index 9dee13b3e..93cca456d 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotator.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotator.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import com.intellij.codeInsight.intention.IntentionAction import com.intellij.ide.BrowserUtil @@ -23,12 +23,12 @@ import com.intellij.lang.annotation.HighlightSeverity import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.psi.PsiFile -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.featureFlagFilePattern -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isLinkifiedFeatureFlagsEnabled -import com.slack.sgp.intellij.util.isTracingEnabled +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.featureFlagFilePattern +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isLinkifiedFeatureFlagsEnabled +import foundry.intellij.skate.util.isTracingEnabled import java.net.URI import java.time.Instant import org.jetbrains.kotlin.psi.KtFile diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractor.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractor.kt similarity index 96% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractor.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractor.kt index d942d834c..b20b2e8c8 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractor.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractor.kt @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import com.intellij.openapi.components.service import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiFile -import com.slack.sgp.intellij.SkatePluginSettings +import foundry.intellij.skate.SkatePluginSettings import java.util.Locale import org.jetbrains.uast.UEnumConstant import org.jetbrains.uast.UFile diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/UastExtensions.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/UastExtensions.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/UastExtensions.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/UastExtensions.kt index 88142cf71..d8b3922ed 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/featureflags/UastExtensions.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/featureflags/UastExtensions.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import org.jetbrains.uast.UClass import org.jetbrains.uast.UFile diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/GradleSyncSubscriber.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/GradleSyncSubscriber.kt similarity index 88% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/GradleSyncSubscriber.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/GradleSyncSubscriber.kt index a99c53626..26c557502 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/GradleSyncSubscriber.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/GradleSyncSubscriber.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.idemetrics +package foundry.intellij.skate.idemetrics import com.android.tools.idea.gradle.project.sync.GradleSyncListener import com.intellij.openapi.project.Project -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isTracingEnabled -import com.slack.sgp.tracing.model.makeId +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isTracingEnabled +import foundry.tracing.model.makeId import java.time.Instant import okio.ByteString diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/IndexingListener.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/IndexingListener.kt similarity index 92% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/IndexingListener.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/IndexingListener.kt index 388bd5a0a..1d7b2dcb3 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/idemetrics/IndexingListener.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/idemetrics/IndexingListener.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.idemetrics +package foundry.intellij.skate.idemetrics import com.intellij.util.indexing.diagnostic.ProjectDumbIndexingHistory import com.intellij.util.indexing.diagnostic.ProjectIndexingActivityHistoryListener import com.intellij.util.indexing.diagnostic.ProjectScanningHistory import com.intellij.util.indexing.diagnostic.dto.toMillis -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isTracingEnabled +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isTracingEnabled @Suppress("UnstableApiUsage") class IndexingListener : ProjectIndexingActivityHistoryListener { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/GenerateTranslatorBodyAction.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/GenerateTranslatorBodyAction.kt similarity index 83% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/GenerateTranslatorBodyAction.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/GenerateTranslatorBodyAction.kt index bab9d40fe..d1452e276 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/GenerateTranslatorBodyAction.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/GenerateTranslatorBodyAction.kt @@ -13,20 +13,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator +package foundry.intellij.skate.modeltranslator import com.intellij.codeInsight.intention.IntentionAction import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.psi.PsiFile -import com.slack.sgp.intellij.SkateBundle -import com.slack.sgp.intellij.modeltranslator.helper.TranslatorHelper -import com.slack.sgp.intellij.modeltranslator.model.TranslatorBundle -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isTracingEnabled +import foundry.intellij.skate.SkateBundle +import foundry.intellij.skate.modeltranslator.helper.TranslatorHelper +import foundry.intellij.skate.modeltranslator.model.TranslatorBundle +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isTracingEnabled import java.time.Instant class GenerateTranslatorBodyAction(private val bundle: TranslatorBundle) : IntentionAction { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotator.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotator.kt similarity index 89% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotator.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotator.kt index 95cf28fe6..a38a4b130 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotator.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotator.kt @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator +package foundry.intellij.skate.modeltranslator import com.intellij.lang.annotation.AnnotationHolder import com.intellij.lang.annotation.Annotator import com.intellij.lang.annotation.HighlightSeverity import com.intellij.psi.PsiElement -import com.slack.sgp.intellij.SkateBundle -import com.slack.sgp.intellij.modeltranslator.helper.TranslatorHelper +import foundry.intellij.skate.SkateBundle +import foundry.intellij.skate.modeltranslator.helper.TranslatorHelper class TranslatorAnnotator : Annotator { override fun annotate(element: PsiElement, holder: AnnotationHolder) { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/helper/TranslatorHelper.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/helper/TranslatorHelper.kt similarity index 98% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/helper/TranslatorHelper.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/helper/TranslatorHelper.kt index 24feb0d66..9b86f476d 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/helper/TranslatorHelper.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/helper/TranslatorHelper.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator.helper +package foundry.intellij.skate.modeltranslator.helper import com.intellij.openapi.components.service import com.intellij.openapi.project.Project @@ -25,9 +25,9 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiParameter import com.intellij.psi.PsiType import com.intellij.psi.search.GlobalSearchScope -import com.slack.sgp.intellij.SkatePluginSettings -import com.slack.sgp.intellij.modeltranslator.model.TranslatorBundle -import com.slack.sgp.intellij.util.snakeToCamelCase +import foundry.intellij.skate.SkatePluginSettings +import foundry.intellij.skate.modeltranslator.model.TranslatorBundle +import foundry.intellij.skate.util.snakeToCamelCase import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.getReturnTypeReference import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtConstructorCalleeExpression diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/model/TranslatorBundle.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/model/TranslatorBundle.kt similarity index 96% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/model/TranslatorBundle.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/model/TranslatorBundle.kt index 8f4a0cb93..157e61d87 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/modeltranslator/model/TranslatorBundle.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/modeltranslator/model/TranslatorBundle.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator.model +package foundry.intellij.skate.modeltranslator.model import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.psi.KtImportDirective diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenMenuAction.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenMenuAction.kt similarity index 83% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenMenuAction.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenMenuAction.kt index 0a26532f1..9bbd0931e 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenMenuAction.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenMenuAction.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.projectgen +package foundry.intellij.skate.projectgen import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.Project -import com.slack.sgp.intellij.tracing.SkateSpanBuilder -import com.slack.sgp.intellij.tracing.SkateTracingEvent -import com.slack.sgp.intellij.util.getTraceReporter -import com.slack.sgp.intellij.util.isProjectGenMenuActionEnabled -import com.slack.sgp.intellij.util.isTracingEnabled +import foundry.intellij.skate.tracing.SkateSpanBuilder +import foundry.intellij.skate.tracing.SkateTracingEvent +import foundry.intellij.skate.util.getTraceReporter +import foundry.intellij.skate.util.isProjectGenMenuActionEnabled +import foundry.intellij.skate.util.isTracingEnabled import java.time.Instant class ProjectGenMenuAction : AnAction() { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenWindow.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenWindow.kt similarity index 96% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenWindow.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenWindow.kt index 00ea5ecfc..42c3807fb 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/projectgen/ProjectGenWindow.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/projectgen/ProjectGenWindow.kt @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.projectgen +package foundry.intellij.skate.projectgen import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogWrapper +import foundry.intellij.compose.projectgen.ProjectGenUi import java.nio.file.FileSystems import java.nio.file.Files import java.nio.file.Path @@ -27,7 +28,6 @@ import java.nio.file.Paths import javax.swing.Action import javax.swing.JComponent import kotlin.io.path.absolutePathString -import slack.tooling.projectgen.ProjectGenUi class ProjectGenWindow(currentProject: Project, private val event: AnActionEvent) : DialogWrapper(currentProject), ProjectGenUi.Events { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateSpanBuilder.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateSpanBuilder.kt similarity index 87% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateSpanBuilder.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateSpanBuilder.kt index 030d25624..0673116fb 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateSpanBuilder.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateSpanBuilder.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.tracing +package foundry.intellij.skate.tracing -import com.slack.sgp.tracing.KeyValue -import com.slack.sgp.tracing.model.TagBuilder -import com.slack.sgp.tracing.model.newTagBuilder +import foundry.tracing.KeyValue +import foundry.tracing.model.TagBuilder +import foundry.tracing.model.newTagBuilder import java.util.* class SkateSpanBuilder { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTraceReporter.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTraceReporter.kt similarity index 88% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTraceReporter.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTraceReporter.kt index 25af3c907..3bbfbbe54 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTraceReporter.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTraceReporter.kt @@ -13,22 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.tracing +package foundry.intellij.skate.tracing import com.intellij.ide.plugins.PluginManagerCore import com.intellij.openapi.application.ApplicationInfo import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.extensions.PluginId import com.intellij.openapi.project.Project -import com.slack.sgp.intellij.util.tracingEndpoint -import com.slack.sgp.tracing.KeyValue -import com.slack.sgp.tracing.ListOfSpans -import com.slack.sgp.tracing.model.buildSpan -import com.slack.sgp.tracing.model.makeId -import com.slack.sgp.tracing.model.newTagBuilder -import com.slack.sgp.tracing.reporter.SimpleTraceReporter -import com.slack.sgp.tracing.reporter.TraceReporter -import com.slack.sgp.tracing.reporter.TraceReporter.NoOpTraceReporter +import foundry.intellij.skate.util.tracingEndpoint +import foundry.tracing.KeyValue +import foundry.tracing.ListOfSpans +import foundry.tracing.model.buildSpan +import foundry.tracing.model.makeId +import foundry.tracing.model.newTagBuilder +import foundry.tracing.reporter.SimpleTraceReporter +import foundry.tracing.reporter.TraceReporter +import foundry.tracing.reporter.TraceReporter.NoOpTraceReporter import java.time.Duration import java.time.Instant import kotlin.time.DurationUnit diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTracingEvent.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTracingEvent.kt similarity index 97% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTracingEvent.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTracingEvent.kt index abcb13b5c..6405fd4af 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/tracing/SkateTracingEvent.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/tracing/SkateTracingEvent.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.tracing +package foundry.intellij.skate.tracing sealed interface SkateTracingEvent { val name: String diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidget.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidget.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidget.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidget.kt index e9cd9efd0..f8b5ba9e8 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidget.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidget.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.ui +package foundry.intellij.skate.ui import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.diagnostic.logger @@ -29,9 +29,9 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFileManager import com.intellij.openapi.wm.StatusBarWidget import com.intellij.openapi.wm.impl.status.EditorBasedWidget -import com.slack.sgp.intellij.codeowners.CodeOwnerFileFetcherImpl -import com.slack.sgp.intellij.codeowners.CodeOwnerInfo -import com.slack.sgp.intellij.codeowners.CodeOwnerRepository +import foundry.intellij.skate.codeowners.CodeOwnerFileFetcherImpl +import foundry.intellij.skate.codeowners.CodeOwnerInfo +import foundry.intellij.skate.codeowners.CodeOwnerRepository const val CODE_OWNER_WIDGET_ID = "CodeOwnerWidget" diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidgetFactory.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidgetFactory.kt similarity index 91% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidgetFactory.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidgetFactory.kt index 2814c20ec..555eb3a97 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/CodeOwnerWidgetFactory.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/CodeOwnerWidgetFactory.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.ui +package foundry.intellij.skate.ui import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.project.Project @@ -21,8 +21,8 @@ import com.intellij.openapi.util.Disposer import com.intellij.openapi.wm.StatusBar import com.intellij.openapi.wm.StatusBarWidget import com.intellij.openapi.wm.StatusBarWidgetFactory -import com.slack.sgp.intellij.SkatePluginSettings -import com.slack.sgp.intellij.codeowners.CodeOwnerFileFetcherImpl +import foundry.intellij.skate.SkatePluginSettings +import foundry.intellij.skate.codeowners.CodeOwnerFileFetcherImpl class CodeOwnerWidgetFactory : StatusBarWidgetFactory { diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/FileChoosing.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/FileChoosing.kt similarity index 97% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/FileChoosing.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/FileChoosing.kt index 97373bdd0..2ed200e9a 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/FileChoosing.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/FileChoosing.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.ui +package foundry.intellij.skate.ui import com.intellij.openapi.fileChooser.FileChooserDescriptor import com.intellij.openapi.vfs.VirtualFile diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/SkateConfigUI.kt similarity index 98% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/SkateConfigUI.kt index c30471b67..63dee2a94 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/SkateConfigUI.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.ui +package foundry.intellij.skate.ui import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogPanel @@ -26,8 +26,8 @@ import com.intellij.ui.dsl.builder.bindText import com.intellij.ui.dsl.builder.panel import com.intellij.ui.dsl.builder.selected import com.intellij.ui.layout.ComponentPredicate -import com.slack.sgp.intellij.SkateBundle -import com.slack.sgp.intellij.SkatePluginSettings +import foundry.intellij.skate.SkateBundle +import foundry.intellij.skate.SkatePluginSettings import java.io.File internal class SkateConfigUI( diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/WhatsNewPanelFactory.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/WhatsNewPanelFactory.kt similarity index 94% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/WhatsNewPanelFactory.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/WhatsNewPanelFactory.kt index ee6f7c498..26d93e14a 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/WhatsNewPanelFactory.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/ui/WhatsNewPanelFactory.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.ui +package foundry.intellij.skate.ui import com.intellij.openapi.components.service import com.intellij.openapi.project.DumbAware @@ -22,10 +22,10 @@ import com.intellij.openapi.wm.ToolWindow import com.intellij.ui.content.ContentFactory import com.intellij.ui.content.ContentManagerEvent import com.intellij.ui.content.ContentManagerListener -import com.slack.sgp.intellij.ChangelogJournal -import com.slack.sgp.intellij.ChangelogParser +import foundry.intellij.compose.markdown.ui.MarkdownPanel +import foundry.intellij.skate.ChangelogJournal +import foundry.intellij.skate.ChangelogParser import javax.swing.JComponent -import slack.tooling.markdown.ui.MarkdownPanel /** * The WhatsNewPanelFactory class takes the markdown file string from SkateService and displays it diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/MemoizedSequence.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/MemoizedSequence.kt similarity index 97% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/MemoizedSequence.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/MemoizedSequence.kt index bb546e0f5..462ecfdf7 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/MemoizedSequence.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/MemoizedSequence.kt @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.util +package foundry.intellij.skate.util // Adapted from // https://github.com/google/ksp/blob/main/common-util/src/main/kotlin/com/google/devtools/ksp/MemoizedSequence.kt diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/ProjectUtils.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/ProjectUtils.kt similarity index 87% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/ProjectUtils.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/ProjectUtils.kt index b3d4bf2ee..47610c865 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/ProjectUtils.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/ProjectUtils.kt @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.util +package foundry.intellij.skate.util import com.intellij.openapi.components.service import com.intellij.openapi.project.Project -import com.slack.sgp.intellij.SkatePluginSettings -import com.slack.sgp.intellij.SkateProjectService -import com.slack.sgp.intellij.tracing.SkateTraceReporter +import foundry.intellij.skate.SkatePluginSettings +import foundry.intellij.skate.SkateProjectService +import foundry.intellij.skate.tracing.SkateTraceReporter fun Project.settings(): SkatePluginSettings = service() diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/StringExtensions.kt b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/StringExtensions.kt similarity index 95% rename from skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/StringExtensions.kt rename to platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/StringExtensions.kt index 82f1be289..3a9b11439 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/util/StringExtensions.kt +++ b/platforms/intellij/skate/src/main/kotlin/foundry/intellij/skate/util/StringExtensions.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.util +package foundry.intellij.skate.util import com.google.common.base.CaseFormat diff --git a/skate-plugin/src/main/resources/META-INF/plugin.xml b/platforms/intellij/skate/src/main/resources/META-INF/plugin.xml similarity index 60% rename from skate-plugin/src/main/resources/META-INF/plugin.xml rename to platforms/intellij/skate/src/main/resources/META-INF/plugin.xml index b445c2e7d..2f64079c5 100644 --- a/skate-plugin/src/main/resources/META-INF/plugin.xml +++ b/platforms/intellij/skate/src/main/resources/META-INF/plugin.xml @@ -11,30 +11,30 @@ - + - - - + serviceInterface="foundry.intellij.skate.SkateProjectService" + serviceImplementation="foundry.intellij.skate.SkateProjectServiceImpl"/> + + + - - - + + + - diff --git a/skate-plugin/src/main/resources/META-INF/pluginIcon.svg b/platforms/intellij/skate/src/main/resources/META-INF/pluginIcon.svg similarity index 100% rename from skate-plugin/src/main/resources/META-INF/pluginIcon.svg rename to platforms/intellij/skate/src/main/resources/META-INF/pluginIcon.svg diff --git a/skate-plugin/src/main/resources/messages/skateBundle.properties b/platforms/intellij/skate/src/main/resources/messages/skateBundle.properties similarity index 100% rename from skate-plugin/src/main/resources/messages/skateBundle.properties rename to platforms/intellij/skate/src/main/resources/messages/skateBundle.properties diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/ChangeLogParserTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/ChangeLogParserTest.kt similarity index 91% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/ChangeLogParserTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/ChangeLogParserTest.kt index 5226e9d55..bc30d576c 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/ChangeLogParserTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/ChangeLogParserTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.google.common.truth.Truth.assertThat import java.time.LocalDate @@ -60,8 +60,8 @@ class ChangeLogParserTest { - Switch Robolectric jar downloads to use detached configurations. - This lets Gradle do the heavy lifting of caching the downloaded jars and also allows downloading them from a configured repository setup. This also simplifies the up-to-date checks. - - Docs are now published on https://slackhq.github.io/slack-gradle-plugin. This is a work in progress. - - API kdocs are published at https://slackhq.github.io/slack-gradle-plugin/api/0.x/. + - Docs are now published on https://slackhq.github.io/foundry. This is a work in progress. + - API kdocs are published at https://slackhq.github.io/foundry/api/0.x/. - Update `kotlin-cli-util` to 1.2.2. 2023-06-25 @@ -78,8 +78,8 @@ class ChangeLogParserTest { - Switch Robolectric jar downloads to use detached configurations. - This lets Gradle do the heavy lifting of caching the downloaded jars and also allows downloading them from a configured repository setup. This also simplifies the up-to-date checks. - - Docs are now published on https://slackhq.github.io/slack-gradle-plugin. This is a work in progress. - - API kdocs are published at https://slackhq.github.io/slack-gradle-plugin/api/0.x/. + - Docs are now published on https://slackhq.github.io/foundry. This is a work in progress. + - API kdocs are published at https://slackhq.github.io/foundry/api/0.x/. - Update `kotlin-cli-util` to 1.2.2. """ .trimIndent() @@ -99,8 +99,8 @@ class ChangeLogParserTest { - Switch Robolectric jar downloads to use detached configurations. - This lets Gradle do the heavy lifting of caching the downloaded jars and also allows downloading them from a configured repository setup. This also simplifies the up-to-date checks. - - Docs are now published on https://slackhq.github.io/slack-gradle-plugin. This is a work in progress. - - API kdocs are published at https://slackhq.github.io/slack-gradle-plugin/api/0.x/. + - Docs are now published on https://slackhq.github.io/foundry. This is a work in progress. + - API kdocs are published at https://slackhq.github.io/foundry/api/0.x/. - Update `kotlin-cli-util` to 1.2.2. 2023-06-25 @@ -118,8 +118,8 @@ class ChangeLogParserTest { - Switch Robolectric jar downloads to use detached configurations. - This lets Gradle do the heavy lifting of caching the downloaded jars and also allows downloading them from a configured repository setup. This also simplifies the up-to-date checks. - - Docs are now published on https://slackhq.github.io/slack-gradle-plugin. This is a work in progress. - - API kdocs are published at https://slackhq.github.io/slack-gradle-plugin/api/0.x/. + - Docs are now published on https://slackhq.github.io/foundry. This is a work in progress. + - API kdocs are published at https://slackhq.github.io/foundry/api/0.x/. - Update `kotlin-cli-util` to 1.2.2. """ .trimIndent() @@ -231,8 +231,8 @@ class ChangeLogParserTest { - Switch Robolectric jar downloads to use detached configurations. - This lets Gradle do the heavy lifting of caching the downloaded jars and also allows downloading them from a configured repository setup. This also simplifies the up-to-date checks. - - Docs are now published on https://slackhq.github.io/slack-gradle-plugin. This is a work in progress. - - API kdocs are published at https://slackhq.github.io/slack-gradle-plugin/api/0.x/. + - Docs are now published on https://slackhq.github.io/foundry. This is a work in progress. + - API kdocs are published at https://slackhq.github.io/foundry/api/0.x/. - Update `kotlin-cli-util` to 1.2.2. """ .trimIndent() diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/SkateTraceReporterTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/SkateTraceReporterTest.kt similarity index 89% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/SkateTraceReporterTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/SkateTraceReporterTest.kt index 7c78a762f..a0525441d 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/SkateTraceReporterTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/SkateTraceReporterTest.kt @@ -13,17 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate import com.google.common.truth.Truth.assertThat import com.intellij.openapi.components.service import com.intellij.testFramework.fixtures.BasePlatformTestCase -import com.slack.sgp.intellij.tracing.SkateTraceReporter -import com.slack.sgp.intellij.tracing.SkateTraceReporter.Companion.DATABASE_NAME -import com.slack.sgp.intellij.tracing.SkateTraceReporter.Companion.SERVICE_NAME -import com.slack.sgp.tracing.KeyValue -import com.slack.sgp.tracing.ValueType -import com.slack.sgp.tracing.model.newTagBuilder +import foundry.intellij.skate.tracing.SkateTraceReporter +import foundry.intellij.skate.tracing.SkateTraceReporter.Companion.DATABASE_NAME +import foundry.intellij.skate.tracing.SkateTraceReporter.Companion.SERVICE_NAME +import foundry.tracing.KeyValue +import foundry.tracing.ValueType +import foundry.tracing.model.newTagBuilder import java.time.Instant import okio.ByteString diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListenerTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/WhatsNewToolWindowListenerTest.kt similarity index 95% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListenerTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/WhatsNewToolWindowListenerTest.kt index e6b441ac9..134d65f8d 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/WhatsNewToolWindowListenerTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/WhatsNewToolWindowListenerTest.kt @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij +package foundry.intellij.skate -import com.intellij.openapi.wm.* import com.intellij.testFramework.fixtures.BasePlatformTestCase import junit.framework.TestCase diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcherImplTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcherImplTest.kt similarity index 94% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcherImplTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcherImplTest.kt index 2fd3792ed..fccdfce25 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerFileFetcherImplTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerFileFetcherImplTest.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners +package foundry.intellij.skate.codeowners import com.google.common.truth.Truth.assertThat import com.intellij.testFramework.fixtures.BasePlatformTestCase -import com.slack.sgp.intellij.util.settings +import foundry.intellij.skate.util.settings private const val TEST_OWNERSHIP_YAML_FILE = "src/test/resources/test-code-ownership.yaml" diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepositoryTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepositoryTest.kt similarity index 98% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepositoryTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepositoryTest.kt index e54734e50..e7c0e4ec5 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/codeowners/CodeOwnerRepositoryTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/codeowners/CodeOwnerRepositoryTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.codeowners +package foundry.intellij.skate.codeowners import com.google.common.truth.Truth.assertThat import com.intellij.testFramework.fixtures.BasePlatformTestCase diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/BaseFeatureFlagTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/BaseFeatureFlagTest.kt similarity index 97% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/BaseFeatureFlagTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/BaseFeatureFlagTest.kt index f7fe81e2c..a526017e4 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/BaseFeatureFlagTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/BaseFeatureFlagTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import com.intellij.psi.PsiFile import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixture4TestCase diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotatorTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotatorTest.kt similarity index 95% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotatorTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotatorTest.kt index 27a26ebfa..429c29ed9 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagAnnotatorTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagAnnotatorTest.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import com.google.common.truth.Truth.assertThat import com.intellij.openapi.components.service -import com.slack.sgp.intellij.SkatePluginSettings +import foundry.intellij.skate.SkatePluginSettings import org.junit.Test class FeatureFlagAnnotatorTest : BaseFeatureFlagTest() { diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractorTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractorTest.kt similarity index 93% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractorTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractorTest.kt index 1348668a9..62ec584ba 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/featureflags/FeatureFlagExtractorTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/featureflags/FeatureFlagExtractorTest.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.featureflags +package foundry.intellij.skate.featureflags import com.google.common.truth.Truth.assertThat import com.intellij.openapi.components.service -import com.slack.sgp.intellij.SkatePluginSettings +import foundry.intellij.skate.SkatePluginSettings import org.junit.Test class FeatureFlagExtractorTest : BaseFeatureFlagTest() { diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotatorTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotatorTest.kt similarity index 95% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotatorTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotatorTest.kt index 6036ec3eb..ae45c1911 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorAnnotatorTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorAnnotatorTest.kt @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator +package foundry.intellij.skate.modeltranslator import com.google.common.truth.Truth.assertThat import com.intellij.codeInsight.daemon.impl.HighlightInfo import com.intellij.lang.annotation.HighlightSeverity import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase -import com.slack.sgp.intellij.DEFAULT_TRANSLATOR_FILE_NAME_SUFFIX -import com.slack.sgp.intellij.DEFAULT_TRANSLATOR_SOURCE_MODELS_PACKAGE_NAME -import com.slack.sgp.intellij.SkateBundle -import com.slack.sgp.intellij.util.settings +import foundry.intellij.skate.DEFAULT_TRANSLATOR_FILE_NAME_SUFFIX +import foundry.intellij.skate.DEFAULT_TRANSLATOR_SOURCE_MODELS_PACKAGE_NAME +import foundry.intellij.skate.SkateBundle +import foundry.intellij.skate.util.settings import org.junit.Ignore @Ignore("TranslatorAnnotator doesn't appear to work in 241+") diff --git a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorHelperTest.kt b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorHelperTest.kt similarity index 96% rename from skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorHelperTest.kt rename to platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorHelperTest.kt index 65b3684fe..8eb5ea27f 100644 --- a/skate-plugin/src/test/kotlin/com/slack/sgp/intellij/modeltranslator/TranslatorHelperTest.kt +++ b/platforms/intellij/skate/src/test/kotlin/foundry/intellij/skate/modeltranslator/TranslatorHelperTest.kt @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.intellij.modeltranslator +package foundry.intellij.skate.modeltranslator import com.google.common.truth.Truth.assertThat import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase -import com.slack.sgp.intellij.modeltranslator.helper.TranslatorHelper -import com.slack.sgp.intellij.util.settings +import foundry.intellij.skate.modeltranslator.helper.TranslatorHelper +import foundry.intellij.skate.util.settings import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType diff --git a/skate-plugin/src/test/resources/test-code-ownership.yaml b/platforms/intellij/skate/src/test/resources/test-code-ownership.yaml similarity index 100% rename from skate-plugin/src/test/resources/test-code-ownership.yaml rename to platforms/intellij/skate/src/test/resources/test-code-ownership.yaml diff --git a/skate-plugin/src/test/testData/ActionTranslator.kt b/platforms/intellij/skate/src/test/testData/ActionTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/ActionTranslator.kt rename to platforms/intellij/skate/src/test/testData/ActionTranslator.kt diff --git a/skate-plugin/src/test/testData/Call.kt b/platforms/intellij/skate/src/test/testData/Call.kt similarity index 100% rename from skate-plugin/src/test/testData/Call.kt rename to platforms/intellij/skate/src/test/testData/Call.kt diff --git a/skate-plugin/src/test/testData/CallExtensions.kt b/platforms/intellij/skate/src/test/testData/CallExtensions.kt similarity index 100% rename from skate-plugin/src/test/testData/CallExtensions.kt rename to platforms/intellij/skate/src/test/testData/CallExtensions.kt diff --git a/skate-plugin/src/test/testData/CallObjectTranslator.kt b/platforms/intellij/skate/src/test/testData/CallObjectTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/CallObjectTranslator.kt rename to platforms/intellij/skate/src/test/testData/CallObjectTranslator.kt diff --git a/skate-plugin/src/test/testData/CallObjectsTranslator.kt b/platforms/intellij/skate/src/test/testData/CallObjectsTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/CallObjectsTranslator.kt rename to platforms/intellij/skate/src/test/testData/CallObjectsTranslator.kt diff --git a/skate-plugin/src/test/testData/CallTranslator.kt b/platforms/intellij/skate/src/test/testData/CallTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/CallTranslator.kt rename to platforms/intellij/skate/src/test/testData/CallTranslator.kt diff --git a/skate-plugin/src/test/testData/FullyQualifiedActionTranslator.kt b/platforms/intellij/skate/src/test/testData/FullyQualifiedActionTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/FullyQualifiedActionTranslator.kt rename to platforms/intellij/skate/src/test/testData/FullyQualifiedActionTranslator.kt diff --git a/skate-plugin/src/test/testData/FullyQualifiedCallTranslator.kt b/platforms/intellij/skate/src/test/testData/FullyQualifiedCallTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/FullyQualifiedCallTranslator.kt rename to platforms/intellij/skate/src/test/testData/FullyQualifiedCallTranslator.kt diff --git a/skate-plugin/src/test/testData/ImportAliasCallTranslator.kt b/platforms/intellij/skate/src/test/testData/ImportAliasCallTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/ImportAliasCallTranslator.kt rename to platforms/intellij/skate/src/test/testData/ImportAliasCallTranslator.kt diff --git a/skate-plugin/src/test/testData/NullableCallTranslator.kt b/platforms/intellij/skate/src/test/testData/NullableCallTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/NullableCallTranslator.kt rename to platforms/intellij/skate/src/test/testData/NullableCallTranslator.kt diff --git a/skate-plugin/src/test/testData/SingleLineCallTranslator.kt b/platforms/intellij/skate/src/test/testData/SingleLineCallTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/SingleLineCallTranslator.kt rename to platforms/intellij/skate/src/test/testData/SingleLineCallTranslator.kt diff --git a/skate-plugin/src/test/testData/StatusStringTranslator.kt b/platforms/intellij/skate/src/test/testData/StatusStringTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/StatusStringTranslator.kt rename to platforms/intellij/skate/src/test/testData/StatusStringTranslator.kt diff --git a/skate-plugin/src/test/testData/TranscriptionStringTranslator.kt b/platforms/intellij/skate/src/test/testData/TranscriptionStringTranslator.kt similarity index 100% rename from skate-plugin/src/test/testData/TranscriptionStringTranslator.kt rename to platforms/intellij/skate/src/test/testData/TranscriptionStringTranslator.kt diff --git a/publish_skate.sh b/publish_skate.sh index 0f45a2068..bc6995b7c 100755 --- a/publish_skate.sh +++ b/publish_skate.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -./gradlew :skate-plugin:uploadPluginToArtifactory --no-configuration-cache --stacktrace \ No newline at end of file +./gradlew :platforms:intellij:skate:uploadPluginToArtifactory --no-configuration-cache --stacktrace \ No newline at end of file diff --git a/regenerate_thermals_lib.sh b/regenerate_thermals_lib.sh index ecb7d5bae..1bf0fce9e 100755 --- a/regenerate_thermals_lib.sh +++ b/regenerate_thermals_lib.sh @@ -1,6 +1,6 @@ -#!/bin/env sh +#!/usr/bin/env sh -cd slack-plugin || exit 1 +cd platforms/gradle/foundry-gradle-plugin || exit 1 swiftc thermal_state.swift -emit-library mv -f libthermal_state.dylib src/main/resources/libthermal_state.dylib cd .. \ No newline at end of file diff --git a/renovate.json b/renovate.json index 97c215c03..160c2ca75 100644 --- a/renovate.json +++ b/renovate.json @@ -5,7 +5,7 @@ "branchPrefix": "test-renovate/", "gitAuthor": "OSS-Bot ", "repositories": [ - "slackhq/slack-gradle-plugin" + "slackhq/foundry" ], "platformAutomerge": true, "packageRules": [ diff --git a/settings.gradle.kts b/settings.gradle.kts index 839aa8afc..bf8627813 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -26,13 +26,13 @@ pluginManagement { // Snapshots/local go first in order to pre-empty other repos that may contain unscrupulous // snapshots. - if (hasProperty("slack.gradle.config.enableSnapshots")) { + if (hasProperty("foundry.gradle.config.enableSnapshots")) { maven("https://oss.sonatype.org/content/repositories/snapshots") maven("https://androidx.dev/snapshots/latest/artifacts/repository") maven("https://oss.jfrog.org/libs-snapshot") } - if (hasProperty("slack.gradle.config.enableMavenLocal")) { + if (hasProperty("foundry.gradle.config.enableMavenLocal")) { mavenLocal() } @@ -97,13 +97,13 @@ dependencyResolutionManagement { // Snapshots/local go first in order to pre-empty other repos that may contain unscrupulous // snapshots. - if (hasProperty("slack.gradle.config.enableSnapshots")) { + if (hasProperty("foundry.gradle.config.enableSnapshots")) { maven("https://oss.sonatype.org/content/repositories/snapshots") maven("https://androidx.dev/snapshots/latest/artifacts/repository") maven("https://oss.jfrog.org/libs-snapshot") } - if (hasProperty("slack.gradle.config.enableMavenLocal")) { + if (hasProperty("foundry.gradle.config.enableMavenLocal")) { mavenLocal() } @@ -143,19 +143,19 @@ develocity { } } -rootProject.name = "slack-gradle-plugin" +rootProject.name = "foundry" // Please keep these in alphabetical order! include( - ":agp-handlers:agp-handler-api", - ":skippy", - ":sgp-common", - ":skate-plugin", - ":skate-plugin:artifactory-authenticator", - ":skate-plugin:compose-playground", - ":skate-plugin:project-gen", - ":slack-plugin", - ":tracing", + ":platforms:gradle:agp-handlers:agp-handler-api", + ":platforms:gradle:foundry-gradle-plugin", + ":platforms:intellij:artifactory-authenticator", + ":platforms:intellij:compose", + ":platforms:intellij:compose:playground", + ":platforms:intellij:skate", + ":tools:foundry-common", + ":tools:skippy", + ":tools:tracing", ) // https://docs.gradle.org/5.6/userguide/groovy_plugin.html#sec:groovy_compilation_avoidance diff --git a/sgp-common/gradle.properties b/sgp-common/gradle.properties deleted file mode 100644 index 297473406..000000000 --- a/sgp-common/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_ARTIFACT_ID=sgp-common -POM_NAME=SGP (Common) -POM_DESCRIPTION=SGP (Common) diff --git a/skate-plugin/project-gen/gradle.properties b/skate-plugin/project-gen/gradle.properties deleted file mode 100644 index 8ab93c84d..000000000 --- a/skate-plugin/project-gen/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -POM_ARTIFACT_ID=skate-project-gen -POM_NAME=Skate (Project Generator) -POM_DESCRIPTION=Skate (Project Generator) -INTELLIJ_PLUGIN=true diff --git a/skippy/gradle.properties b/skippy/gradle.properties deleted file mode 100644 index 2662f85e4..000000000 --- a/skippy/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_ARTIFACT_ID=skippy -POM_NAME=SGP (Skippy) -POM_DESCRIPTION=SGP (Skippy) diff --git a/slack-plugin/best-practices-baseline.json b/slack-plugin/best-practices-baseline.json deleted file mode 100644 index 7d954f450..000000000 --- a/slack-plugin/best-practices-baseline.json +++ /dev/null @@ -1 +0,0 @@ -{"issues":[{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"slack/stats/ModuleStatsTasks$configureRoot$1$1","name":"call","descriptor":"()Ljava/lang/Object;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/stats/ModuleStatsTasks$configureRoot$1$1","name":"call","descriptor":"()Ljava/util/Map;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lslack/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"slack/gradle/SlackRootPlugin","name":"apply","descriptor":"(Ljava/lang/Object;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/SlackRootPlugin","name":"apply","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/SlackRootPlugin","name":"configureRootProject","descriptor":"(Lorg/gradle/api/Project;Lslack/gradle/SlackProperties;Lorg/gradle/api/provider/Provider;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/tasks/AndroidTestApksTask$Companion","name":"register$slack_plugin","descriptor":"(Lorg/gradle/api/Project;)Lorg/gradle/api/tasks/TaskProvider;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lslack/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lslack/gradle/artifacts/SgpArtifact;ZILjava/lang/Object;)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lslack/gradle/artifacts/SgpArtifact;Z)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}},{"type":"get_subprojects","name":"getSubprojects","trace":{"trace":[{"owner":"slack/gradle/SlackRootPlugin$configureRootProject$12","name":"execute","descriptor":"(Ljava/lang/Object;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/SlackRootPlugin$configureRootProject$12","name":"execute","descriptor":"(Lorg/gradle/api/plugins/AppliedPlugin;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/dependencyrake/MissingIdentifiersAggregatorTask$Companion","name":"register","descriptor":"(Lorg/gradle/api/Project;)Lorg/gradle/api/tasks/TaskProvider;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver$default","descriptor":"(Lslack/gradle/artifacts/Resolver$Companion;Lorg/gradle/api/Project;Lslack/gradle/artifacts/SgpArtifact;ZILjava/lang/Object;)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lslack/gradle/artifacts/SgpArtifact;Z)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver$Companion","name":"interProjectResolver","descriptor":"(Lorg/gradle/api/Project;Lorg/gradle/api/attributes/Attribute;Ljava/io/Serializable;Ljava/lang/String;Ljava/lang/String;Z)Lslack/gradle/artifacts/Resolver;","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"slack/gradle/artifacts/Resolver","name":"addSubprojectDependencies","descriptor":"(Lorg/gradle/api/Project;)V","metadata":{"isTaskAction":false,"isVirtual":false}},{"owner":"org/gradle/api/Project","name":"getSubprojects","descriptor":"()Ljava/util/Set;","metadata":{"isTaskAction":false,"isVirtual":false}}]}}]} \ No newline at end of file diff --git a/slack-plugin/gradle.properties b/slack-plugin/gradle.properties deleted file mode 100644 index f197d4d79..000000000 --- a/slack-plugin/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_ARTIFACT_ID=sgp -POM_NAME=Slack Plugin -POM_DESCRIPTION=Slack Gradle Plugin diff --git a/sgp-common/build.gradle.kts b/tools/foundry-common/build.gradle.kts similarity index 96% rename from sgp-common/build.gradle.kts rename to tools/foundry-common/build.gradle.kts index 582684980..092f45c2c 100644 --- a/sgp-common/build.gradle.kts +++ b/tools/foundry-common/build.gradle.kts @@ -14,7 +14,7 @@ * limitations under the License. */ plugins { - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.mavenPublish) alias(libs.plugins.lint) } diff --git a/tools/foundry-common/gradle.properties b/tools/foundry-common/gradle.properties new file mode 100644 index 000000000..5b2cd09c0 --- /dev/null +++ b/tools/foundry-common/gradle.properties @@ -0,0 +1,3 @@ +POM_ARTIFACT_ID=foundry-common +POM_NAME=Foundry (Common) +POM_DESCRIPTION=Foundry (Common) diff --git a/sgp-common/src/main/kotlin/com/slack/sgp/common/Collections.kt b/tools/foundry-common/src/main/kotlin/foundry/common/Collections.kt similarity index 98% rename from sgp-common/src/main/kotlin/com/slack/sgp/common/Collections.kt rename to tools/foundry-common/src/main/kotlin/foundry/common/Collections.kt index dbe737101..a95361fa1 100644 --- a/sgp-common/src/main/kotlin/com/slack/sgp/common/Collections.kt +++ b/tools/foundry-common/src/main/kotlin/foundry/common/Collections.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.common +package foundry.common public fun Collection.mapToSet(transform: (T) -> R): Set { return mapTo(mutableSetOf(), transform) diff --git a/sgp-common/src/main/kotlin/com/slack/sgp/common/SgpLogger.kt b/tools/foundry-common/src/main/kotlin/foundry/common/FoundryLogger.kt similarity index 76% rename from sgp-common/src/main/kotlin/com/slack/sgp/common/SgpLogger.kt rename to tools/foundry-common/src/main/kotlin/foundry/common/FoundryLogger.kt index 18a19a2df..5f9587be3 100644 --- a/sgp-common/src/main/kotlin/com/slack/sgp/common/SgpLogger.kt +++ b/tools/foundry-common/src/main/kotlin/foundry/common/FoundryLogger.kt @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.common +package foundry.common -/** A simple logging abstraction for use in SGP. */ -public interface SgpLogger { +/** A simple logging abstraction for use in Foundry. */ +public interface FoundryLogger { public fun debug(message: String) public fun info(message: String) @@ -33,22 +33,24 @@ public interface SgpLogger { public companion object { - public fun noop(): SgpLogger = NoopSgpLogger + public fun noop(): FoundryLogger = NoopFoundryLogger - public fun system(): SgpLogger = SystemSgpLogger + public fun system(): FoundryLogger = SystemFoundryLogger - public fun prefix(prefix: String, delegate: SgpLogger): SgpLogger = - PrefixSgpLogger(prefix, delegate) + public fun prefix(prefix: String, delegate: FoundryLogger): FoundryLogger = + PrefixFoundryLogger(prefix, delegate) } } /** A simple delegating logger that allows overwriting functions as desired. */ -internal abstract class DelegatingSgpLogger(private val delegate: SgpLogger) : - SgpLogger by delegate +internal abstract class DelegatingFoundryLogger(private val delegate: FoundryLogger) : + FoundryLogger by delegate /** A logger that always adds the given [prefix] to log messages. */ -internal class PrefixSgpLogger(private val prefix: String, private val delegate: SgpLogger) : - SgpLogger { +internal class PrefixFoundryLogger( + private val prefix: String, + private val delegate: FoundryLogger, +) : FoundryLogger { override fun debug(message: String) { delegate.debug("$prefix $message") } @@ -78,8 +80,8 @@ internal class PrefixSgpLogger(private val prefix: String, private val delegate: } } -/** A quiet no-op [SgpLogger]. */ -private object NoopSgpLogger : SgpLogger { +/** A quiet no-op [FoundryLogger]. */ +private object NoopFoundryLogger : FoundryLogger { override fun debug(message: String) {} override fun info(message: String) {} @@ -95,8 +97,8 @@ private object NoopSgpLogger : SgpLogger { override fun error(message: String, error: Throwable) {} } -/** An [SgpLogger] that just writes to [System.out] and [System.err]. */ -private object SystemSgpLogger : SgpLogger { +/** An [FoundryLogger] that just writes to [System.out] and [System.err]. */ +private object SystemFoundryLogger : FoundryLogger { override fun debug(message: String) { println(message) } diff --git a/sgp-common/src/main/kotlin/com/slack/sgp/common/ParallelIterables.kt b/tools/foundry-common/src/main/kotlin/foundry/common/ParallelIterables.kt similarity index 98% rename from sgp-common/src/main/kotlin/com/slack/sgp/common/ParallelIterables.kt rename to tools/foundry-common/src/main/kotlin/foundry/common/ParallelIterables.kt index 1c9d2f10b..3f801b729 100644 --- a/sgp-common/src/main/kotlin/com/slack/sgp/common/ParallelIterables.kt +++ b/tools/foundry-common/src/main/kotlin/foundry/common/ParallelIterables.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.common +package foundry.common import kotlinx.coroutines.CoroutineStart import kotlinx.coroutines.async diff --git a/sgp-common/src/main/kotlin/com/slack/sgp/common/Paths.kt b/tools/foundry-common/src/main/kotlin/foundry/common/Paths.kt similarity index 97% rename from sgp-common/src/main/kotlin/com/slack/sgp/common/Paths.kt rename to tools/foundry-common/src/main/kotlin/foundry/common/Paths.kt index 4213e772c..721dc0262 100644 --- a/sgp-common/src/main/kotlin/com/slack/sgp/common/Paths.kt +++ b/tools/foundry-common/src/main/kotlin/foundry/common/Paths.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.common +package foundry.common import okio.FileSystem import okio.Path diff --git a/skippy/build.gradle.kts b/tools/skippy/build.gradle.kts similarity index 93% rename from skippy/build.gradle.kts rename to tools/skippy/build.gradle.kts index 032dba10c..7ecea24ba 100644 --- a/skippy/build.gradle.kts +++ b/tools/skippy/build.gradle.kts @@ -14,7 +14,7 @@ * limitations under the License. */ plugins { - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.moshix) alias(libs.plugins.mavenPublish) alias(libs.plugins.lint) @@ -29,7 +29,7 @@ dependencies { implementation(libs.kotlinCliUtil) implementation(libs.moshi) implementation(libs.okio) - implementation(projects.sgpCommon) + implementation(projects.tools.foundryCommon) testImplementation(platform(libs.coroutines.bom)) testImplementation(libs.coroutines.test) diff --git a/tools/skippy/gradle.properties b/tools/skippy/gradle.properties new file mode 100644 index 000000000..1f1405420 --- /dev/null +++ b/tools/skippy/gradle.properties @@ -0,0 +1,3 @@ +POM_ARTIFACT_ID=skippy +POM_NAME=Foundry (Skippy) +POM_DESCRIPTION=Foundry (Skippy) diff --git a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsComputer.kt b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsComputer.kt similarity index 98% rename from skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsComputer.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsComputer.kt index a175a94b2..da251479e 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsComputer.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsComputer.kt @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy -import com.slack.sgp.common.SgpLogger -import com.slack.sgp.common.filterToSet -import com.slack.skippy.SkippyConfig.Companion.GLOBAL_TOOL +import foundry.common.FoundryLogger +import foundry.common.filterToSet +import foundry.skippy.SkippyConfig.Companion.GLOBAL_TOOL import kotlin.time.measureTimedValue import okio.FileSystem import okio.Path @@ -89,7 +89,7 @@ public class AffectedProjectsComputer( private val androidTestProjects: Set = emptySet(), private val debug: Boolean = false, private val fileSystem: FileSystem = FileSystem.SYSTEM, - private val logger: SgpLogger = SgpLogger.noop(), + private val logger: FoundryLogger = FoundryLogger.noop(), ) { public fun compute(): AffectedProjectsResult? { return logTimedValue("full computation of ${config.tool}") { computeImpl() } diff --git a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsDefaults.kt b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsDefaults.kt similarity index 98% rename from skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsDefaults.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsDefaults.kt index c104b3815..cda7b72c4 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsDefaults.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsDefaults.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import java.util.Collections.unmodifiableSet diff --git a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsResult.kt b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsResult.kt similarity index 97% rename from skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsResult.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsResult.kt index bdb064123..a2e5d2a32 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/AffectedProjectsResult.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/AffectedProjectsResult.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import java.util.SortedSet diff --git a/skippy/src/main/kotlin/com/slack/skippy/CliktSgpLogger.kt b/tools/skippy/src/main/kotlin/foundry/skippy/CliktFoundryLogger.kt similarity index 82% rename from skippy/src/main/kotlin/com/slack/skippy/CliktSgpLogger.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/CliktFoundryLogger.kt index 5b0e73d81..55ce04f4f 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/CliktSgpLogger.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/CliktFoundryLogger.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.github.ajalt.clikt.core.BaseCliktCommand -import com.slack.sgp.common.SgpLogger +import foundry.common.FoundryLogger -internal fun SgpLogger.Companion.clikt(command: BaseCliktCommand<*>): SgpLogger = - CliktSgpLogger(command) +internal fun FoundryLogger.Companion.clikt(command: BaseCliktCommand<*>): FoundryLogger = + CliktFoundryLogger(command) -private class CliktSgpLogger(private val command: BaseCliktCommand<*>) : SgpLogger { +private class CliktFoundryLogger(private val command: BaseCliktCommand<*>) : FoundryLogger { override fun debug(message: String) { command.echo(message) } diff --git a/skippy/src/main/kotlin/com/slack/skippy/ComputeAffectedProjectsCli.kt b/tools/skippy/src/main/kotlin/foundry/skippy/ComputeAffectedProjectsCli.kt similarity index 98% rename from skippy/src/main/kotlin/com/slack/skippy/ComputeAffectedProjectsCli.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/ComputeAffectedProjectsCli.kt index 614056c89..ef3807053 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/ComputeAffectedProjectsCli.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/ComputeAffectedProjectsCli.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.github.ajalt.clikt.command.SuspendingCliktCommand import com.github.ajalt.clikt.core.Context @@ -22,9 +22,9 @@ import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.types.path import com.jraska.module.graph.DependencyGraph -import com.slack.sgp.common.SgpLogger import com.squareup.moshi.Moshi import com.squareup.moshi.adapter +import foundry.common.FoundryLogger import java.io.ObjectInputStream import java.nio.file.Path import kotlin.coroutines.CoroutineContext @@ -99,7 +99,7 @@ public class ComputeAffectedProjectsCli : SuspendingCliktCommand() { .path(mustExist = true, canBeDir = false, mustBeReadable = true) .required() - private val logger = SgpLogger.clikt(this) + private val logger = FoundryLogger.clikt(this) @OptIn(DelicateCoroutinesApi::class) override suspend fun run() { diff --git a/skippy/src/main/kotlin/com/slack/skippy/DependencyMetadata.kt b/tools/skippy/src/main/kotlin/foundry/skippy/DependencyMetadata.kt similarity index 96% rename from skippy/src/main/kotlin/com/slack/skippy/DependencyMetadata.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/DependencyMetadata.kt index 94976556d..50f26463c 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/DependencyMetadata.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/DependencyMetadata.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy public class DependencyMetadata( public val projectsToDependents: Map> = emptyMap(), diff --git a/skippy/src/main/kotlin/com/slack/skippy/DiagnosticWriter.kt b/tools/skippy/src/main/kotlin/foundry/skippy/DiagnosticWriter.kt similarity index 97% rename from skippy/src/main/kotlin/com/slack/skippy/DiagnosticWriter.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/DiagnosticWriter.kt index 9261b13ed..210b6b306 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/DiagnosticWriter.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/DiagnosticWriter.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy public fun interface DiagnosticWriter { public fun write(name: String, content: () -> String) diff --git a/skippy/src/main/kotlin/com/slack/skippy/GlobUtil.kt b/tools/skippy/src/main/kotlin/foundry/skippy/GlobUtil.kt similarity index 99% rename from skippy/src/main/kotlin/com/slack/skippy/GlobUtil.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/GlobUtil.kt index 21f8ec02a..d03f940cd 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/GlobUtil.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/GlobUtil.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import java.util.regex.PatternSyntaxException import okio.Path diff --git a/skippy/src/main/kotlin/com/slack/skippy/SkippyConfig.kt b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyConfig.kt similarity index 99% rename from skippy/src/main/kotlin/com/slack/skippy/SkippyConfig.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/SkippyConfig.kt index e08a899a5..6fb4e92d0 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/SkippyConfig.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyConfig.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/skippy/src/main/kotlin/com/slack/skippy/SkippyOutput.kt b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyOutput.kt similarity index 89% rename from skippy/src/main/kotlin/com/slack/skippy/SkippyOutput.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/SkippyOutput.kt index 4e26acd95..a4cac95db 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/SkippyOutput.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyOutput.kt @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy -import com.slack.sgp.common.prepareForGradleOutput -import com.slack.skippy.SkippyOutput.Companion.AFFECTED_ANDROID_TEST_PROJECTS_FILE_NAME -import com.slack.skippy.SkippyOutput.Companion.AFFECTED_PROJECTS_FILE_NAME -import com.slack.skippy.SkippyOutput.Companion.FOCUS_SETTINGS_FILE_NAME +import foundry.common.prepareForGradleOutput +import foundry.skippy.SkippyOutput.Companion.AFFECTED_ANDROID_TEST_PROJECTS_FILE_NAME +import foundry.skippy.SkippyOutput.Companion.AFFECTED_PROJECTS_FILE_NAME +import foundry.skippy.SkippyOutput.Companion.FOCUS_SETTINGS_FILE_NAME import okio.FileSystem import okio.Path diff --git a/skippy/src/main/kotlin/com/slack/skippy/SkippyRunner.kt b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyRunner.kt similarity index 95% rename from skippy/src/main/kotlin/com/slack/skippy/SkippyRunner.kt rename to tools/skippy/src/main/kotlin/foundry/skippy/SkippyRunner.kt index 292bf0047..847952d21 100644 --- a/skippy/src/main/kotlin/com/slack/skippy/SkippyRunner.kt +++ b/tools/skippy/src/main/kotlin/foundry/skippy/SkippyRunner.kt @@ -13,19 +13,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.jraska.module.graph.DependencyGraph -import com.slack.sgp.common.SgpLogger -import com.slack.sgp.common.flatMapToSet -import com.slack.sgp.common.flip -import com.slack.sgp.common.parallelMapNotNull -import com.slack.sgp.common.readLines -import com.slack.sgp.common.writeLines -import com.slack.sgp.common.writeText -import com.slack.skippy.SkippyConfig.Companion.GLOBAL_TOOL import com.squareup.moshi.Moshi import com.squareup.moshi.adapter +import foundry.common.FoundryLogger +import foundry.common.flatMapToSet +import foundry.common.flip +import foundry.common.parallelMapNotNull +import foundry.common.readLines +import foundry.common.writeLines +import foundry.common.writeText +import foundry.skippy.SkippyConfig.Companion.GLOBAL_TOOL import kotlin.coroutines.CoroutineContext import kotlin.time.measureTimedValue import kotlinx.coroutines.async @@ -46,7 +46,7 @@ public class SkippyRunner( private val parallelism: Int = originalConfigMap.size, private val fs: FileSystem = FileSystem.SYSTEM, private val debug: Boolean = false, - private val logger: SgpLogger = SgpLogger.noop(), + private val logger: FoundryLogger = FoundryLogger.noop(), private val mergeOutputs: Boolean = true, ) { init { @@ -183,7 +183,7 @@ public class SkippyRunner( ): SkippyOutput? { val tool = config.tool val skippyOutputs = WritableSkippyOutput(tool, outputDir, fs) - val prefixLogger = SgpLogger.prefix("$LOG_PREFIX[$tool]", logger) + val prefixLogger = FoundryLogger.prefix("$LOG_PREFIX[$tool]", logger) val diagnostics = if (debug) { val diagnosticsDir = outputsDir / tool / "diagnostics" diff --git a/skippy/src/test/kotlin/com/slack/skippy/AffectedProjectsComputerTest.kt b/tools/skippy/src/test/kotlin/foundry/skippy/AffectedProjectsComputerTest.kt similarity index 96% rename from skippy/src/test/kotlin/com/slack/skippy/AffectedProjectsComputerTest.kt rename to tools/skippy/src/test/kotlin/foundry/skippy/AffectedProjectsComputerTest.kt index f5a99376b..7ab39d9cb 100644 --- a/skippy/src/test/kotlin/com/slack/skippy/AffectedProjectsComputerTest.kt +++ b/tools/skippy/src/test/kotlin/foundry/skippy/AffectedProjectsComputerTest.kt @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.google.common.truth.Truth.assertThat -import com.slack.sgp.common.SgpLogger -import com.slack.skippy.AffectedProjectsComputer.Companion.anyNeverSkip -import com.slack.skippy.AffectedProjectsComputer.Companion.anyNeverSkipDebug -import com.slack.skippy.AffectedProjectsComputer.Companion.filterExcludes -import com.slack.skippy.AffectedProjectsComputer.Companion.filterIncludes +import foundry.common.FoundryLogger +import foundry.skippy.AffectedProjectsComputer.Companion.anyNeverSkip +import foundry.skippy.AffectedProjectsComputer.Companion.anyNeverSkipDebug +import foundry.skippy.AffectedProjectsComputer.Companion.filterExcludes +import foundry.skippy.AffectedProjectsComputer.Companion.filterIncludes import okio.Path import okio.Path.Companion.toPath import okio.fakefilesystem.FakeFileSystem @@ -57,7 +57,7 @@ class AffectedProjectsComputerTest { androidTestProjects = setOf(":foo"), rootDirPath = rootDirPath, debug = true, - logger = SgpLogger.system(), + logger = FoundryLogger.system(), diagnostics = diagnosticWriter, ) diff --git a/skippy/src/test/kotlin/com/slack/skippy/PathMatcherTest.kt b/tools/skippy/src/test/kotlin/foundry/skippy/PathMatcherTest.kt similarity index 98% rename from skippy/src/test/kotlin/com/slack/skippy/PathMatcherTest.kt rename to tools/skippy/src/test/kotlin/foundry/skippy/PathMatcherTest.kt index 589d77a20..f00408c26 100644 --- a/skippy/src/test/kotlin/com/slack/skippy/PathMatcherTest.kt +++ b/tools/skippy/src/test/kotlin/foundry/skippy/PathMatcherTest.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.google.common.truth.Truth.assertThat import okio.Path.Companion.toPath diff --git a/skippy/src/test/kotlin/com/slack/skippy/SkippyRunnerTest.kt b/tools/skippy/src/test/kotlin/foundry/skippy/SkippyRunnerTest.kt similarity index 96% rename from skippy/src/test/kotlin/com/slack/skippy/SkippyRunnerTest.kt rename to tools/skippy/src/test/kotlin/foundry/skippy/SkippyRunnerTest.kt index 68fc7fc16..dd5106aee 100644 --- a/skippy/src/test/kotlin/com/slack/skippy/SkippyRunnerTest.kt +++ b/tools/skippy/src/test/kotlin/foundry/skippy/SkippyRunnerTest.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import com.google.common.truth.Truth.assertThat import com.jraska.module.graph.DependencyGraph -import com.slack.sgp.common.SgpLogger -import com.slack.sgp.common.readLines -import com.slack.sgp.common.writeLines -import com.slack.skippy.SkippyConfig.Companion.GLOBAL_TOOL import com.squareup.moshi.Moshi +import foundry.common.FoundryLogger +import foundry.common.readLines +import foundry.common.writeLines +import foundry.skippy.SkippyConfig.Companion.GLOBAL_TOOL import kotlinx.coroutines.test.runTest import okio.Path import okio.fakefilesystem.FakeFileSystem @@ -61,7 +61,7 @@ class SkippyRunnerTest { originalConfigMap = configs.associateBy { it.tool }, moshi = Moshi.Builder().build(), debug = true, - logger = SgpLogger.system(), + logger = FoundryLogger.system(), mergeOutputs = true, fs = fs, ) diff --git a/skippy/src/test/kotlin/com/slack/skippy/TestProject.kt b/tools/skippy/src/test/kotlin/foundry/skippy/TestProject.kt similarity index 99% rename from skippy/src/test/kotlin/com/slack/skippy/TestProject.kt rename to tools/skippy/src/test/kotlin/foundry/skippy/TestProject.kt index f68ec25e5..92fa30b50 100644 --- a/skippy/src/test/kotlin/com/slack/skippy/TestProject.kt +++ b/tools/skippy/src/test/kotlin/foundry/skippy/TestProject.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.skippy +package foundry.skippy import okio.BufferedSink import okio.FileSystem diff --git a/tracing/build.gradle.kts b/tools/tracing/build.gradle.kts similarity index 100% rename from tracing/build.gradle.kts rename to tools/tracing/build.gradle.kts diff --git a/tools/tracing/gradle.properties b/tools/tracing/gradle.properties new file mode 100644 index 000000000..67ab64056 --- /dev/null +++ b/tools/tracing/gradle.properties @@ -0,0 +1,3 @@ +POM_ARTIFACT_ID=tracing +POM_NAME=Foundry Tracing +POM_DESCRIPTION=Foundry Tracing diff --git a/tracing/lint-baseline.xml b/tools/tracing/lint-baseline.xml similarity index 63% rename from tracing/lint-baseline.xml rename to tools/tracing/lint-baseline.xml index a509f6d11..7cc3ae8b3 100644 --- a/tracing/lint-baseline.xml +++ b/tools/tracing/lint-baseline.xml @@ -1,5 +1,5 @@ - + diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/api/TracingService.kt b/tools/tracing/src/main/kotlin/foundry/tracing/api/TracingService.kt similarity index 92% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/api/TracingService.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/api/TracingService.kt index 80831647c..9609f7ec6 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/api/TracingService.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/api/TracingService.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.api +package foundry.tracing.api -import com.slack.sgp.tracing.ListOfSpans +import foundry.tracing.ListOfSpans import retrofit2.http.Body import retrofit2.http.POST import retrofit2.http.Url diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/SpanIds.kt b/tools/tracing/src/main/kotlin/foundry/tracing/model/SpanIds.kt similarity index 97% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/model/SpanIds.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/model/SpanIds.kt index cbce0c469..0e5f0945d 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/SpanIds.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/model/SpanIds.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.model +package foundry.tracing.model import java.util.Locale import kotlin.random.Random diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/Spans.kt b/tools/tracing/src/main/kotlin/foundry/tracing/model/Spans.kt similarity index 94% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/model/Spans.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/model/Spans.kt index 30aa3d70b..c3865171b 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/Spans.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/model/Spans.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.model +package foundry.tracing.model -import com.slack.sgp.tracing.Span +import foundry.tracing.Span import okio.ByteString /** Creates a span. If no trace ID is specified, a random one is generated. */ diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/TagBuilder.kt b/tools/tracing/src/main/kotlin/foundry/tracing/model/TagBuilder.kt similarity index 93% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/model/TagBuilder.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/model/TagBuilder.kt index 3f548dcbe..27b14e996 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/model/TagBuilder.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/model/TagBuilder.kt @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.model +package foundry.tracing.model -import com.slack.sgp.tracing.KeyValue -import com.slack.sgp.tracing.ValueType +import foundry.tracing.KeyValue +import foundry.tracing.ValueType import okio.ByteString public interface TagBuilder : MutableList { diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/SimpleTraceReporter.kt b/tools/tracing/src/main/kotlin/foundry/tracing/reporter/SimpleTraceReporter.kt similarity index 91% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/SimpleTraceReporter.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/reporter/SimpleTraceReporter.kt index 7da13808f..a6fe7785b 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/SimpleTraceReporter.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/reporter/SimpleTraceReporter.kt @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.reporter +package foundry.tracing.reporter -import com.slack.sgp.tracing.ListOfSpans -import com.slack.sgp.tracing.api.TracingService +import foundry.tracing.ListOfSpans +import foundry.tracing.api.TracingService import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.wire.WireConverterFactory diff --git a/tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/TraceReporter.kt b/tools/tracing/src/main/kotlin/foundry/tracing/reporter/TraceReporter.kt similarity index 92% rename from tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/TraceReporter.kt rename to tools/tracing/src/main/kotlin/foundry/tracing/reporter/TraceReporter.kt index 600008458..3bb29ca2e 100644 --- a/tracing/src/main/kotlin/com/slack/sgp/tracing/reporter/TraceReporter.kt +++ b/tools/tracing/src/main/kotlin/foundry/tracing/reporter/TraceReporter.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.slack.sgp.tracing.reporter +package foundry.tracing.reporter -import com.slack.sgp.tracing.ListOfSpans +import foundry.tracing.ListOfSpans /** Reports a build trace (modeled as list of spans, in protocol buffer format) to some location. */ public interface TraceReporter { diff --git a/tracing/src/main/proto/trace.proto b/tools/tracing/src/main/proto/trace.proto similarity index 98% rename from tracing/src/main/proto/trace.proto rename to tools/tracing/src/main/proto/trace.proto index 333e4dc2e..c6a8bb06f 100644 --- a/tracing/src/main/proto/trace.proto +++ b/tools/tracing/src/main/proto/trace.proto @@ -4,7 +4,7 @@ syntax = "proto3"; package trace; -option java_package = "com.slack.sgp.tracing"; +option java_package = "foundry.tracing"; option java_outer_classname = "Trace"; // The KeyValue message defines a key and value pair. diff --git a/tracing/gradle.properties b/tracing/gradle.properties deleted file mode 100644 index 4230b698d..000000000 --- a/tracing/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_ARTIFACT_ID=sgp-tracing -POM_NAME=SGP Tracing -POM_DESCRIPTION=SGP Tracing