You can open this sample inside an IDE using the IntelliJ native importer or Eclipse Buildship.

This sample shows how a Groovy library can be published to a repository with Gradle.

my-library/build.gradle.kts
plugins {
    groovy
    `maven-publish`
}

version = "1.0.2"
group = "org.gradle.sample"

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.codehaus.groovy:groovy-all:3.0.18")
}

publishing {
    publications {
        create<MavenPublication>("library") {
            from(components["java"])
        }
    }
    repositories {
        maven {
            url = uri(layout.buildDirectory.dir("publishing-repository"))
        }
    }
}
my-library/build.gradle
plugins {
    id 'groovy'
    id 'maven-publish'
}

version = '1.0.2'
group = 'org.gradle.sample'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.codehaus.groovy:groovy-all:3.0.18'
}

publishing {
    publications {
        library(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            url = layout.buildDirectory.dir("publishing-repository")
        }
    }
}

To publish the library:

$ ./gradlew publish

BUILD SUCCESSFUL
4 actionable tasks: 4 executed
$ tree build/publishing-repository
build/publishing-repository/
└── org
    └── gradle
        └── sample
            └── my-library
                ├── 1.0.2
                │   ├── my-library-1.0.2.jar
                │   ├── my-library-1.0.2.jar.md5
                │   ├── my-library-1.0.2.jar.sha1
                │   ├── my-library-1.0.2.jar.sha256
                │   ├── my-library-1.0.2.jar.sha512
                │   ├── my-library-1.0.2.module
                │   ├── my-library-1.0.2.module.md5
                │   ├── my-library-1.0.2.module.sha1
                │   ├── my-library-1.0.2.module.sha256
                │   ├── my-library-1.0.2.module.sha512
                │   ├── my-library-1.0.2.pom
                │   ├── my-library-1.0.2.pom.md5
                │   ├── my-library-1.0.2.pom.sha1
                │   ├── my-library-1.0.2.pom.sha256
                │   └── my-library-1.0.2.pom.sha512
                ├── maven-metadata.xml
                ├── maven-metadata.xml.md5
                ├── maven-metadata.xml.sha1
                ├── maven-metadata.xml.sha256
                └── maven-metadata.xml.sha512

5 directories, 20 files

For more information, see Publishing Libraries.