diff --git a/libraries/pom.xml b/libraries/pom.xml index 466fe998a09..b8664d1f77e 100644 --- a/libraries/pom.xml +++ b/libraries/pom.xml @@ -82,6 +82,8 @@ tools/kotlin-reflect tools/kotlin-osgi-bundle + tools/maven-archetypes + tools/binary-compatibility-validator diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml new file mode 100644 index 00000000000..c8b72187af7 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml @@ -0,0 +1,18 @@ + + + 4.0.0 + + + org.jetbrains.kotlin + kotlin-archetypes-parent + 0.1-SNAPSHOT + ../pom.xml + + + org.jetbrains.kotlin + kotlin-archetype-js + Kotlin single-module JavaScript project archetype + kotlin-archetype-js + maven-archetype + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml new file mode 100644 index 00000000000..4dab7cab8ca --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml @@ -0,0 +1,28 @@ + + + + + + src/main/kotlin + + **/*.kt + + + + + + index.html + + + + + + + ${project.version} + + + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html new file mode 100644 index 00000000000..897d08686c0 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html @@ -0,0 +1,18 @@ + + + + + Test page + + + + + + + + + + + + + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml new file mode 100644 index 00000000000..4f8f1d6f2c5 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + ${groupId} + ${artifactId} + ${version} + jar + + ${groupId} ${artifactId} + + + UTF-8 + ${kotlinVersion} + 4.12 + + + + + org.jetbrains.kotlin + kotlin-js-library + ${kotlin.version} + + + + + src/main/kotlin + + + + kotlin-maven-plugin + org.jetbrains.kotlin + ${kotlin.version} + + + + compile + compile + + js + + + true + ${project.build.outputDirectory}/${project.artifactId}.js + + + + + + + + maven-dependency-plugin + + + extract-kotlinjs + prepare-package + + unpack-dependencies + + + kotlin-js-library + ${build.outputDirectory}/lib + **\/*.js + **\/*.meta.js + + + + + + + + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt new file mode 100644 index 00000000000..b16121d53b1 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt @@ -0,0 +1,13 @@ +package ${package} + +import kotlin.browser.window + +/** + * Example main function. Started at script body. + * At first time you have to run `mvn package`. + * Open example index.html in browser once you compile it. + */ +fun main(args: Array) { + window.alert("Hello, World!") +} + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties new file mode 100644 index 00000000000..1b9bba2c2db --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties @@ -0,0 +1,6 @@ +#Mon Nov 30 19:53:25 MSK 2015 +package=it.pkg +version=0.1-SNAPSHOT +groupId=archetype.it +artifactId=basic +kotlinVersion=0.1-SNAPSHOT diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/goal.txt b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/goal.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml new file mode 100644 index 00000000000..959c06c48e4 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml @@ -0,0 +1,18 @@ + + + 4.0.0 + + + org.jetbrains.kotlin + kotlin-archetypes-parent + 0.1-SNAPSHOT + ../pom.xml + + + org.jetbrains.kotlin + kotlin-archetype-jvm + Kotlin single-module JVM project archetype + kotlin-archetype-jvm + maven-archetype + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml new file mode 100644 index 00000000000..33efbe484b3 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml @@ -0,0 +1,28 @@ + + + + + + src/main/kotlin + + **/*.kt + + + + src/test/kotlin + + **/*.kt + + + + + + + ${project.version} + + + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml new file mode 100644 index 00000000000..d2cb5ed3f7f --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + ${groupId} + ${artifactId} + ${version} + jar + + ${groupId} ${artifactId} + + + UTF-8 + ${kotlinVersion} + 4.12 + + + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test-junit + ${kotlin.version} + test + + + junit + junit + ${junit.version} + test + + + + + src/main/kotlin + src/test/kotlin + + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + + + + + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt new file mode 100644 index 00000000000..9e2befd0ded --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt @@ -0,0 +1,6 @@ +package ${package} + +fun main(args: Array) { + println("Hello, World") +} + diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt new file mode 100644 index 00000000000..ec286ea3167 --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt @@ -0,0 +1,8 @@ +package ${package} + +import org.junit.Test +import kotlin.test.assertEquals + +class HelloTest { + +} diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties new file mode 100644 index 00000000000..1b9bba2c2db --- /dev/null +++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties @@ -0,0 +1,6 @@ +#Mon Nov 30 19:53:25 MSK 2015 +package=it.pkg +version=0.1-SNAPSHOT +groupId=archetype.it +artifactId=basic +kotlinVersion=0.1-SNAPSHOT diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/goal.txt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/goal.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libraries/tools/maven-archetypes/pom.xml b/libraries/tools/maven-archetypes/pom.xml new file mode 100644 index 00000000000..f584410cd9e --- /dev/null +++ b/libraries/tools/maven-archetypes/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + + org.jetbrains.kotlin + kotlin-project + 0.1-SNAPSHOT + ../../pom.xml + + + org.jetbrains.kotlin + kotlin-archetypes + Kotlin archetypes parent + kotlin-archetypes-parent + pom + + + kotlin-archetype-jvm + kotlin-archetype-js + + + + + + src/main/resources + true + + META-INF/maven/archetype-metadata.xml + + + + src/main/resources + false + + META-INF/maven/archetype-metadata.xml + + + + + + + org.apache.maven.archetype + archetype-packaging + 2.4 + + + + + + + maven-archetype-plugin + 2.4 + + + + +