Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve conventions for JVM software types and CLI application software types #75

Merged
merged 3 commits into from
May 23, 2024

Conversation

adammurdoch
Copy link
Contributor

@adammurdoch adammurdoch commented May 22, 2024

For software types that are implemented using Java or that target the JVM, define repositories so that the software can be built out-of-the-box without further configuration.

  • Apply the foojay plugin.
  • Add Maven central as a library repository.
  • Also add the Google repo as a library repository when building Android software.

For software types that produce one or more CLI applications, add a runAll task (placeholder name) which will build and run the application for all target platforms and build types that can be built on the host machine.

@adammurdoch adammurdoch changed the title Improve conventions for JVM software types and CLI application types Improve conventions for JVM software types and CLI application software types May 22, 2024
Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly checked the docs but the code looks ok too

@@ -30,16 +30,17 @@ To get started, follow the steps in [this guide](../android/README.md#3-getting-

At the moment, we do not have a detailed guide for other project types.
They are coming soon.
For now, you can check out the [Declarative Gradle prototypes](../../early-prototypes/README.md).
For now, you can check out the [Declarative Gradle prototypes](../../unified-prototypes/README.md).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, thanks for catching it. Wrong reference, and got it copypasted

@@ -37,3 +37,4 @@ javaApplication {

- [Declarative Gradle for Kotlin](../kotlin/README.md)
- [Declarative Gradle for Android](../android/README.md)
- [Declarative Gradle for Swift](../swift/README.md)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea here was to rather reference the related pages and not all of them (e.g. Kotlin and Android stem from Java), but we can link all of them for now until we have more complex navigation

…er configuration.

Specifically:

- Apply the foojay plugin to enable Java toolchains to be downloaded, for ecosystems that build code that targets the JVM.
- Add Maven central and the Google repo as required for ecosystems that need libraries or tools from these repositories.
…tion.

This task will build and execute the CLI application for all target platforms and build types.
@adammurdoch adammurdoch force-pushed the am/repo-conventions branch from aecb711 to a0d7896 Compare May 23, 2024 21:00
@adammurdoch adammurdoch merged commit 56986bb into main May 23, 2024
1 check passed
@oleg-nenashev oleg-nenashev added the enhancement New feature or request label May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants