- custom generate typed-factorio files
- buildSrc archetype plugins
This commit is contained in:
parent
ec94c68187
commit
877c1cdb98
96 changed files with 24216 additions and 279 deletions
15
buildSrc/build.gradle.kts
Normal file
15
buildSrc/build.gradle.kts
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
val kotlinVersion = "1.5.31"
|
||||
|
||||
implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlinVersion"))
|
||||
|
||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin")
|
||||
|
||||
implementation("com.github.node-gradle:gradle-node-plugin:3.1.1")
|
||||
|
||||
}
|
||||
43
buildSrc/settings.gradle.kts
Normal file
43
buildSrc/settings.gradle.kts
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
rootProject.name = "buildSrc"
|
||||
|
||||
enableFeaturePreview("VERSION_CATALOGS")
|
||||
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
||||
|
||||
@Suppress("UnstableApiUsage")
|
||||
dependencyResolutionManagement {
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/")
|
||||
maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
|
||||
|
||||
// Declare the Node.js download repository
|
||||
ivy {
|
||||
name = "Node.js"
|
||||
setUrl("https://nodejs.org/dist/")
|
||||
patternLayout {
|
||||
artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("org.nodejs", "node")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pluginManagement {
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
maven {
|
||||
url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package dev.adamko.factoriowebmap.archetype
|
||||
|
||||
plugins {
|
||||
base
|
||||
}
|
||||
|
||||
group = rootProject.group.toString() + "." + project.name
|
||||
version = rootProject.version
|
||||
|
||||
val projectId by extra(rootProject.name + "-" + project.name)
|
||||
val modBuildDir by extra(layout.buildDirectory.dir(projectId).get())
|
||||
|
||||
//group = "dev.adamko.factoriowebmap"
|
||||
//version = "0.0.1"
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package dev.adamko.factoriowebmap.archetype
|
||||
|
||||
import org.gradle.kotlin.dsl.kotlin
|
||||
import com.github.gradle.node.npm.task.NpmTask
|
||||
import com.github.gradle.node.task.NodeTask
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dukat.DtsResolver
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.RootPackageJsonTask
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinPackageJsonTask
|
||||
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
||||
|
||||
|
||||
plugins {
|
||||
kotlin("js")
|
||||
id("com.github.node-gradle.node")
|
||||
id("dev.adamko.factoriowebmap.archetype.base")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
js(IR) {
|
||||
|
||||
binaries.executable()
|
||||
|
||||
useCommonJs()
|
||||
nodejs()
|
||||
//
|
||||
//// compilations.all {
|
||||
// compilations["main"].apply {
|
||||
// packageJson {
|
||||
// customField(
|
||||
// "scripts",
|
||||
// mapOf(
|
||||
// "build" to "tstl",
|
||||
// "dev" to "tstl --watch",
|
||||
// )
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
val rootPackageJson by rootProject.tasks.getting(RootPackageJsonTask::class)
|
||||
|
||||
//fun NpmTask.setNodeModulesPath(path: String): Unit =
|
||||
// environment.put("NODE_PATH", path)
|
||||
//
|
||||
//fun NpmTask.setNodeModulesPath(folder: File): Unit =
|
||||
// setNodeModulesPath(folder.normalize().absolutePath)
|
||||
|
||||
|
||||
val nodePath: Directory by extra {
|
||||
val file = rootPackageJson.rootPackageJson.parentFile.normalize()
|
||||
logger.lifecycle("Found root NODE_PATH: $file")
|
||||
project.layout.dir(provider { file }).get()
|
||||
}
|
||||
|
||||
val nodeModulesDir: Directory by extra {
|
||||
val file = nodePath.dir(NpmProject.NODE_MODULES)
|
||||
logger.lifecycle("Found root NODE_MODULES: $file")
|
||||
file
|
||||
}
|
||||
|
||||
node {
|
||||
download.set(true)
|
||||
version.set("14.18.0")
|
||||
|
||||
distBaseUrl.set(null as String?) // set by dependencyResolutionManagement
|
||||
|
||||
nodeProjectDir.set(nodePath)
|
||||
// nodeProjectDir.set(packageJson.packageJson.parentFile.normalize())
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package dev.adamko.factoriowebmap.archetype
|
||||
|
||||
plugins {
|
||||
id("dev.adamko.factoriowebmap.archetype.base")
|
||||
kotlin("jvm")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue