Skip to content

Contributions 🤝

We encourage contributions of all types! Whether it’s reporting issues, suggesting new features, or submitting pull requests, you’re welcome to help improve the plugin.

How to test the popcorngp locally in a project?

Publishing the library locally

Use JVM 17

Make sure your Gradle is using JVM 17, otherwise you could have some issues.

To run the plugin locally you need to publish it in your local machine using mavenLocal. You can follow the steps:

1- Update the popcornguineapigplugin/build.gradle.kts commenting the lines:

...
mavenPublishing {
    //publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
    //signAllPublications()
    ...

2- Publish the plugin locally, using the command:

./gradlew :popcornguineapigplugin:publishToMavenLocal

After that, the plugin artifacts will be in your machine in the following path $HOME/.m2/repository/io/github/codandotv/popcornguineapig/x.x.x.

Using the local library in any project

1- In your project, you can use by adding the mavenLocal() repository in the following places:

// settings.gradle.kts
pluginManagement {
    ...
    repositories {
        ...
        mavenLocal()
    }
}
// build-logic/build.gradle.kts
...
repositories {
    mavenLocal()
    // ...
}

dependencies {
    implementation("io.github.codandotv:popcornguineapig:x.x.x")
}

How to run the documentation locally?

  • Create your virtual env:
python3 -m venv venv
  • Open the new env:
source venv/bin/activate
  • Install mkdocs-material:
pip install mkdocs-material
  • Start the local server:
mkdocs serve --watch .

Access your documentation at http://127.0.0.1:8000/

Some tips

  • We primarily use IntelliJ IDEA for developing new features and fixing bugs. While it’s possible to use Android Studio, IntelliJ IDEA is the more convenient option, especially since we are working on a Gradle plugin;

  • When developing a new architecture rule, make sure to write unit tests for it. Additionally, you can create a sample in the sample directory to simulate the architecture violation;

  • If you have any questions about contributions, feel free to reach out to someone from CodandoTV. You can contact Gabriel Moro or Rodrigo Vianna.

🤗 Happy coding!