From d78a1534925e7e424355d214c683e946cbb97d05 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen <tobias@gesellix.de> Date: Wed, 18 Jan 2023 22:24:10 +0100 Subject: Java: add Apache Ant (#409) * Java: add Apache Ant * Update src/java/devcontainer-feature.json Co-authored-by: Samruddhi Khandale <skhandale@microsoft.com> * revert the changes in README.md * Add tests for Java/Ant * Fix Java feature version Co-authored-by: Samruddhi Khandale <skhandale@microsoft.com> --- test/java/install_ant_and_gradle_and_maven.sh | 28 ++++++++++++++++++++++ .../install_ant_and_gradle_and_maven_for_user.sh | 28 ++++++++++++++++++++++ ...t_and_gradle_and_maven_with_specific_version.sh | 28 ++++++++++++++++++++++ test/java/install_gradle_and_maven.sh | 21 ---------------- test/java/install_gradle_and_maven_for_user.sh | 21 ---------------- ...stall_gradle_and_maven_with_specific_version.sh | 21 ---------------- test/java/scenarios.json | 10 +++++--- 7 files changed, 91 insertions(+), 66 deletions(-) create mode 100644 test/java/install_ant_and_gradle_and_maven.sh create mode 100644 test/java/install_ant_and_gradle_and_maven_for_user.sh create mode 100644 test/java/install_ant_and_gradle_and_maven_with_specific_version.sh delete mode 100644 test/java/install_gradle_and_maven.sh delete mode 100644 test/java/install_gradle_and_maven_for_user.sh delete mode 100644 test/java/install_gradle_and_maven_with_specific_version.sh (limited to 'test/java') diff --git a/test/java/install_ant_and_gradle_and_maven.sh b/test/java/install_ant_and_gradle_and_maven.sh new file mode 100644 index 0000000..599f8d9 --- /dev/null +++ b/test/java/install_ant_and_gradle_and_maven.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +# Optional: Import test library +source dev-container-features-test-lib + +check "user is root" grep root <(whoami) + +check "java" java --version + +check "ant" ant -version +cat << EOF > /tmp/build.xml +<project><target name="init"><mkdir dir="ant-src"/></target></project> +EOF +cd /tmp && ant init +check "ant-src exists" grep "ant-src" <(ls -la /tmp) + +check "gradle" gradle --version +cd /tmp && gradle init --type basic --dsl groovy --incubating --project-name test +check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /root) + +check "maven" mvn --version +cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false +check "m2 exists" grep ".m2" <(ls -la /root) + +# Report result +reportResults diff --git a/test/java/install_ant_and_gradle_and_maven_for_user.sh b/test/java/install_ant_and_gradle_and_maven_for_user.sh new file mode 100644 index 0000000..4e8b431 --- /dev/null +++ b/test/java/install_ant_and_gradle_and_maven_for_user.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +# Optional: Import test library +source dev-container-features-test-lib + +check "user is vscode" grep vscode <(whoami) + +check "java" java --version + +check "ant" ant -version +cat << EOF > /tmp/build.xml +<project><target name="init"><mkdir dir="ant-src"/></target></project> +EOF +cd /tmp && ant init +check "ant-src exists" grep "ant-src" <(ls -la /tmp) + +check "gradle" gradle --version +cd /tmp && gradle init --type basic --dsl groovy --incubating --project-name test +check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /home/vscode) + +check "maven" mvn --version +cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false +check "m2 exists" grep ".m2" <(ls -la /home/vscode) + +# Report result +reportResults diff --git a/test/java/install_ant_and_gradle_and_maven_with_specific_version.sh b/test/java/install_ant_and_gradle_and_maven_with_specific_version.sh new file mode 100644 index 0000000..7727f51 --- /dev/null +++ b/test/java/install_ant_and_gradle_and_maven_with_specific_version.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +# Optional: Import test library +source dev-container-features-test-lib + +check "user is root" grep root <(whoami) + +check "java" java --version + +check "ant version" grep "Ant(TM) version 1.10.12" <(ant -version) +cat << EOF > /tmp/build.xml +<project><target name="init"><mkdir dir="ant-src"/></target></project> +EOF +cd /tmp && ant init +check "ant-src exists" grep "ant-src" <(ls -la /tmp) + +check "gradle version" grep "Gradle 6.8.3" <(gradle --version) +cd /tmp && gradle init --type basic --dsl groovy --project-name test +check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /root) + +check "maven version" grep "Apache Maven 3.6.3" <(mvn --version) +cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false +check "m2 exists" grep ".m2" <(ls -la /root) + +# Report result +reportResults diff --git a/test/java/install_gradle_and_maven.sh b/test/java/install_gradle_and_maven.sh deleted file mode 100644 index 636fd92..0000000 --- a/test/java/install_gradle_and_maven.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -# Optional: Import test library -source dev-container-features-test-lib - -check "user is root" grep root <(whoami) - -check "java" java --version -check "gradle" gradle --version - -cd /tmp && gradle init --type basic --dsl groovy --incubating --project-name test -check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /root) - -check "maven" mvn --version -cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false -check "m2 exists" grep ".m2" <(ls -la /root) - -# Report result -reportResults diff --git a/test/java/install_gradle_and_maven_for_user.sh b/test/java/install_gradle_and_maven_for_user.sh deleted file mode 100644 index b6ea426..0000000 --- a/test/java/install_gradle_and_maven_for_user.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -# Optional: Import test library -source dev-container-features-test-lib - -check "user is vscode" grep vscode <(whoami) - -check "java" java --version -check "gradle" gradle --version - -cd /tmp && gradle init --type basic --dsl groovy --incubating --project-name test -check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /home/vscode) - -check "maven" mvn --version -cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false -check "m2 exists" grep ".m2" <(ls -la /home/vscode) - -# Report result -reportResults diff --git a/test/java/install_gradle_and_maven_with_specific_version.sh b/test/java/install_gradle_and_maven_with_specific_version.sh deleted file mode 100644 index c6ae6160..0000000 --- a/test/java/install_gradle_and_maven_with_specific_version.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -# Optional: Import test library -source dev-container-features-test-lib - -check "user is root" grep root <(whoami) - -check "java" java --version -check "gradle version" grep "Gradle 6.8.3" <(gradle --version) - -cd /tmp && gradle init --type basic --dsl groovy --project-name test -check "GRADLE_USER_HOME exists" grep ".gradle" <(ls -la /root) - -check "maven version" grep "Apache Maven 3.6.3" <(mvn --version) -cd /tmp && mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false -check "m2 exists" grep ".m2" <(ls -la /root) - -# Report result -reportResults diff --git a/test/java/scenarios.json b/test/java/scenarios.json index 479ee47..11fb7ba 100644 --- a/test/java/scenarios.json +++ b/test/java/scenarios.json @@ -17,7 +17,7 @@ } } }, - "install_gradle_and_maven_for_user": { + "install_ant_and_gradle_and_maven_for_user": { "image": "ubuntu:focal", "remoteUser": "vscode", "features": { @@ -26,26 +26,30 @@ }, "java": { "version": "latest", + "installAnt": true, "installGradle": true, "installMaven": true } } }, - "install_gradle_and_maven": { + "install_ant_and_gradle_and_maven": { "image": "ubuntu:focal", "features": { "java": { "version": "latest", + "installAnt": true, "installGradle": true, "installMaven": true } } }, - "install_gradle_and_maven_with_specific_version": { + "install_ant_and_gradle_and_maven_with_specific_version": { "image": "ubuntu:focal", "features": { "java": { "version": "latest", + "installAnt": "true", + "antVersion": "1.10.12", "installGradle": "true", "gradleVersion": "6.8.3", "installMaven": "true", -- cgit v1.2.3