Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supported platforms update: #28

Merged
merged 1 commit into from Feb 17, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -22,7 +22,7 @@ You can also set three optional properties :

* The created 'package' with '-Dpackage=your.company.android'. By default it uses the given groupId.
* The Android emulator's name to use with '-Demulator=my-avd'. If none specified the property <emulator> will be ignored in the pom file.
* The targeted Android platform with '-Dplatform=7'. The Android SDK version will be automatically fetched to fit the corresponding API level. By default, it uses 7 (android 2.1).
* The targeted Android platform with '-Dplatform=7'. The Android SDK version will be automatically fetched to fit the corresponding API level. Available API Level are 3, 4, 7, 8, 9, 10 and 14. By default, it uses 10 (android 2.3.3).

Once generated, the application is ready to be built and deployed. Start an android emulator, or plug an Android dev phone,
and launch:
Expand All @@ -47,7 +47,7 @@ This archetype creates a multi-module project containing an android application
-Dpackage=com.foo.bar.android

The 'package' value is optional (by default use the groupId). You can also set the targeted Android platform with
'-Dplatform=x'. By default, it use 7 (android 2.1)
'-Dplatform=x'. By default, it uses 10 (android 2.3.3).

Once generated, the application is ready to be built and tested. Start an android emulator, or plug an Android dev phone,
and launch:
Expand All @@ -71,7 +71,7 @@ This archetype extends `android-with-test` with release management.
-Dpackage=com.foo.bar.android

The 'package' value is optional (by default use the groupId). You can also set the targeted Android platform with
'-Dplatform=x'. By default, it use 7 (android 2.1)
'-Dplatform=x'. By default, it uses 10 (android 2.3.3).

Once generated, the application is ready to be built and tested. Start an android emulator, or plug an Android dev phone,
and launch:
Expand Down
Expand Up @@ -71,12 +71,12 @@ public void testQuickStartDefault() throws VerificationException, IOException {


Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<platform>7</platform>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<platform>10</platform>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/AndroidManifest.xml"), "<activity android:name=\".HelloAndroidActivity\">");
Helper.assertContains(new File("target/it/quickstart-default/android-test/AndroidManifest.xml"), "package=\"android.archetypes.test\"");

// Check that the Eclipse file is created (default.properties)
Helper.assertContains(new File("target/it/quickstart-default/android-test/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/quickstart-default/android-test/default.properties"), "target=android-10");
}

/**
Expand Down Expand Up @@ -204,7 +204,7 @@ public void testQuickStartWithEmulator() throws VerificationException, IOExcepti
cli.add("-DarchetypeCatalog=local");
cli.add("-DarchetypeRepository=local");
cli.add("-Demulator=test");
cli.add("-Dandroid-plugin-version=3.0.0-alpha-2");
cli.add("-Dandroid-plugin-version=3.1.1");
verifier.executeGoal("org.apache.maven.plugins:maven-archetype-plugin:2.0:generate");


Expand All @@ -219,12 +219,12 @@ public void testQuickStartWithEmulator() throws VerificationException, IOExcepti


Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<platform>7</platform>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<platform>10</platform>");
Helper.assertContains(new File("target/it/quickstart-default/android-test/AndroidManifest.xml"), "<activity android:name=\".HelloAndroidActivity\">");
Helper.assertContains(new File("target/it/quickstart-default/android-test/AndroidManifest.xml"), "package=\"android.archetypes.test\"");

// Check that the Eclipse file is created (default.properties)
Helper.assertContains(new File("target/it/quickstart-default/android-test/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/quickstart-default/android-test/default.properties"), "target=android-10");

// Check the emulator part
Helper.assertContains(new File("target/it/quickstart-default/android-test/pom.xml"), "<avd>test</avd>");
Expand Down
Expand Up @@ -86,7 +86,7 @@ public void testWithTestDefault() throws VerificationException, IOException {
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"),"<artifactId>maven-enforcer-plugin</artifactId>");

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"), "<platform>7</platform>");
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"), "<platform>10</platform>");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "<activity android:name=\".HelloAndroidActivity\">");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "package=\"android.archetypes.test\"");

Expand All @@ -96,11 +96,11 @@ public void testWithTestDefault() throws VerificationException, IOException {

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/AndroidManifest.xml"), "<instrumentation android:targetPackage=\"android.archetypes.test\"");

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java"), "super(\"android.archetypes.test\", HelloAndroidActivity.class);");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java"), "super(HelloAndroidActivity.class);");

// Check that the Eclipse file is created (default.properties)
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/default.properties"), "target=android-10");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/default.properties"), "target=android-10");
}

/**
Expand Down Expand Up @@ -282,7 +282,7 @@ public void testWithTestWithEmulator() throws VerificationException, IOException
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"),"<artifactId>maven-enforcer-plugin</artifactId>");

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"), "<platform>7</platform>");
Helper.assertContains(new File("target/it/release-default/android-test/pom.xml"), "<platform>10</platform>");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "<activity android:name=\".HelloAndroidActivity\">");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "package=\"android.archetypes.test\"");

Expand All @@ -292,12 +292,69 @@ public void testWithTestWithEmulator() throws VerificationException, IOException

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/AndroidManifest.xml"), "<instrumentation android:targetPackage=\"android.archetypes.test\"");

Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java"), "super(\"android.archetypes.test\", HelloAndroidActivity.class);");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java"), "super(HelloAndroidActivity.class);");

// Check that the Eclipse file is created (default.properties)
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/default.properties"), "target=android-7");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "/default.properties"), "target=android-10");
Helper.assertContains(new File("target/it/release-default/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/default.properties"), "target=android-10");
}

/**
* Checks the release archetype with the <tt>platform</tt> parameter bellow 7 for correct constructor.
* @throws VerificationException
* @throws IOException
*/
@Test
public void testWithTestConstructorCorrectness() throws VerificationException, IOException {

File root = Helper.prepareDirectory("release-with-platform");

Verifier verifier = new Verifier( root.getAbsolutePath(), false );
verifier.setAutoclean(false);

verifier.displayStreamBuffers();

@SuppressWarnings("unchecked")
List<String> cli = verifier.getCliOptions();
cli.add("-DarchetypeArtifactId=android-release");
cli.add("-DarchetypeGroupId=de.akquinet.android.archetypes");
cli.add("-DarchetypeVersion=" + System.getProperty("archetype.version"));
cli.add("-DgroupId=" + Constants.TEST_GROUP_ID);
cli.add("-DartifactId=" + Constants.TEST_ARTIFACT_ID);
cli.add("-DinteractiveMode=false");
cli.add("-Dplatform=7");
cli.add("-DarchetypeCatalog=local");
cli.add("-DarchetypeRepository=local");

verifier.executeGoal("org.apache.maven.plugins:maven-archetype-plugin:2.0:generate");


// Check folder create.
verifier.assertFilePresent("android-test/" + Constants.TEST_ARTIFACT_ID);
verifier.assertFilePresent("android-test/" + Constants.TEST_ARTIFACT_ID + "-it");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/AndroidManifest.xml");
verifier.assertFilePresent("android-test/pom.xml");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/pom.xml");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/pom.xml");

verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/res/values/strings.xml");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/res/layout/main.xml");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/assets");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "/src/main/java/android/archetypes/test/HelloAndroidActivity.java");
verifier.assertFilePresent("android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java");


Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/release-with-platform/android-test/pom.xml"), "<platform>7</platform>");
Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "<activity android:name=\".HelloAndroidActivity\">");
Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "/AndroidManifest.xml"), "package=\"android.archetypes.test\"");

Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/pom.xml"), "<artifactId>android-maven-plugin</artifactId>");
Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/AndroidManifest.xml"), "<uses-library android:name=\"android.test.runner\" />");
Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/AndroidManifest.xml"), "<instrumentation android:targetPackage=\"android.archetypes.test\"");

Helper.assertContains(new File("target/it/release-with-platform/android-test/"+ Constants.TEST_ARTIFACT_ID + "-it/src/main/java/android/archetypes/test/test/HelloAndroidActivityTest.java"), "super(\"android.archetypes.test\", HelloAndroidActivity.class);");

}
}