# Upgrading from Gradle 6 to Gradle 8

**URL:** https://discuss.gradle.org/t/upgrading-from-gradle-6-to-gradle-8/49128
**Category:** Help/Discuss
**Tags:** plugins
**Created:** [August 14, 2024, 5:01pm UTC](https://discuss.gradle.org/t/upgrading-from-gradle-6-to-gradle-8/49128 "2024-08-14T17:01:57Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![nicolas06](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/nicolas06/32/7230_2.png) [@nicolas06](https://discuss.gradle.org/u/nicolas06)
#### Post date: [August 14, 2024, 5:01pm UTC](https://discuss.gradle.org/t/upgrading-from-gradle-6-to-gradle-8/49128/1 "2024-08-14T17:01:57Z")

</div>

Hello Gradle Community,

I’m working on integrating a custom toolchain for the our processor into a Gradle 8.8 project. Specifically, we have our own implementation of GCC for this architecture.

### Context:

With the previous version of Gradle, we were using models and platforms, see below:

```groovy
class coolidgePlugin implements Plugin<Project> {
    @Override
    void apply(Project project) {
        project.plugins.apply('cpp-application')

        project.model {
            platforms {
                coolidge {
                    architecture "brane"
                    operatingSystem "linux"
                }
            }
            toolChains {
                gcc(Gcc) {
                    target("braneManycore"){
                        cppCompiler.executable 'br-g++'
                        assembler.executable 'br-g++'
                        linker.executable 'br-g++'
                    }
                }
            }
        }
    }
}

```

### Question:

1. What is the recommended approach for creating and integrating a custom toolchain in Gradle 8.8? There has been a lot of changes in the API and we’re don’t know what is the best option.

2. If extending `GccToolChain` is the recommended route, could you provide guidance or examples on how to properly set up and instantiate the necessary internal dependencies in Gradle 8.8?

3. Which approach is likely to offer better stability and maintainability with future Gradle versions?

Thank you in advance for your insights and recommendations!  
Nicolas
