#!/home/nick/bin/feather2 library /home/nick/projects/metabuild/build/libs/metabuild-0.1.jar import uk.co.nickthecoder.metabuild.* class MetaMetaBuild : MetaBuild() { val version = "0.1" val kotlinVersion = "2.1.0" val glokVersion = "0.6alpha8" val featherVersion= "2.1.7" val feather2glokVersion = "0.4" val commonsVersion = "2.17.0" val jsonVersion = "0.9.5" meth build() { installGradle() repositories( MavenCentral(), gitLabRepository( "glok", "46354938" ), gitLabRepository( "feather2", "60506750" ), gitLabRepository( "feather2glok", "61295205" ) ) // Now we define each subproject. Simple projects will only have a single (unnamed) project. // root val root = project().apply { application( "uk.co.nickthecoder.featureful.Featureful" ) kotlin().apply { implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation("uk.co.nickthecoder:glok-core:$glokVersion") implementation("uk.co.nickthecoder:glok-model:$glokVersion") implementation("uk.co.nickthecoder:glok-dock:$glokVersion") implementation("uk.co.nickthecoder:feather2-core:$featherVersion") implementation("uk.co.nickthecoder:feather2-runtime:$featherVersion") implementation("uk.co.nickthecoder:feather2glok:$feather2glokVersion") // For WriterOutputStream used by OutputDock. implementation("commons-io:commons-io:$commonsVersion") // For importing/exporting Forms. See ImportFormDialog, ExportFormDialog. implementation("com.eclipsesource.minimal-json:minimal-json:$jsonVersion") } dokka() exec( "ntc", "publishToNTC.feather", "--", version ).apply { dependsOn( "distZip", "dokkaHtml" ) } } // metadata project( "metadata" ).apply { application( "uk.co.nickthecoder.featureful.metadata.GenerateMetadata" ) kotlin().apply { dependsOn( root ) } } buildGradleScripts() } func main(args: String...) { MetaMetaBuild().build() } }